Use concrete expression
This commit is contained in:
parent
41601e9307
commit
090ffa3869
1 changed files with 6 additions and 7 deletions
|
|
@ -148,14 +148,13 @@ else: # JS
|
||||||
proc ln*(x: float32): float32 {.importc: "Math.log", nodecl.}
|
proc ln*(x: float32): float32 {.importc: "Math.log", nodecl.}
|
||||||
proc ln*(x: float64): float64 {.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``
|
## Computes the logarithm ``base`` of ``x``
|
||||||
when B is float64 or X is float64:
|
ln(x) / ln(base)
|
||||||
var r: float64
|
proc log*(x: float64, base: float32): float64 =
|
||||||
else:
|
ln(x) / ln(base)
|
||||||
var r: float32
|
proc log*(x: float32, base: float64): float64 =
|
||||||
r = ln(x) / ln(base)
|
ln(x) / ln(base)
|
||||||
return r
|
|
||||||
|
|
||||||
when not defined(JS): # C
|
when not defined(JS): # C
|
||||||
proc log10*(x: float32): float32 {.importc: "log10f", header: "<math.h>".}
|
proc log10*(x: float32): float32 {.importc: "log10f", header: "<math.h>".}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue