diff options
author | Geoffrey Washburn <geoffrey.washburn@epfl.ch> | 2008-04-03 13:50:12 +0000 |
---|---|---|
committer | Geoffrey Washburn <geoffrey.washburn@epfl.ch> | 2008-04-03 13:50:12 +0000 |
commit | 70ac4996ae77082888f32d0a2b608a9e1d1bd5d7 (patch) | |
tree | 8a9ef66333bd389d6a4faabb6d424777c6bc83aa /src/library | |
parent | 1258a12712ca48907e70c4e870571eff30f4bfbb (diff) | |
download | scala-70ac4996ae77082888f32d0a2b608a9e1d1bd5d7.tar.gz scala-70ac4996ae77082888f32d0a2b608a9e1d1bd5d7.tar.bz2 scala-70ac4996ae77082888f32d0a2b608a9e1d1bd5d7.zip |
Added signum functions.
to be about as efficient as calling the ones that are provided by Java
1.5.
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/Math.scala | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/library/scala/Math.scala b/src/library/scala/Math.scala index c60f49cc8c..da1e3bd367 100644 --- a/src/library/scala/Math.scala +++ b/src/library/scala/Math.scala @@ -175,14 +175,25 @@ object Math { def min(x: Float, y: Float): Float = java.lang.Math.min(x, y) def min(x: Double, y: Double): Double = java.lang.Math.min(x, y) + def signum(x: Double): Double = x match { case 0 => 0 + case _ if x < 0 => -1.0 + case _ if x > 0 => 1.0 } + def signum(x: Float): Float = x match { case 0f => 0f + case _ if x < 0f => -1.0f + case _ if x > 0f => 1.0f } + def signum(x: Long): Long = x match { case 0l => 0l + case _ if x < 0l => -1l + case _ if x > 0l => 1l } + def signum(x: Int): Int = x match { case 0 => 0 + case _ if x < 0 => -1 + case _ if x > 0 => 1} + // from Java 1.5 // def log10(x: Double): Double = java.lang.Math.log10(x) // def cbrt(x: Double): Double = java.lang.Math.cbrt(x) // def ulp(x: Double): Double = java.lang.Math.ulp(x) // def ulp(x: Float): Float = java.lang.Math.ulp(x) -// def signum(x: Double): Double = java.lang.Math.signum(x) -// def signum(x: Float): Float = java.lang.Math.signum(x) // def sinh(x: Double): Double = java.lang.Math.sinh(x) // def cosh(x: Double): Double = java.lang.Math.cosh(x) // def tanh(x: Double):Double = java.lang.Math.tanh(x) |