mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-28 02:03:59 +00:00
rename SomeReal to SomeFloat (#7617)
* rename SomeReal to SomeFloat * added changelog entry
This commit is contained in:
committed by
Andreas Rumpf
parent
b98cd3bf34
commit
efae366857
@@ -30,15 +30,15 @@ proc asinh*(m: MathLib, a: SomeNumber): float
|
||||
proc atan*(m: MathLib, a: SomeNumber): float
|
||||
proc atan2*(m: MathLib, a: SomeNumber): float
|
||||
proc atanh*(m: MathLib, a: SomeNumber): float
|
||||
proc cbrt*(m: MathLib, f: SomeReal): SomeReal
|
||||
proc ceil*(m: MathLib, f: SomeReal): SomeReal
|
||||
proc cbrt*(m: MathLib, f: SomeFloat): SomeFloat
|
||||
proc ceil*(m: MathLib, f: SomeFloat): SomeFloat
|
||||
proc clz32*(m: MathLib, f: SomeInteger): int
|
||||
proc cos*(m: MathLib, a: SomeNumber): float
|
||||
proc cosh*(m: MathLib, a: SomeNumber): float
|
||||
proc exp*(m: MathLib, a: SomeNumber): float
|
||||
proc expm1*(m: MathLib, a: SomeNumber): float
|
||||
proc floor*(m: MathLib, f: SomeReal): int
|
||||
proc fround*(m: MathLib, f: SomeReal): float32
|
||||
proc floor*(m: MathLib, f: SomeFloat): int
|
||||
proc fround*(m: MathLib, f: SomeFloat): float32
|
||||
proc hypot*(m: MathLib, args: varargs[distinct SomeNumber]): float
|
||||
proc imul*(m: MathLib, a, b: int32): int32
|
||||
proc log*(m: MathLib, a: SomeNumber): float
|
||||
@@ -49,14 +49,14 @@ proc max*(m: MathLib, a, b: SomeNumber): SomeNumber
|
||||
proc min*[T: SomeNumber | JsRoot](m: MathLib, a, b: T): T
|
||||
proc pow*(m: MathLib, a, b: distinct SomeNumber): float
|
||||
proc random*(m: MathLib): float
|
||||
proc round*(m: MathLib, f: SomeReal): int
|
||||
proc round*(m: MathLib, f: SomeFloat): int
|
||||
proc sign*(m: MathLib, f: SomeNumber): int
|
||||
proc sin*(m: MathLib, a: SomeNumber): float
|
||||
proc sinh*(m: MathLib, a: SomeNumber): float
|
||||
proc sqrt*(m: MathLib, f: SomeReal): SomeReal
|
||||
proc sqrt*(m: MathLib, f: SomeFloat): SomeFloat
|
||||
proc tan*(m: MathLib, a: SomeNumber): float
|
||||
proc tanh*(m: MathLib, a: SomeNumber): float
|
||||
proc trunc*(m: MathLib, f: SomeReal): int
|
||||
proc trunc*(m: MathLib, f: SomeFloat): int
|
||||
|
||||
# Date library
|
||||
proc now*(d: DateLib): int
|
||||
|
||||
@@ -26,33 +26,33 @@
|
||||
|
||||
import typetraits
|
||||
|
||||
proc `+`*[I: SomeInteger, F: SomeReal](i: I, f: F): F {.noSideEffect, inline.} =
|
||||
proc `+`*[I: SomeInteger, F: SomeFloat](i: I, f: F): F {.noSideEffect, inline.} =
|
||||
F(i) + f
|
||||
proc `+`*[I: SomeInteger, F: SomeReal](f: F, i: I): F {.noSideEffect, inline.} =
|
||||
proc `+`*[I: SomeInteger, F: SomeFloat](f: F, i: I): F {.noSideEffect, inline.} =
|
||||
f + F(i)
|
||||
|
||||
proc `-`*[I: SomeInteger, F: SomeReal](i: I, f: F): F {.noSideEffect, inline.} =
|
||||
proc `-`*[I: SomeInteger, F: SomeFloat](i: I, f: F): F {.noSideEffect, inline.} =
|
||||
F(i) - f
|
||||
proc `-`*[I: SomeInteger, F: SomeReal](f: F, i: I): F {.noSideEffect, inline.} =
|
||||
proc `-`*[I: SomeInteger, F: SomeFloat](f: F, i: I): F {.noSideEffect, inline.} =
|
||||
f - F(i)
|
||||
|
||||
proc `*`*[I: SomeInteger, F: SomeReal](i: I, f: F): F {.noSideEffect, inline.} =
|
||||
proc `*`*[I: SomeInteger, F: SomeFloat](i: I, f: F): F {.noSideEffect, inline.} =
|
||||
F(i) * f
|
||||
proc `*`*[I: SomeInteger, F: SomeReal](f: F, i: I): F {.noSideEffect, inline.} =
|
||||
proc `*`*[I: SomeInteger, F: SomeFloat](f: F, i: I): F {.noSideEffect, inline.} =
|
||||
f * F(i)
|
||||
|
||||
proc `/`*[I: SomeInteger, F: SomeReal](i: I, f: F): F {.noSideEffect, inline.} =
|
||||
proc `/`*[I: SomeInteger, F: SomeFloat](i: I, f: F): F {.noSideEffect, inline.} =
|
||||
F(i) / f
|
||||
proc `/`*[I: SomeInteger, F: SomeReal](f: F, i: I): F {.noSideEffect, inline.} =
|
||||
proc `/`*[I: SomeInteger, F: SomeFloat](f: F, i: I): F {.noSideEffect, inline.} =
|
||||
f / F(i)
|
||||
|
||||
proc `<`*[I: SomeInteger, F: SomeReal](i: I, f: F): bool {.noSideEffect, inline.} =
|
||||
proc `<`*[I: SomeInteger, F: SomeFloat](i: I, f: F): bool {.noSideEffect, inline.} =
|
||||
F(i) < f
|
||||
proc `<`*[I: SomeInteger, F: SomeReal](f: F, i: I): bool {.noSideEffect, inline.} =
|
||||
proc `<`*[I: SomeInteger, F: SomeFloat](f: F, i: I): bool {.noSideEffect, inline.} =
|
||||
f < F(i)
|
||||
proc `<=`*[I: SomeInteger, F: SomeReal](i: I, f: F): bool {.noSideEffect, inline.} =
|
||||
proc `<=`*[I: SomeInteger, F: SomeFloat](i: I, f: F): bool {.noSideEffect, inline.} =
|
||||
F(i) <= f
|
||||
proc `<=`*[I: SomeInteger, F: SomeReal](f: F, i: I): bool {.noSideEffect, inline.} =
|
||||
proc `<=`*[I: SomeInteger, F: SomeFloat](f: F, i: I): bool {.noSideEffect, inline.} =
|
||||
f <= F(i)
|
||||
|
||||
# Note that we must not defined `>=` and `>`, because system.nim already has a
|
||||
|
||||
@@ -375,7 +375,7 @@ type
|
||||
## ``parseStandardFormatSpecifier`` returned.
|
||||
|
||||
proc formatInt(n: SomeNumber; radix: int; spec: StandardFormatSpecifier): string =
|
||||
## Converts ``n`` to string. If ``n`` is `SomeReal`, it casts to `int64`.
|
||||
## Converts ``n`` to string. If ``n`` is `SomeFloat`, it casts to `int64`.
|
||||
## Conversion is done using ``radix``. If result's length is lesser than
|
||||
## ``minimumWidth``, it aligns result to the right or left (depending on ``a``)
|
||||
## with ``fill`` char.
|
||||
@@ -503,8 +503,8 @@ proc format*(value: SomeInteger; specifier: string; res: var string) =
|
||||
" of 'x', 'X', 'b', 'd', 'o' but got: " & spec.typ)
|
||||
res.add formatInt(value, radix, spec)
|
||||
|
||||
proc format*(value: SomeReal; specifier: string; res: var string) =
|
||||
## Standard format implementation for ``SomeReal``. It makes little
|
||||
proc format*(value: SomeFloat; specifier: string; res: var string) =
|
||||
## Standard format implementation for ``SomeFloat``. It makes little
|
||||
## sense to call this directly, but it is required to exist
|
||||
## by the ``&`` macro.
|
||||
let spec = parseStandardFormatSpecifier(specifier)
|
||||
@@ -678,4 +678,4 @@ when isMainModule:
|
||||
|
||||
doAssert fmt"{'a'} {'b'}" == "a b"
|
||||
|
||||
echo("All tests ok")
|
||||
echo("All tests ok")
|
||||
|
||||
@@ -105,12 +105,14 @@ type
|
||||
## type class matching all ordinal types; however this includes enums with
|
||||
## holes.
|
||||
|
||||
SomeReal* = float|float32|float64
|
||||
SomeFloat* = float|float32|float64
|
||||
## type class matching all floating point number types
|
||||
|
||||
SomeNumber* = SomeInteger|SomeReal
|
||||
SomeNumber* = SomeInteger|SomeFloat
|
||||
## type class matching all number types
|
||||
|
||||
{.deprecated: [SomeReal: SomeFloat].}
|
||||
|
||||
proc defined*(x: untyped): bool {.magic: "Defined", noSideEffect, compileTime.}
|
||||
## Special compile-time procedure that checks whether `x` is
|
||||
## defined.
|
||||
@@ -128,7 +130,7 @@ when defined(nimalias):
|
||||
TSignedInt: SomeSignedInt,
|
||||
TUnsignedInt: SomeUnsignedInt,
|
||||
TInteger: SomeInteger,
|
||||
TReal: SomeReal,
|
||||
TReal: SomeFloat,
|
||||
TNumber: SomeNumber,
|
||||
TOrdinal: SomeOrdinal].}
|
||||
|
||||
@@ -2171,8 +2173,8 @@ proc max*[T](x, y: T): T =
|
||||
if y <= x: x else: y
|
||||
{.pop.}
|
||||
|
||||
proc high*(T: typedesc[SomeReal]): T = Inf
|
||||
proc low*(T: typedesc[SomeReal]): T = NegInf
|
||||
proc high*(T: typedesc[SomeFloat]): T = Inf
|
||||
proc low*(T: typedesc[SomeFloat]): T = NegInf
|
||||
|
||||
proc clamp*[T](x, a, b: T): T =
|
||||
## limits the value ``x`` within the interval [a, b]
|
||||
|
||||
Reference in New Issue
Block a user