tur/r7rs/numsyntax
the R7RS number syntax behind string->number and read.
GENERATED by tools/gen-r7rs-inc.py -- do not edit; regenerate. The C below is src/compiler/r7rs_numsyntax.inc, which the source reader and the interpreter #include (the interpreter registers natives over the wrappers), so all three read a number the same way. It calls the bignum core of stdlib/r7rs/bignum.tur, which the prelude loads first.
Since: r7rs-lang-plan T0
r7rs-numsyn-kind__
(r7rs-numsyn-kind__ [s :cstr radix :int] :int)
internal: what s reads as in radix (a prefix overrides it): 0 not a number, 1 an exact integer, 2 an inexact real, 3 refused (r7rs-numsyn-why__ says why), 4 an exact integer outside int64, 5 an exact non-integer and 6 a non-real complex number (T6) (r7rs-numsyn-big__ spells them).
r7rs-numsyn-int__
(r7rs-numsyn-int__ [s :cstr radix :int] :int)
internal: the exact integer s reads as (kind 1).
r7rs-numsyn-float__
(r7rs-numsyn-float__ [s :cstr radix :int] :float)
internal: the inexact real s reads as (kind 2).
r7rs-numsyn-why__
(r7rs-numsyn-why__ [s :cstr radix :int] :cstr)
internal: why s is refused (kind 3), else "".
r7rs-numsyn-big__
(r7rs-numsyn-big__ [s :cstr radix :int] :cstr)
internal: the spelling of the bignum (kind 4), the "n/d" of the ratio (kind 5) or the "<re> <im>" of the complex number (kind 6) s reads as, else "".
r7rs-numsyn-part__
(r7rs-numsyn-part__ [s :cstr which :int] :cstr)
internal (T6): part which (0 real, 1 imaginary) of a "<re> <im>" complex spelling.