diff options
author | Koki Fushimi <paalon1936@gmail.com> | 2018-06-05 02:32:39 +0900 |
---|---|---|
committer | Koki Fushimi <paalon1936@gmail.com> | 2018-06-05 02:32:39 +0900 |
commit | 090ffa386961459d529c2561d3e196be6df83c50 (patch) | |
tree | 22fff12372819ba81daefd278c8fa6417abc41ad | |
parent | 41601e93074c1ff657b5e696f9d5e73e57ac660c (diff) | |
download | Nim-090ffa386961459d529c2561d3e196be6df83c50.tar.gz |
Use concrete expression
-rw-r--r-- | lib/pure/math.nim | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/pure/math.nim b/lib/pure/math.nim index 9fe24e358..95a0a345c 100644 --- a/lib/pure/math.nim +++ b/lib/pure/math.nim @@ -148,14 +148,13 @@ else: # JS proc ln*(x: float32): float32 {.importc: "Math.log", nodecl.} proc ln*(x: float64): float64 {.importc: "Math.log", nodecl.} -proc log*[X, B: SomeFloat](x: X, base: B): auto = +proc log*[T: SomeFloat](x, base: T): T = ## Computes the logarithm ``base`` of ``x`` - when B is float64 or X is float64: - var r: float64 - else: - var r: float32 - r = ln(x) / ln(base) - return r + ln(x) / ln(base) +proc log*(x: float64, base: float32): float64 = + ln(x) / ln(base) +proc log*(x: float32, base: float64): float64 = + ln(x) / ln(base) when not defined(JS): # C proc log10*(x: float32): float32 {.importc: "log10f", header: "<math.h>".} |