bring numerics (real, rational, etc) in line with R6RS
svn: r8832
This commit is contained in:
parent
11e9f0f2c1
commit
3e77d0b60f
|
@ -8,7 +8,7 @@ FIXME:
|
||||||
|
|
||||||
(require (for-syntax scheme/base
|
(require (for-syntax scheme/base
|
||||||
syntax/kerncase
|
syntax/kerncase
|
||||||
"private/find-version.ss"
|
(prefix-in parse: "private/parse-ref.ss")
|
||||||
scheme/provide-transform))
|
scheme/provide-transform))
|
||||||
|
|
||||||
(provide (rename-out [module-begin #%module-begin]))
|
(provide (rename-out [module-begin #%module-begin]))
|
||||||
|
@ -169,83 +169,18 @@ FIXME:
|
||||||
;; ----------------------------------------
|
;; ----------------------------------------
|
||||||
;; Imports and exports
|
;; Imports and exports
|
||||||
|
|
||||||
(define-for-syntax (is-sub-version-reference? stx)
|
|
||||||
(syntax-case* stx (<= >= and or not) symbolic-identifier=?
|
|
||||||
[n (exact-nonnegative-integer? (syntax-e #'n)) #t]
|
|
||||||
[(>= n) (exact-nonnegative-integer? (syntax-e #'n))]
|
|
||||||
[(<= n) (exact-nonnegative-integer? (syntax-e #'n))]
|
|
||||||
[(and sv ...) (andmap is-sub-version-reference? (syntax->list #'(sv ...)))]
|
|
||||||
[(or sv ...) (andmap is-sub-version-reference? (syntax->list #'(sv ...)))]
|
|
||||||
[(not sv) (is-sub-version-reference? #'sv)]
|
|
||||||
[_ #f]))
|
|
||||||
|
|
||||||
(define-for-syntax (is-version-reference? stx)
|
|
||||||
(syntax-case* stx (and or not) symbolic-identifier=?
|
|
||||||
[(and vr ...)
|
|
||||||
(andmap is-version-reference? (syntax->list #'(vr ...)))]
|
|
||||||
[(or vr ...)
|
|
||||||
(andmap is-version-reference? (syntax->list #'(vr ...)))]
|
|
||||||
[(not vr)
|
|
||||||
(is-version-reference? #'vr)]
|
|
||||||
[(sv ...)
|
|
||||||
(andmap is-sub-version-reference? (syntax->list #'(sv ...)))]
|
|
||||||
[_ #f]))
|
|
||||||
|
|
||||||
(define-for-syntax (parse-library-reference orig stx)
|
(define-for-syntax (parse-library-reference orig stx)
|
||||||
(syntax-case stx ()
|
(datum->syntax
|
||||||
[(id1 id2 ... (vers ...))
|
orig
|
||||||
(and (identifier? #'id1)
|
`(,#'lib
|
||||||
(andmap identifier? (syntax->list #'(id2 ...)))
|
,(parse:parse-library-reference stx
|
||||||
(is-version-reference? #'(vers ...)))
|
(lambda (msg)
|
||||||
(let-values ([(coll file)
|
(raise-syntax-error
|
||||||
(let ([strs (map (lambda (id)
|
#f
|
||||||
(symbol->string (syntax-e id)))
|
msg
|
||||||
(syntax->list #'(id1 id2 ...)))])
|
orig
|
||||||
(if (= 1 (length strs))
|
stx))))
|
||||||
(values (list (car strs)) "main")
|
orig))
|
||||||
(values (reverse (cdr (reverse strs)))
|
|
||||||
(car (reverse strs)))))])
|
|
||||||
(let ([base (build-path (with-handlers ([exn:fail?
|
|
||||||
(lambda (exn)
|
|
||||||
(raise-syntax-error
|
|
||||||
#f
|
|
||||||
(format
|
|
||||||
"cannot find suitable library installed (exception: ~a)"
|
|
||||||
(if (exn? exn)
|
|
||||||
(exn-message exn)
|
|
||||||
exn))
|
|
||||||
orig
|
|
||||||
stx))])
|
|
||||||
(apply collection-path coll))
|
|
||||||
file)])
|
|
||||||
(let ([vers (find-version (path->bytes base) (syntax->datum #'(vers ...)))])
|
|
||||||
(if vers
|
|
||||||
(datum->syntax
|
|
||||||
orig
|
|
||||||
`(,#'lib ,(apply string-append
|
|
||||||
(car coll)
|
|
||||||
(append
|
|
||||||
(map (lambda (s)
|
|
||||||
(string-append "/" s))
|
|
||||||
(append (cdr coll) (list file)))
|
|
||||||
(map (lambda (v)
|
|
||||||
(format "-~a" v))
|
|
||||||
vers)
|
|
||||||
(list ".ss")))))
|
|
||||||
(raise-syntax-error
|
|
||||||
#f
|
|
||||||
"cannot find suitable installed library"
|
|
||||||
orig
|
|
||||||
stx)))))]
|
|
||||||
[(id1 id2 ...)
|
|
||||||
(and (identifier? #'id1)
|
|
||||||
(andmap identifier? (syntax->list #'(id2 ...))))
|
|
||||||
(parse-library-reference orig #'(id1 id2 ... ()))]
|
|
||||||
[_
|
|
||||||
(raise-syntax-error #f
|
|
||||||
"ill-formed library reference"
|
|
||||||
orig
|
|
||||||
stx)]))
|
|
||||||
|
|
||||||
(define-for-syntax (parse-import-set orig stx)
|
(define-for-syntax (parse-import-set orig stx)
|
||||||
(define (bad)
|
(define (bad)
|
||||||
|
|
74
collects/r6rs/private/parse-ref.ss
Normal file
74
collects/r6rs/private/parse-ref.ss
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
#lang scheme/base
|
||||||
|
|
||||||
|
(require "find-version.ss")
|
||||||
|
|
||||||
|
(provide parse-library-reference)
|
||||||
|
|
||||||
|
(define (symbolic-identifier=? a b)
|
||||||
|
(eq? (syntax-e a) (syntax-e b)))
|
||||||
|
|
||||||
|
(define (is-sub-version-reference? stx)
|
||||||
|
(syntax-case* stx (<= >= and or not) symbolic-identifier=?
|
||||||
|
[n (exact-nonnegative-integer? (syntax-e #'n)) #t]
|
||||||
|
[(>= n) (exact-nonnegative-integer? (syntax-e #'n))]
|
||||||
|
[(<= n) (exact-nonnegative-integer? (syntax-e #'n))]
|
||||||
|
[(and sv ...) (andmap is-sub-version-reference? (syntax->list #'(sv ...)))]
|
||||||
|
[(or sv ...) (andmap is-sub-version-reference? (syntax->list #'(sv ...)))]
|
||||||
|
[(not sv) (is-sub-version-reference? #'sv)]
|
||||||
|
[_ #f]))
|
||||||
|
|
||||||
|
(define (is-version-reference? stx)
|
||||||
|
(syntax-case* stx (and or not) symbolic-identifier=?
|
||||||
|
[(and vr ...)
|
||||||
|
(andmap is-version-reference? (syntax->list #'(vr ...)))]
|
||||||
|
[(or vr ...)
|
||||||
|
(andmap is-version-reference? (syntax->list #'(vr ...)))]
|
||||||
|
[(not vr)
|
||||||
|
(is-version-reference? #'vr)]
|
||||||
|
[(sv ...)
|
||||||
|
(andmap is-sub-version-reference? (syntax->list #'(sv ...)))]
|
||||||
|
[_ #f]))
|
||||||
|
|
||||||
|
(define (parse-library-reference stx err)
|
||||||
|
(syntax-case stx ()
|
||||||
|
[(id1 id2 ... (vers ...))
|
||||||
|
(and (identifier? #'id1)
|
||||||
|
(andmap identifier? (syntax->list #'(id2 ...)))
|
||||||
|
(is-version-reference? #'(vers ...)))
|
||||||
|
(let-values ([(coll file)
|
||||||
|
(let ([strs (map (lambda (id)
|
||||||
|
(symbol->string (syntax-e id)))
|
||||||
|
(syntax->list #'(id1 id2 ...)))])
|
||||||
|
(if (= 1 (length strs))
|
||||||
|
(values (list (car strs)) "main")
|
||||||
|
(values (reverse (cdr (reverse strs)))
|
||||||
|
(car (reverse strs)))))])
|
||||||
|
(let ([base (build-path (with-handlers ([exn:fail?
|
||||||
|
(lambda (exn)
|
||||||
|
(err
|
||||||
|
(format
|
||||||
|
"cannot find suitable library installed (exception: ~a)"
|
||||||
|
(if (exn? exn)
|
||||||
|
(exn-message exn)
|
||||||
|
exn))))])
|
||||||
|
(apply collection-path coll))
|
||||||
|
file)])
|
||||||
|
(let ([vers (find-version (path->bytes base) (syntax->datum #'(vers ...)))])
|
||||||
|
(if vers
|
||||||
|
(apply string-append
|
||||||
|
(car coll)
|
||||||
|
(append
|
||||||
|
(map (lambda (s)
|
||||||
|
(string-append "/" s))
|
||||||
|
(append (cdr coll) (list file)))
|
||||||
|
(map (lambda (v)
|
||||||
|
(format "-~a" v))
|
||||||
|
vers)
|
||||||
|
(list ".ss")))
|
||||||
|
(err "cannot find suitable installed library")))))]
|
||||||
|
[(id1 id2 ...)
|
||||||
|
(and (identifier? #'id1)
|
||||||
|
(andmap identifier? (syntax->list #'(id2 ...))))
|
||||||
|
(parse-library-reference #'(id1 id2 ... ()) err)]
|
||||||
|
[_
|
||||||
|
(err "ill-formed library reference")]))
|
|
@ -13,20 +13,11 @@
|
||||||
greatest-fixnum)
|
greatest-fixnum)
|
||||||
;; Many other provides from macros below
|
;; Many other provides from macros below
|
||||||
|
|
||||||
(define (fixnum-width) 30)
|
(define 64-bit? (fixnum? (expt 2 33)))
|
||||||
(define (least-fixnum) -1073741824)
|
|
||||||
(define (greatest-fixnum) +1073741824)
|
|
||||||
|
|
||||||
(define (r6rs:fixnum? v)
|
(define (fixnum-width) (if 64-bit? 62 30))
|
||||||
(and (exact-integer? v)
|
(define (least-fixnum) (if 64-bit? (- (expt 2 62)) -1073741824))
|
||||||
(<= -1073741824 v 1073741823)))
|
(define (greatest-fixnum) (if 64-bit? (- (expt 2 62) 1) +1073741823))
|
||||||
|
|
||||||
(define-syntax fixnum?
|
|
||||||
(inline-rules
|
|
||||||
r6rs:fixnum?
|
|
||||||
[(_ a) (let ([v a])
|
|
||||||
(and (exact-integer? v)
|
|
||||||
(<= -1073741824 v 1073741823)))]))
|
|
||||||
|
|
||||||
(define-syntax-rule (check v alt)
|
(define-syntax-rule (check v alt)
|
||||||
(if (fixnum? v)
|
(if (fixnum? v)
|
||||||
|
|
|
@ -11,23 +11,14 @@
|
||||||
r6rs/private/num-inline
|
r6rs/private/num-inline
|
||||||
(for-syntax r6rs/private/inline-rules))
|
(for-syntax r6rs/private/inline-rules))
|
||||||
|
|
||||||
(provide flonum?
|
(provide (rename-out [inexact-real? flonum?])
|
||||||
real->flonum
|
real->flonum
|
||||||
&no-infinities make-no-infinities-violation no-infinities-violation?
|
&no-infinities make-no-infinities-violation no-infinities-violation?
|
||||||
&no-nans make-no-nans-violation no-nans-violation?
|
&no-nans make-no-nans-violation no-nans-violation?
|
||||||
fixnum->flonum)
|
fixnum->flonum)
|
||||||
;; More provided via macros
|
;; More provided via macros
|
||||||
|
|
||||||
(define (r6rs:flonum? v)
|
(define-inliner define-fl inexact-real? "flonum")
|
||||||
(and (real? v) (inexact? v)))
|
|
||||||
|
|
||||||
(define-syntax flonum?
|
|
||||||
(inline-rules
|
|
||||||
r6rs:flonum?
|
|
||||||
[(_ a) (let ([v a])
|
|
||||||
(and (real? v) (inexact? v)))]))
|
|
||||||
|
|
||||||
(define-inliner define-fl flonum? "flonum")
|
|
||||||
|
|
||||||
(define-fl = fl=? (a b c ...) nocheck)
|
(define-fl = fl=? (a b c ...) nocheck)
|
||||||
(define-fl > fl>? (a b c ...) nocheck)
|
(define-fl > fl>? (a b c ...) nocheck)
|
||||||
|
|
|
@ -46,13 +46,8 @@
|
||||||
procedure?
|
procedure?
|
||||||
|
|
||||||
;; 11.7.4
|
;; 11.7.4
|
||||||
number? complex?
|
number? complex? real? rational? integer?
|
||||||
(rename-out [r6rs:real? real?]
|
real-valued? rational-valued? integer-valued?
|
||||||
[r6rs:rational? rational?]
|
|
||||||
[r6rs:integer? integer?]
|
|
||||||
[real? real-valued?]
|
|
||||||
[rational? rational-valued?]
|
|
||||||
[integer? integer-valued?])
|
|
||||||
exact? inexact?
|
exact? inexact?
|
||||||
(rename-out [inexact->exact exact]
|
(rename-out [inexact->exact exact]
|
||||||
[exact->inexact inexact])
|
[exact->inexact inexact])
|
||||||
|
@ -177,24 +172,27 @@
|
||||||
|
|
||||||
;; ----------------------------------------
|
;; ----------------------------------------
|
||||||
|
|
||||||
(define (r6rs:real? n)
|
(define (real-valued? o)
|
||||||
(and (real? n)
|
(or (real? o)
|
||||||
(exact? (imag-part n))))
|
(and (complex? o)
|
||||||
|
(zero? (imag-part o)))))
|
||||||
|
|
||||||
(define (r6rs:rational? n)
|
(define (rational-valued? o)
|
||||||
(and (rational? n)
|
(or (rational? o)
|
||||||
(r6rs:real? n)
|
(and (complex? o)
|
||||||
(not (and (inexact? n)
|
(zero? (imag-part o))
|
||||||
(or (eqv? n +inf.0)
|
(rational? (real-part o)))))
|
||||||
(eqv? n -inf.0)
|
|
||||||
(eqv? n +nan.0))))))
|
|
||||||
|
|
||||||
(define (r6rs:integer? n)
|
(define (integer-valued? o)
|
||||||
(and (integer? n)
|
(or (integer? o)
|
||||||
(r6rs:rational? n)))
|
(and (complex? o)
|
||||||
|
(zero? (imag-part o))
|
||||||
|
(integer? (real-part o)))))
|
||||||
|
|
||||||
(define (finite? n)
|
(define (finite? n)
|
||||||
(r6rs:real? n))
|
(not (or (eqv? n +inf.0)
|
||||||
|
(eqv? n -inf.0)
|
||||||
|
(eqv? n +nan.0))))
|
||||||
|
|
||||||
(define (infinite? n)
|
(define (infinite? n)
|
||||||
(or (eqv? n +inf.0)
|
(or (eqv? n +inf.0)
|
||||||
|
|
27
collects/rnrs/eval-6.ss
Normal file
27
collects/rnrs/eval-6.ss
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#lang scheme/base
|
||||||
|
|
||||||
|
(require (only-in r6rs)
|
||||||
|
r6rs/private/parse-ref)
|
||||||
|
|
||||||
|
(provide (rename-out [r6rs:eval eval])
|
||||||
|
environment)
|
||||||
|
|
||||||
|
(define-namespace-anchor anchor)
|
||||||
|
|
||||||
|
(define (r6rs:eval expr env)
|
||||||
|
(eval #`(#%expression #,expr) env))
|
||||||
|
|
||||||
|
(define (environment . specs)
|
||||||
|
(let ([mod-paths
|
||||||
|
(map (lambda (spec)
|
||||||
|
`(lib ,(parse-library-reference
|
||||||
|
spec
|
||||||
|
(lambda (msg)
|
||||||
|
(error 'environment "~a: ~e" msg spec)))))
|
||||||
|
specs)])
|
||||||
|
(let ([ns (namespace-anchor->empty-namespace anchor)])
|
||||||
|
;; Make sure all modules are instantiated here:
|
||||||
|
(parameterize ([current-namespace ns])
|
||||||
|
(for-each namespace-require mod-paths))
|
||||||
|
ns)))
|
||||||
|
|
|
@ -11,9 +11,12 @@
|
||||||
|
|
||||||
All numbers are @deftech{complex numbers}. Some of them are
|
All numbers are @deftech{complex numbers}. Some of them are
|
||||||
@deftech{real numbers}, and all of the real numbers that can be
|
@deftech{real numbers}, and all of the real numbers that can be
|
||||||
represented are also @deftech{rational numbers}. Among the real
|
represented are also @deftech{rational numbers}, except for
|
||||||
numbers, some are @deftech{integers}, because @scheme[round] applied
|
@as-index{@scheme[+inf.0]} (positive @as-index{infinity}),
|
||||||
to the number produces the same number.
|
@as-index{@scheme[-inf.0]} (negative infinity), and
|
||||||
|
@as-index{@scheme[+nan.0]} (@as-index{not-a-number}). Among the
|
||||||
|
rational numbers, some are @deftech{integers}, because @scheme[round]
|
||||||
|
applied to the number produces the same number.
|
||||||
|
|
||||||
Orthogonal to those categories, each number is also either an
|
Orthogonal to those categories, each number is also either an
|
||||||
@deftech{exact number} or an @deftech{inexact number}. Unless
|
@deftech{exact number} or an @deftech{inexact number}. Unless
|
||||||
|
@ -26,8 +29,8 @@ produce inexact results even for exact arguments.
|
||||||
|
|
||||||
In the case of complex numbers, either the real and imaginary parts
|
In the case of complex numbers, either the real and imaginary parts
|
||||||
are both exact or inexact, or the number has an exact zero real part
|
are both exact or inexact, or the number has an exact zero real part
|
||||||
and an inexact imaginary part; a complex number with an zero imaginary
|
and an inexact imaginary part; a complex number with an exact zero
|
||||||
part (inexact or exact) is a real number.
|
imaginary part is a real number.
|
||||||
|
|
||||||
Inexact real numbers are implemented as either single- or
|
Inexact real numbers are implemented as either single- or
|
||||||
double-precision @as-index{IEEE floating-point numbers}---the latter
|
double-precision @as-index{IEEE floating-point numbers}---the latter
|
||||||
|
@ -42,13 +45,11 @@ numbers). In particular, adding, multiplying, subtracting, and
|
||||||
dividing exact numbers always produces an extract result.
|
dividing exact numbers always produces an extract result.
|
||||||
|
|
||||||
Inexact numbers can be coerced to exact form, except for the inexact
|
Inexact numbers can be coerced to exact form, except for the inexact
|
||||||
numbers @as-index{@scheme[+inf.0]} (positive @as-index{infinity}),
|
numbers @scheme[+inf.0], @scheme[-inf.0], and @scheme[+nan.0], which
|
||||||
@as-index{@scheme[-inf.0]} (negative infinity), and
|
have no exact form. @index["division by inexact zero"]{Dividing} a
|
||||||
@as-index{@scheme[+nan.0]} (@as-index{not-a-number}), which have no
|
number by exact zero raises an exception; dividing a non-zero number
|
||||||
exact form. @index["division by inexact zero"]{Dividing} a number by
|
other than @scheme[+nan.0] by an inexact zero returns @scheme[+inf.0]
|
||||||
exact zero raises an exception; dividing a non-zero number other than
|
or @scheme[-inf.0], depending on the sign of the dividend. The
|
||||||
@scheme[+nan.0] by an inexact zero returns @scheme[+inf.0] or
|
|
||||||
@scheme[-inf.0], depending on the sign of the dividend. The
|
|
||||||
infinities @scheme[+inf.0] and @scheme[-inf.0] are integers, and they
|
infinities @scheme[+inf.0] and @scheme[-inf.0] are integers, and they
|
||||||
answer @scheme[#t] for both @scheme[even?] and @scheme[odd?]. The
|
answer @scheme[#t] for both @scheme[even?] and @scheme[odd?]. The
|
||||||
@scheme[+nan.0] value is not an integer and is not @scheme[=] to
|
@scheme[+nan.0] value is not an integer and is not @scheme[=] to
|
||||||
|
@ -84,26 +85,27 @@ noted above). Two numbers are @scheme[equal?] when they are
|
||||||
|
|
||||||
|
|
||||||
@defproc[(complex? [v any/c]) boolean?]{ Returns @scheme[(number? #,
|
@defproc[(complex? [v any/c]) boolean?]{ Returns @scheme[(number? #,
|
||||||
@scheme[v])], because all numbers are complex numbers.}
|
@scheme[v])], because all numbers are @tech{complex numbers}.}
|
||||||
|
|
||||||
|
|
||||||
@defproc[(real? [v any/c]) boolean?]{ Returns @scheme[#t] if @scheme[v] is
|
@defproc[(real? [v any/c]) boolean?]{ Returns @scheme[#t] if @scheme[v] is
|
||||||
a real number, @scheme[#f] otherwise. A number with an inexact zero
|
a @techlink{real number}, @scheme[#f] otherwise.
|
||||||
imaginary part is a real number.
|
|
||||||
|
|
||||||
@examples[(real? 1) (real? 2+3i) (real? "hello")]}
|
@examples[(real? 1) (real? +inf.0) (real? 2+3i)
|
||||||
|
(real? 2+0.0i) (real? "hello")]}
|
||||||
|
|
||||||
|
|
||||||
@defproc[(rational? [v any/c]) boolean?]{ Returns @scheme[(real? #,
|
@defproc[(rational? [v any/c]) boolean?]{ Returns @scheme[#t] if
|
||||||
@scheme[v])].}
|
@scheme[v] is a @techlink{rational number}, @scheme[#f] otherwise.
|
||||||
|
|
||||||
|
@examples[(rational? 1) (rational? +inf.0) (real? "hello")]}
|
||||||
|
|
||||||
|
|
||||||
@defproc[(integer? [v any/c]) boolean?]{ Returns @scheme[#t] if @scheme[v]
|
@defproc[(integer? [v any/c]) boolean?]{ Returns @scheme[#t] if @scheme[v]
|
||||||
is a number that is an integer, @scheme[#f] otherwise. The inexact
|
is a number that is an @techlink{integer}, @scheme[#f] otherwise.
|
||||||
numbers @scheme[+inf.0] and @scheme[-inf.0] are integers, but
|
|
||||||
@scheme[+nan.0] is not.
|
|
||||||
|
|
||||||
@examples[(integer? 1) (integer? 2.3) (integer? 4.0) (integer? 2+3i) (integer? "hello")]}
|
@examples[(integer? 1) (integer? 2.3) (integer? 4.0) (integer? +inf.0)
|
||||||
|
(integer? 2+3i) (integer? "hello")]}
|
||||||
|
|
||||||
|
|
||||||
@defproc[(exact-integer? [v any/c]) boolean?]{
|
@defproc[(exact-integer? [v any/c]) boolean?]{
|
||||||
|
@ -127,6 +129,17 @@ Returns @scheme[(and (exact-integer? v) (positive? v))].
|
||||||
@examples[(exact-positive-integer? 1) (exact-positive-integer? 0)]}
|
@examples[(exact-positive-integer? 1) (exact-positive-integer? 0)]}
|
||||||
|
|
||||||
|
|
||||||
|
@defproc[(inexact-real? [v any/c]) boolean?]{
|
||||||
|
|
||||||
|
Returns @scheme[(and (real? v) (inexact? v))].}
|
||||||
|
|
||||||
|
|
||||||
|
@defproc[(fixnum? [v any/c]) boolean?]{
|
||||||
|
|
||||||
|
Return @scheme[#t] if @scheme[v] is a @techlink{fixnum}, @scheme[#f]
|
||||||
|
otherwise.}
|
||||||
|
|
||||||
|
|
||||||
@defproc[(zero? [z number?]) boolean?]{ Returns @scheme[(= 0 z)].
|
@defproc[(zero? [z number?]) boolean?]{ Returns @scheme[(= 0 z)].
|
||||||
|
|
||||||
@examples[(zero? 0) (zero? -0.0)]}
|
@examples[(zero? 0) (zero? -0.0)]}
|
||||||
|
@ -405,7 +418,7 @@ used.
|
||||||
@examples[(sqrt 4/9) (sqrt 2) (sqrt -1)]}
|
@examples[(sqrt 4/9) (sqrt 2) (sqrt -1)]}
|
||||||
|
|
||||||
|
|
||||||
@defproc[(integer-sqrt [n integer?]) integer?]{ Returns @scheme[(floor
|
@defproc[(integer-sqrt [n integer?]) complex?]{ Returns @scheme[(floor
|
||||||
(sqrt n))] for positive @scheme[n]. For negative @scheme[n], the result is
|
(sqrt n))] for positive @scheme[n]. For negative @scheme[n], the result is
|
||||||
@scheme[(* (integer-sqrt (- n)) 0+i)].
|
@scheme[(* (integer-sqrt (- n)) 0+i)].
|
||||||
|
|
||||||
|
|
|
@ -47,14 +47,14 @@
|
||||||
|
|
||||||
(test #t number? 3.0+0.0i)
|
(test #t number? 3.0+0.0i)
|
||||||
(test #t complex? 3.0+0.0i)
|
(test #t complex? 3.0+0.0i)
|
||||||
(test #t real? 3.0+0.0i)
|
(test #f real? 3.0+0.0i)
|
||||||
(test #t rational? 3.0+0.0i)
|
(test #f rational? 3.0+0.0i)
|
||||||
(test #t integer? 3.0+0.0i)
|
(test #f integer? 3.0+0.0i)
|
||||||
|
|
||||||
(test #t number? 3.1+0.0i)
|
(test #t number? 3.1+0.0i)
|
||||||
(test #t complex? 3.1+0.0i)
|
(test #t complex? 3.1+0.0i)
|
||||||
(test #t real? 3.1+0.0i)
|
(test #f real? 3.1+0.0i)
|
||||||
(test #t rational? 3.1+0.0i)
|
(test #f rational? 3.1+0.0i)
|
||||||
(test #f integer? 3.1+0.0i)
|
(test #f integer? 3.1+0.0i)
|
||||||
|
|
||||||
(test #t exact? 3)
|
(test #t exact? 3)
|
||||||
|
@ -84,19 +84,19 @@
|
||||||
(test #t number? +inf.0)
|
(test #t number? +inf.0)
|
||||||
(test #t complex? +inf.0)
|
(test #t complex? +inf.0)
|
||||||
(test #t real? +inf.0)
|
(test #t real? +inf.0)
|
||||||
(test #t rational? +inf.0)
|
(test #f rational? +inf.0)
|
||||||
(test #t integer? +inf.0)
|
(test #f integer? +inf.0)
|
||||||
|
|
||||||
(test #t number? -inf.0)
|
(test #t number? -inf.0)
|
||||||
(test #t complex? -inf.0)
|
(test #t complex? -inf.0)
|
||||||
(test #t real? -inf.0)
|
(test #t real? -inf.0)
|
||||||
(test #t rational? -inf.0)
|
(test #f rational? -inf.0)
|
||||||
(test #t integer? -inf.0)
|
(test #f integer? -inf.0)
|
||||||
|
|
||||||
(test #t number? +nan.0)
|
(test #t number? +nan.0)
|
||||||
(test #t complex? +nan.0)
|
(test #t complex? +nan.0)
|
||||||
(test #t real? +nan.0)
|
(test #t real? +nan.0)
|
||||||
(test #t rational? +nan.0)
|
(test #f rational? +nan.0)
|
||||||
(test #f integer? +nan.0)
|
(test #f integer? +nan.0)
|
||||||
|
|
||||||
(arity-test inexact? 1 1)
|
(arity-test inexact? 1 1)
|
||||||
|
@ -204,7 +204,14 @@
|
||||||
(test-compare 1 11922615739/10210200 3000)
|
(test-compare 1 11922615739/10210200 3000)
|
||||||
(test-compare 1.0 11922615739/10210200 3000.0)
|
(test-compare 1.0 11922615739/10210200 3000.0)
|
||||||
|
|
||||||
(test-compare 0.4+0.i 1/2 2.3+0.i)
|
(err/rt-test (< 1 2.3+0.0i))
|
||||||
|
(err/rt-test (> 1 2.3+0.0i))
|
||||||
|
(err/rt-test (<= 1 2.3+0.0i))
|
||||||
|
(err/rt-test (>= 1 2.3+0.0i))
|
||||||
|
(err/rt-test (< 2.3+0.0i 1))
|
||||||
|
(err/rt-test (> 2.3+0.0i 1))
|
||||||
|
(err/rt-test (<= 2.3+0.0i 1))
|
||||||
|
(err/rt-test (>= 2.3+0.0i 1))
|
||||||
|
|
||||||
(test #f > 0 (/ 1 (expt 2 400)))
|
(test #f > 0 (/ 1 (expt 2 400)))
|
||||||
|
|
||||||
|
@ -273,7 +280,7 @@
|
||||||
(test-nan +nan.0)
|
(test-nan +nan.0)
|
||||||
(test-nan +inf.0)
|
(test-nan +inf.0)
|
||||||
(test-nan -inf.0)
|
(test-nan -inf.0)
|
||||||
(test-nan 0.3+0.0i)
|
(err/rt-test (test-nan 0.3+0.0i))
|
||||||
(test #f = +nan.0 1+2i)
|
(test #f = +nan.0 1+2i)
|
||||||
(test #f = +nan.0 (make-rectangular +inf.0 -inf.0))
|
(test #f = +nan.0 (make-rectangular +inf.0 -inf.0))
|
||||||
|
|
||||||
|
@ -375,8 +382,6 @@
|
||||||
(test #t positive? +inf.0)
|
(test #t positive? +inf.0)
|
||||||
(test #f positive? -inf.0)
|
(test #f positive? -inf.0)
|
||||||
(test #f positive? +nan.0)
|
(test #f positive? +nan.0)
|
||||||
(test #t positive? 5+0.0i)
|
|
||||||
(test #f positive? -5+0.0i)
|
|
||||||
(test #t positive? (expt 2 37))
|
(test #t positive? (expt 2 37))
|
||||||
(test #f positive? (expt -2 37))
|
(test #f positive? (expt -2 37))
|
||||||
(test #f negative? 4)
|
(test #f negative? 4)
|
||||||
|
@ -393,16 +398,16 @@
|
||||||
(test #f negative? +inf.0)
|
(test #f negative? +inf.0)
|
||||||
(test #t negative? -inf.0)
|
(test #t negative? -inf.0)
|
||||||
(test #f negative? +nan.0)
|
(test #f negative? +nan.0)
|
||||||
(test #f negative? 5+0.0i)
|
(err/rt-test (negative? 5+0.0i))
|
||||||
(test #t negative? -5+0.0i)
|
(err/rt-test (negative? -5+0.0i))
|
||||||
(test #t odd? 3)
|
(test #t odd? 3)
|
||||||
(test #f odd? 2)
|
(test #f odd? 2)
|
||||||
(test #f odd? -4)
|
(test #f odd? -4)
|
||||||
(test #t odd? -1)
|
(test #t odd? -1)
|
||||||
(test #t odd? +inf.0)
|
(err/rt-test (odd? +inf.0))
|
||||||
(test #t odd? -inf.0)
|
(err/rt-test (odd? -inf.0))
|
||||||
(test #t odd? 5+0.0i)
|
(err/rt-test (odd? 5+0.0i))
|
||||||
(test #f odd? 4+0.0i)
|
(err/rt-test (odd? 4+0.0i))
|
||||||
(test #f odd? (expt 2 37))
|
(test #f odd? (expt 2 37))
|
||||||
(test #f odd? (expt -2 37))
|
(test #f odd? (expt -2 37))
|
||||||
(test #t odd? (add1 (expt 2 37)))
|
(test #t odd? (add1 (expt 2 37)))
|
||||||
|
@ -411,10 +416,10 @@
|
||||||
(test #t even? 2)
|
(test #t even? 2)
|
||||||
(test #t even? -4)
|
(test #t even? -4)
|
||||||
(test #f even? -1)
|
(test #f even? -1)
|
||||||
(test #t even? +inf.0)
|
(err/rt-test (even? +inf.0))
|
||||||
(test #t even? -inf.0)
|
(err/rt-test (even? -inf.0))
|
||||||
(test #t even? 4+0.0i)
|
(err/rt-test (even? 4+0.0i))
|
||||||
(test #f even? 5+0.0i)
|
(err/rt-test (even? 5+0.0i))
|
||||||
(test #t even? (expt 2 37))
|
(test #t even? (expt 2 37))
|
||||||
(test #t even? (expt -2 37))
|
(test #t even? (expt -2 37))
|
||||||
(test #f even? (add1 (expt 2 37)))
|
(test #f even? (add1 (expt 2 37)))
|
||||||
|
@ -426,6 +431,8 @@
|
||||||
(arity-test odd? 1 1)
|
(arity-test odd? 1 1)
|
||||||
(arity-test even? 1 1)
|
(arity-test even? 1 1)
|
||||||
|
|
||||||
|
(err/rt-test (positive? 5+0.0i))
|
||||||
|
(err/rt-test (positive? -5+0.0i))
|
||||||
(err/rt-test (positive? 2+i))
|
(err/rt-test (positive? 2+i))
|
||||||
(err/rt-test (negative? 2+i))
|
(err/rt-test (negative? 2+i))
|
||||||
(err/rt-test (odd? 4.1))
|
(err/rt-test (odd? 4.1))
|
||||||
|
@ -459,14 +466,14 @@
|
||||||
(test -inf.0 min +inf.0 0 -inf.0)
|
(test -inf.0 min +inf.0 0 -inf.0)
|
||||||
(test-nan.0 max +inf.0 +nan.0 0 -inf.0)
|
(test-nan.0 max +inf.0 +nan.0 0 -inf.0)
|
||||||
(test-nan.0 min +inf.0 0 +nan.0 -inf.0)
|
(test-nan.0 min +inf.0 0 +nan.0 -inf.0)
|
||||||
(test 9.0 min 9.0+0.0i 100)
|
(err/rt-test (min 9.0+0.0i 100))
|
||||||
(test 8.0 min 9.0+0.0i 8)
|
(err/rt-test (min 9.0+0.0i 8))
|
||||||
(test 9.0 min 100 9.0+0.0i)
|
(err/rt-test (min 100 9.0+0.0i))
|
||||||
(test 8.0 min 8 9.0+0.0i)
|
(err/rt-test (min 8 9.0+0.0i))
|
||||||
(test 100.0 max 9.0+0.0i 100)
|
(err/rt-test (max 9.0+0.0i 100))
|
||||||
(test 9.0 max 9.0+0.0i 8)
|
(err/rt-test (max 9.0+0.0i 8))
|
||||||
(test 100.0 max 100 9.0+0.0i)
|
(err/rt-test (max 100 9.0+0.0i))
|
||||||
(test 9.0 max 8 9.0+0.0i)
|
(err/rt-test (max 8 9.0+0.0i))
|
||||||
|
|
||||||
(test (expt 5 27) max 9 (expt 5 27))
|
(test (expt 5 27) max 9 (expt 5 27))
|
||||||
(test (expt 5 29) max (expt 5 29) (expt 5 27))
|
(test (expt 5 29) max (expt 5 29) (expt 5 27))
|
||||||
|
@ -811,7 +818,7 @@
|
||||||
(test +inf.0 abs +inf.0)
|
(test +inf.0 abs +inf.0)
|
||||||
(test +inf.0 abs -inf.0)
|
(test +inf.0 abs -inf.0)
|
||||||
(test-nan.0 abs -nan.0)
|
(test-nan.0 abs -nan.0)
|
||||||
(test 4.0 abs -4.0+0.0i)
|
(err/rt-test (abs -4.0+0.0i))
|
||||||
|
|
||||||
(test 1073741823 abs -1073741823)
|
(test 1073741823 abs -1073741823)
|
||||||
(test 1073741823 abs 1073741823)
|
(test 1073741823 abs 1073741823)
|
||||||
|
@ -837,8 +844,8 @@
|
||||||
(test 5.0 quotient -35 -7.0)
|
(test 5.0 quotient -35 -7.0)
|
||||||
(test -5.0 quotient -36 7.0)
|
(test -5.0 quotient -36 7.0)
|
||||||
(test -5.0 quotient 36.0 -7)
|
(test -5.0 quotient 36.0 -7)
|
||||||
(test -5.0 quotient 36.0 -7+0.0i)
|
(err/rt-test (quotient 36.0 -7+0.0i))
|
||||||
(test -5.0 quotient 36.0+0.0i -7)
|
(err/rt-test (quotient 36.0+0.0i -7))
|
||||||
(test 0 quotient 0 5.0)
|
(test 0 quotient 0 5.0)
|
||||||
(test 0 quotient 0 -5.0)
|
(test 0 quotient 0 -5.0)
|
||||||
(test 1 modulo 13 4)
|
(test 1 modulo 13 4)
|
||||||
|
@ -857,10 +864,10 @@
|
||||||
(test -1 remainder -13 -4)
|
(test -1 remainder -13 -4)
|
||||||
(test -1.0 modulo -13 -4.0)
|
(test -1.0 modulo -13 -4.0)
|
||||||
(test -1.0 remainder -13 -4.0)
|
(test -1.0 remainder -13 -4.0)
|
||||||
(test -1.0 modulo -13 -4.0+0.0i)
|
(err/rt-test (modulo -13 -4.0+0.0i))
|
||||||
(test -1.0 remainder -13 -4.0+0.0i)
|
(err/rt-test (remainder -13 -4.0+0.0i))
|
||||||
(test -1.0 modulo -13+0.0i -4.0)
|
(err/rt-test (modulo -13+0.0i -4.0))
|
||||||
(test -1.0 remainder -13+0.0i -4.0)
|
(err/rt-test (remainder -13+0.0i -4.0))
|
||||||
(test -2 remainder -3333333332 -3)
|
(test -2 remainder -3333333332 -3)
|
||||||
(test -2 modulo -3333333332 -3)
|
(test -2 modulo -3333333332 -3)
|
||||||
(test 2 remainder 3333333332 -3)
|
(test 2 remainder 3333333332 -3)
|
||||||
|
@ -908,47 +915,37 @@
|
||||||
(define (test-qrm-inf v)
|
(define (test-qrm-inf v)
|
||||||
(define iv (exact->inexact v))
|
(define iv (exact->inexact v))
|
||||||
|
|
||||||
(test 0.0 quotient v +inf.0)
|
(err/rt-test (quotient v +inf.0))
|
||||||
(test -0.0 quotient v -inf.0)
|
(err/rt-test (quotient v -inf.0))
|
||||||
(test iv remainder v +inf.0)
|
(err/rt-test (remainder v +inf.0))
|
||||||
(test iv remainder v -inf.0)
|
(err/rt-test (remainder v -inf.0))
|
||||||
(test iv modulo v +inf.0)
|
(err/rt-test (modulo v +inf.0))
|
||||||
(test -inf.0 modulo v -inf.0)
|
(err/rt-test (modulo v -inf.0))
|
||||||
|
|
||||||
(test +inf.0 quotient +inf.0 v)
|
(err/rt-test (quotient +inf.0 v))
|
||||||
(test -inf.0 quotient -inf.0 v)
|
(err/rt-test (quotient -inf.0 v))
|
||||||
(test 0.0 remainder +inf.0 v)
|
(err/rt-test (remainder +inf.0 v))
|
||||||
(test 0.0 remainder -inf.0 v)
|
(err/rt-test (remainder -inf.0 v))
|
||||||
(test 0.0 modulo +inf.0 v)
|
(err/rt-test (modulo +inf.0 v))
|
||||||
(test 0.0 modulo -inf.0 v))
|
(err/rt-test (modulo -inf.0 v)))
|
||||||
|
|
||||||
(test-qrm-inf 9)
|
(test-qrm-inf 9)
|
||||||
(test-qrm-inf 9.0)
|
(test-qrm-inf 9.0)
|
||||||
(test-qrm-inf (expt 2 100))
|
(test-qrm-inf (expt 2 100))
|
||||||
|
(test-qrm-inf 0.0)
|
||||||
|
(test-qrm-inf -0.0)
|
||||||
|
|
||||||
;; Check 0.0 combinations
|
;; Check 0.0 combinations
|
||||||
(test -0.0 quotient -0.0 +inf.0)
|
|
||||||
(test 0.0 quotient -0.0 -inf.0)
|
|
||||||
(test -0.0 quotient -0.0 2.0)
|
(test -0.0 quotient -0.0 2.0)
|
||||||
(test 0.0 quotient -0.0 -2.0)
|
(test 0.0 quotient -0.0 -2.0)
|
||||||
(test 0.0 quotient 0.0 +inf.0)
|
|
||||||
(test -0.0 quotient 0.0 -inf.0)
|
|
||||||
(test 0.0 quotient 0.0 2.0)
|
(test 0.0 quotient 0.0 2.0)
|
||||||
(test -0.0 quotient 0.0 -2.0)
|
(test -0.0 quotient 0.0 -2.0)
|
||||||
(test 0.0 modulo -0.0 +inf.0)
|
|
||||||
(test 0.0 modulo -0.0 -inf.0)
|
|
||||||
(test 0.0 modulo -0.0 2.0)
|
(test 0.0 modulo -0.0 2.0)
|
||||||
(test 0.0 modulo -0.0 -2.0)
|
(test 0.0 modulo -0.0 -2.0)
|
||||||
(test 0.0 modulo 0.0 +inf.0)
|
|
||||||
(test 0.0 modulo 0.0 -inf.0)
|
|
||||||
(test 0.0 modulo 0.0 2.0)
|
(test 0.0 modulo 0.0 2.0)
|
||||||
(test 0.0 modulo 0.0 -2.0)
|
(test 0.0 modulo 0.0 -2.0)
|
||||||
(test 0.0 remainder -0.0 +inf.0)
|
|
||||||
(test 0.0 remainder -0.0 -inf.0)
|
|
||||||
(test 0.0 remainder -0.0 2.0)
|
(test 0.0 remainder -0.0 2.0)
|
||||||
(test 0.0 remainder -0.0 -2.0)
|
(test 0.0 remainder -0.0 -2.0)
|
||||||
(test 0.0 remainder 0.0 +inf.0)
|
|
||||||
(test 0.0 remainder 0.0 -inf.0)
|
|
||||||
(test 0.0 remainder 0.0 2.0)
|
(test 0.0 remainder 0.0 2.0)
|
||||||
(test 0.0 remainder 0.0 -2.0)
|
(test 0.0 remainder 0.0 -2.0)
|
||||||
|
|
||||||
|
@ -1117,8 +1114,8 @@
|
||||||
(test 5.0 gcd 5.0 10)
|
(test 5.0 gcd 5.0 10)
|
||||||
(test 5.0 gcd -5.0 10)
|
(test 5.0 gcd -5.0 10)
|
||||||
(test 5.0 gcd 5.0 -10)
|
(test 5.0 gcd 5.0 -10)
|
||||||
(test 5.0 gcd 5.0+0.0i 10)
|
(err/rt-test (gcd 5.0+0.0i 10))
|
||||||
(test 5.0 gcd 5.0 10+0.0i)
|
(err/rt-test (gcd 5.0 10+0.0i))
|
||||||
(test (expt 3 37) gcd (expt 9 35) (expt 6 37))
|
(test (expt 3 37) gcd (expt 9 35) (expt 6 37))
|
||||||
(test (expt 3 37) gcd (- (expt 9 35)) (expt 6 37))
|
(test (expt 3 37) gcd (- (expt 9 35)) (expt 6 37))
|
||||||
(test (expt 3 37) gcd (expt 9 35) (- (expt 6 37)))
|
(test (expt 3 37) gcd (expt 9 35) (- (expt 6 37)))
|
||||||
|
@ -1128,8 +1125,6 @@
|
||||||
(test 6 gcd 66 (* 3 (expt 2 100)))
|
(test 6 gcd 66 (* 3 (expt 2 100)))
|
||||||
(test 201.0 gcd (* 67 (expt 3 20)) (* 67. 3))
|
(test 201.0 gcd (* 67 (expt 3 20)) (* 67. 3))
|
||||||
(test 201.0 gcd (* 67. 3) (* 67 (expt 3 20)))
|
(test 201.0 gcd (* 67. 3) (* 67 (expt 3 20)))
|
||||||
(test 9.0 gcd +inf.0 9)
|
|
||||||
(test 9.0 gcd -inf.0 9)
|
|
||||||
(test (expt 9 35) gcd (expt 9 35) 0)
|
(test (expt 9 35) gcd (expt 9 35) 0)
|
||||||
(test (expt 9 35) gcd 0 (expt 9 35))
|
(test (expt 9 35) gcd 0 (expt 9 35))
|
||||||
(test 288 lcm 32 -36)
|
(test 288 lcm 32 -36)
|
||||||
|
@ -1138,8 +1133,8 @@
|
||||||
(test 5 lcm 5)
|
(test 5 lcm 5)
|
||||||
(test 0 lcm 123 0)
|
(test 0 lcm 123 0)
|
||||||
(test 30.0 lcm 5 6.0)
|
(test 30.0 lcm 5 6.0)
|
||||||
(test 30.0 lcm 5 6.0+0.0i)
|
(err/rt-test (lcm 5 6.0+0.0i))
|
||||||
(test 30.0 lcm 5+0.0i 6.0)
|
(err/rt-test (lcm 5+0.0i 6.0))
|
||||||
(test 0.0 lcm 123 0.0)
|
(test 0.0 lcm 123 0.0)
|
||||||
(test 0.0 lcm 123 -0.0)
|
(test 0.0 lcm 123 -0.0)
|
||||||
(test (* (expt 2 37) (expt 9 35)) lcm (expt 9 35) (expt 6 37))
|
(test (* (expt 2 37) (expt 9 35)) lcm (expt 9 35) (expt 6 37))
|
||||||
|
@ -1147,10 +1142,14 @@
|
||||||
(test (* (expt 2 37) (expt 9 35)) lcm (expt 9 35) (- (expt 6 37)))
|
(test (* (expt 2 37) (expt 9 35)) lcm (expt 9 35) (- (expt 6 37)))
|
||||||
|
|
||||||
(err/rt-test (gcd +nan.0))
|
(err/rt-test (gcd +nan.0))
|
||||||
|
(err/rt-test (gcd +inf.0))
|
||||||
|
(err/rt-test (gcd -inf.0))
|
||||||
(err/rt-test (gcd 'a))
|
(err/rt-test (gcd 'a))
|
||||||
(err/rt-test (gcd 'a 1))
|
(err/rt-test (gcd 'a 1))
|
||||||
(err/rt-test (gcd 1 'a))
|
(err/rt-test (gcd 1 'a))
|
||||||
(err/rt-test (lcm +nan.0))
|
(err/rt-test (lcm +nan.0))
|
||||||
|
(err/rt-test (lcm +inf.0))
|
||||||
|
(err/rt-test (lcm -inf.0))
|
||||||
(err/rt-test (lcm 'a))
|
(err/rt-test (lcm 'a))
|
||||||
(err/rt-test (lcm 'a 1))
|
(err/rt-test (lcm 'a 1))
|
||||||
(err/rt-test (lcm 1 'a))
|
(err/rt-test (lcm 1 'a))
|
||||||
|
@ -1168,6 +1167,10 @@
|
||||||
(err/rt-test (gcd 5.0 +nan.0))
|
(err/rt-test (gcd 5.0 +nan.0))
|
||||||
(err/rt-test (lcm +nan.0 5.0))
|
(err/rt-test (lcm +nan.0 5.0))
|
||||||
(err/rt-test (lcm 5.0 +nan.0))
|
(err/rt-test (lcm 5.0 +nan.0))
|
||||||
|
(err/rt-test (gcd +inf.0 5.0))
|
||||||
|
(err/rt-test (gcd 5.0 +inf.0))
|
||||||
|
(err/rt-test (lcm +inf.0 5.0))
|
||||||
|
(err/rt-test (lcm 5.0 +inf.0))
|
||||||
|
|
||||||
(arity-test gcd 0 -1)
|
(arity-test gcd 0 -1)
|
||||||
(arity-test lcm 0 -1)
|
(arity-test lcm 0 -1)
|
||||||
|
@ -1240,10 +1243,22 @@
|
||||||
(test 4.0 round 3.5)
|
(test 4.0 round 3.5)
|
||||||
(test -4.0 round -3.5)
|
(test -4.0 round -3.5)
|
||||||
|
|
||||||
(test 2.0 floor 2.6+0.0i)
|
(err/rt-test (floor 2.6+0.0i))
|
||||||
(test 3.0 ceiling 2.6+0.0i)
|
(err/rt-test (ceiling 2.6+0.0i))
|
||||||
(test 3.0 round 2.6+0.0i)
|
(err/rt-test (round 2.6+0.0i))
|
||||||
(test 2.0 truncate 2.6+0.0i)
|
(err/rt-test (truncate 2.6+0.0i))
|
||||||
|
(err/rt-test (floor +inf.0))
|
||||||
|
(err/rt-test (ceiling +inf.0))
|
||||||
|
(err/rt-test (round +inf.0))
|
||||||
|
(err/rt-test (truncate +inf.0))
|
||||||
|
(err/rt-test (floor -inf.0))
|
||||||
|
(err/rt-test (ceiling -inf.0))
|
||||||
|
(err/rt-test (round -inf.0))
|
||||||
|
(err/rt-test (truncate -inf.0))
|
||||||
|
(err/rt-test (floor +nan0))
|
||||||
|
(err/rt-test (ceiling +nan0))
|
||||||
|
(err/rt-test (round +nan0))
|
||||||
|
(err/rt-test (truncate +nan0))
|
||||||
|
|
||||||
(define (test-fcrt-int v)
|
(define (test-fcrt-int v)
|
||||||
(test v floor v)
|
(test v floor v)
|
||||||
|
@ -1254,13 +1269,6 @@
|
||||||
(test-fcrt-int 2)
|
(test-fcrt-int 2)
|
||||||
(test-fcrt-int 2.0)
|
(test-fcrt-int 2.0)
|
||||||
(test-fcrt-int (expt 2 100))
|
(test-fcrt-int (expt 2 100))
|
||||||
(test-fcrt-int +inf.0)
|
|
||||||
(test-fcrt-int -inf.0)
|
|
||||||
|
|
||||||
(test-nan.0 floor +nan.0)
|
|
||||||
(test-nan.0 ceiling +nan.0)
|
|
||||||
(test-nan.0 round +nan.0)
|
|
||||||
(test-nan.0 truncate +nan.0)
|
|
||||||
|
|
||||||
(arity-test round 1 1)
|
(arity-test round 1 1)
|
||||||
(arity-test floor 1 1)
|
(arity-test floor 1 1)
|
||||||
|
@ -1280,21 +1288,21 @@
|
||||||
(test 5 numerator 5)
|
(test 5 numerator 5)
|
||||||
(test 5000000000000 numerator 5000000000000)
|
(test 5000000000000 numerator 5000000000000)
|
||||||
(test 5.0 numerator 5.0)
|
(test 5.0 numerator 5.0)
|
||||||
(test 5.0 numerator 5.0+0.0i)
|
(err/rt-test (numerator 5.0+0.0i))
|
||||||
(test 1 denominator 5)
|
(test 1 denominator 5)
|
||||||
(test 1 denominator 5000000000000)
|
(test 1 denominator 5000000000000)
|
||||||
(test 1.0 denominator 5.0)
|
(test 1.0 denominator 5.0)
|
||||||
(test 1.0 denominator 5.0+0.0i)
|
(err/rt-test (denominator 5.0+0.0i))
|
||||||
(test 2 numerator 2/3)
|
(test 2 numerator 2/3)
|
||||||
(test 3 denominator 2/3)
|
(test 3 denominator 2/3)
|
||||||
(test 1000.0 round (* 10000.0 (/ (numerator 0.1) (denominator 0.1))))
|
(test 1000.0 round (* 10000.0 (/ (numerator 0.1) (denominator 0.1))))
|
||||||
|
|
||||||
(test +inf.0 numerator +inf.0)
|
(err/rt-test (numerator +inf.0))
|
||||||
(test -inf.0 numerator -inf.0)
|
(err/rt-test (numerator -inf.0))
|
||||||
(test-nan.0 numerator +nan.0)
|
(err/rt-test (numerator +nan.0))
|
||||||
(test 1.0 denominator +inf.0)
|
(err/rt-test (denominator +inf.0))
|
||||||
(test 1.0 denominator -inf.0)
|
(err/rt-test (denominator -inf.0))
|
||||||
(test-nan.0 denominator +nan.0)
|
(err/rt-test (denominator +nan.0))
|
||||||
|
|
||||||
(err/rt-test (numerator 'a))
|
(err/rt-test (numerator 'a))
|
||||||
(err/rt-test (numerator 1+2i))
|
(err/rt-test (numerator 1+2i))
|
||||||
|
@ -1312,8 +1320,8 @@
|
||||||
|
|
||||||
(test 1+2i make-rectangular 1 2)
|
(test 1+2i make-rectangular 1 2)
|
||||||
(test 1.0+2.0i make-rectangular 1.0 2)
|
(test 1.0+2.0i make-rectangular 1.0 2)
|
||||||
(test 1.0+2.0i make-rectangular 1.0+0.0i 2)
|
(err/rt-test (make-rectangular 1.0+0.0i 2))
|
||||||
(test 1.0+2.0i make-rectangular 1.0 2+0.0i)
|
(err/rt-test (make-rectangular 1.0 2+0.0i))
|
||||||
(test-nan.0 real-part (make-rectangular +nan.0 1))
|
(test-nan.0 real-part (make-rectangular +nan.0 1))
|
||||||
(test 1.0 imag-part (make-rectangular +nan.0 1))
|
(test 1.0 imag-part (make-rectangular +nan.0 1))
|
||||||
(test-nan.0 imag-part (make-rectangular 1 +nan.0))
|
(test-nan.0 imag-part (make-rectangular 1 +nan.0))
|
||||||
|
@ -1414,8 +1422,8 @@
|
||||||
(test 1.0+0.0i make-polar 1 0.0)
|
(test 1.0+0.0i make-polar 1 0.0)
|
||||||
(test 1.0 make-polar 1.0 0)
|
(test 1.0 make-polar 1.0 0)
|
||||||
(test 1.0+0.0i make-polar 1.0 0.0)
|
(test 1.0+0.0i make-polar 1.0 0.0)
|
||||||
(test 1.0+0.0i make-polar 1.0 0.0+0.0i)
|
(err/rt-test (make-polar 1.0 0.0+0.0i))
|
||||||
(test 1.0+0.0i make-polar 1.0+0.0i 0.0)
|
(err/rt-test (make-polar 1.0+0.0i 0.0))
|
||||||
(let ([v (make-polar 1 1)])
|
(let ([v (make-polar 1 1)])
|
||||||
(test 5403.0 floor (* 10000 (real-part v)))
|
(test 5403.0 floor (* 10000 (real-part v)))
|
||||||
(test 84147.0 floor (* 100000 (imag-part v)))
|
(test 84147.0 floor (* 100000 (imag-part v)))
|
||||||
|
@ -1508,8 +1516,8 @@
|
||||||
|
|
||||||
(test 2.0 integer-sqrt 5.0)
|
(test 2.0 integer-sqrt 5.0)
|
||||||
(test 0+2.0i integer-sqrt -5.0)
|
(test 0+2.0i integer-sqrt -5.0)
|
||||||
(test 2.0+0.0i integer-sqrt 5.0+0.0i)
|
(err/rt-test (integer-sqrt 5.0+0.0i))
|
||||||
(test 0+2.0i integer-sqrt -5.0+0.0i)
|
(err/rt-test (integer-sqrt -5.0+0.0i))
|
||||||
|
|
||||||
(err/rt-test (integer-sqrt "a"))
|
(err/rt-test (integer-sqrt "a"))
|
||||||
(err/rt-test (integer-sqrt 1.1))
|
(err/rt-test (integer-sqrt 1.1))
|
||||||
|
@ -1525,8 +1533,8 @@
|
||||||
|
|
||||||
(test '(2.0 1.0) call-with-values (lambda () (integer-sqrt/remainder 5.0)) list)
|
(test '(2.0 1.0) call-with-values (lambda () (integer-sqrt/remainder 5.0)) list)
|
||||||
(test '(0+2.0i -1.0) call-with-values (lambda () (integer-sqrt/remainder -5.0)) list)
|
(test '(0+2.0i -1.0) call-with-values (lambda () (integer-sqrt/remainder -5.0)) list)
|
||||||
(test '(2.0+0.0i 1.0+0.0i) call-with-values (lambda () (integer-sqrt/remainder 5.0+0.0i)) list)
|
(err/rt-test (integer-sqrt/remainder 5.0+0.0i))
|
||||||
(test '(0+2.0i -1.0+0.0i) call-with-values (lambda () (integer-sqrt/remainder -5.0+0.0i)) list)
|
(err/rt-test (integer-sqrt/remainder -5.0+0.0i))
|
||||||
|
|
||||||
(err/rt-test (integer-sqrt/remainder "a"))
|
(err/rt-test (integer-sqrt/remainder "a"))
|
||||||
(err/rt-test (integer-sqrt/remainder 1.1))
|
(err/rt-test (integer-sqrt/remainder 1.1))
|
||||||
|
@ -1672,24 +1680,24 @@
|
||||||
(test 125.0d0 round (* 1000 (magnitude (asin (sin 0.125+0.0d0i)))))
|
(test 125.0d0 round (* 1000 (magnitude (asin (sin 0.125+0.0d0i)))))
|
||||||
(test 125.0 round (* 1000 (asin (sin 1/8))))
|
(test 125.0 round (* 1000 (asin (sin 1/8))))
|
||||||
(test 125.0 round (* 1000 (acos (cos 0.125))))
|
(test 125.0 round (* 1000 (acos (cos 0.125))))
|
||||||
(test 125.0d0 round (* 1000 (acos (cos 0.125+0.0d0i))))
|
(test 125.0d0-0.0i z-round (* 1000 (acos (cos 0.125+0.0d0i))))
|
||||||
(test 125.0 round (* 1000 (acos (cos 1/8))))
|
(test 125.0 round (* 1000 (acos (cos 1/8))))
|
||||||
(test 785.0 round (* 1000 (atan 1 1)))
|
(test 785.0 round (* 1000 (atan 1 1)))
|
||||||
(test 785.0 round (* 1000 (atan 1.0 1.0)))
|
(test 785.0 round (* 1000 (atan 1.0 1.0)))
|
||||||
(test 785.0 round (* 1000 (atan 1.0 1.0+0.0i)))
|
(err/rt-test (atan 1.0 1.0+0.0i))
|
||||||
(test 785.0 round (* 1000 (atan 1.0+0.0i 1.0)))
|
(err/rt-test (atan 1.0+0.0i 1.0))
|
||||||
(test 2356.0 round (* 1000 (atan 1 -1)))
|
(test 2356.0 round (* 1000 (atan 1 -1)))
|
||||||
(test -785.0 round (* 1000 (atan -1 1)))
|
(test -785.0 round (* 1000 (atan -1 1)))
|
||||||
(test 785.0 round (* 1000 (atan 1)))
|
(test 785.0 round (* 1000 (atan 1)))
|
||||||
(test 100.0 round (* 100 (tan (atan 1))))
|
(test 100.0 round (* 100 (tan (atan 1))))
|
||||||
(test 100.0 round (* 100 (tan (+ +0.0i (atan 1)))))
|
(test 100.0-0.0i z-round (* 100 (tan (+ +0.0i (atan 1)))))
|
||||||
(test 0.0 atan 0.0 0)
|
(test 0.0 atan 0.0 0)
|
||||||
(err/rt-test (atan 0 0) exn:fail:contract:divide-by-zero?)
|
(err/rt-test (atan 0 0) exn:fail:contract:divide-by-zero?)
|
||||||
(test 1024.0 round (expt 2.0 10.0))
|
(test 1024.0 round (expt 2.0 10.0))
|
||||||
(test 1024.0 round (expt -2.0 10.0))
|
(test 1024.0 round (expt -2.0 10.0))
|
||||||
(test -512.0 round (expt -2.0 9.0))
|
(test -512.0 round (expt -2.0 9.0))
|
||||||
(test 32.0 round (sqrt 1024.0))
|
(test 32.0 round (sqrt 1024.0))
|
||||||
(test 32.0 round (sqrt 1024.0+0.0i))
|
(test 32.0+0.0i z-round (sqrt 1024.0+0.0i))
|
||||||
(test 1.0+1.5e-10i sqrt 1+3e-10i)
|
(test 1.0+1.5e-10i sqrt 1+3e-10i)
|
||||||
|
|
||||||
(test 1 exp 0)
|
(test 1 exp 0)
|
||||||
|
@ -1701,6 +1709,10 @@
|
||||||
(test 0.0 log 1.0)
|
(test 0.0 log 1.0)
|
||||||
(test -inf.0 log 0.0)
|
(test -inf.0 log 0.0)
|
||||||
(test -inf.0 log -0.0)
|
(test -inf.0 log -0.0)
|
||||||
|
(test +inf.0 log +inf.0)
|
||||||
|
(test +inf.0 real-part (log -inf.0))
|
||||||
|
(test +3142.0 round (* 1000 (imag-part (log -inf.0))))
|
||||||
|
(test +nan.0 log +nan.0)
|
||||||
(err/rt-test (log 0) exn:fail:contract:divide-by-zero?)
|
(err/rt-test (log 0) exn:fail:contract:divide-by-zero?)
|
||||||
|
|
||||||
(test 1 cos 0)
|
(test 1 cos 0)
|
||||||
|
@ -1731,6 +1743,8 @@
|
||||||
(test 314.0 round (* 200 (acos 0)))
|
(test 314.0 round (* 200 (acos 0)))
|
||||||
(test 314.0 round (* 200 (acos 0.0)))
|
(test 314.0 round (* 200 (acos 0.0)))
|
||||||
(test 314.0 round (* 200 (acos -0.0)))
|
(test 314.0 round (* 200 (acos -0.0)))
|
||||||
|
(test (/ 314.0 2) round (* 100 (atan +inf.0)))
|
||||||
|
(test (/ -314.0 2) round (* 100 (atan -inf.0)))
|
||||||
|
|
||||||
(test 71034.0 round (* 100 (log 312918491891666147403524564598095080760332972643192197862041633988540637438735086398143104076897116667450730097183397289314559387355872839339937813881411504027225774279272518360586167057501686099965513263132778526566297754301647311975918380842568054630540214544682491386730004162058539391336047825248736472519)))
|
(test 71034.0 round (* 100 (log 312918491891666147403524564598095080760332972643192197862041633988540637438735086398143104076897116667450730097183397289314559387355872839339937813881411504027225774279272518360586167057501686099965513263132778526566297754301647311975918380842568054630540214544682491386730004162058539391336047825248736472519)))
|
||||||
(test 71117.0 round (* 100 (log (expt 2 1026))))
|
(test 71117.0 round (* 100 (log (expt 2 1026))))
|
||||||
|
@ -1832,8 +1846,8 @@
|
||||||
(test 1/3 rationalize 3/10 -1/10)
|
(test 1/3 rationalize 3/10 -1/10)
|
||||||
(test 0 rationalize 3/10 4/10)
|
(test 0 rationalize 3/10 4/10)
|
||||||
(test 0.0 rationalize .3 4/10)
|
(test 0.0 rationalize .3 4/10)
|
||||||
(test 0.0 rationalize .3+0.0i 4/10)
|
(err/rt-test (rationalize .3+0.0i 4/10))
|
||||||
(test #i1/3 rationalize .3+0.0i 1/10)
|
(err/rt-test (rationalize .3+0.0i 1/10))
|
||||||
|
|
||||||
(define (test-rat-inf v)
|
(define (test-rat-inf v)
|
||||||
(define zero (if (exact? v) 0 0.0))
|
(define zero (if (exact? v) 0 0.0))
|
||||||
|
@ -2587,8 +2601,8 @@
|
||||||
(define (there-and-back n)
|
(define (there-and-back n)
|
||||||
(floating-point-bytes->real (real->floating-point-bytes n 8)))
|
(floating-point-bytes->real (real->floating-point-bytes n 8)))
|
||||||
|
|
||||||
(test 1.0 there-and-back 1.0+0.0i)
|
(err/rt-test (there-and-back 1.0+0.0i))
|
||||||
(test 100.0 there-and-back 100.0+0.0i)
|
(err/rt-test (there-and-back 100.0+0.0i))
|
||||||
(test 101.0 there-and-back 101)
|
(test 101.0 there-and-back 101)
|
||||||
(test 1e30 there-and-back 1000000000000000000000000000000)
|
(test 1e30 there-and-back 1000000000000000000000000000000)
|
||||||
(test 0.5 there-and-back 1/2)
|
(test 0.5 there-and-back 1/2)
|
||||||
|
|
|
@ -101,6 +101,10 @@ but we start with an enumeration of changes:
|
||||||
when given a cyclic value, and non-cyclic graph structure (though
|
when given a cyclic value, and non-cyclic graph structure (though
|
||||||
pairs, vectors, and boxes) is not preserved.
|
pairs, vectors, and boxes) is not preserved.
|
||||||
|
|
||||||
|
- Complex numbers with inexact-zero imaginary parts are no longer
|
||||||
|
considered real (or rational), and +inf.0, -inf.0, and +nan.0 are
|
||||||
|
no longer considered rational (or integers).
|
||||||
|
|
||||||
- In fully expanded code, `#%datum' expands to `quote'. When using
|
- In fully expanded code, `#%datum' expands to `quote'. When using
|
||||||
the `mzscheme' language, beware that `if' in expansions is the `if'
|
the `mzscheme' language, beware that `if' in expansions is the `if'
|
||||||
of `scheme/base'. When using the `scheme/base' language, beware
|
of `scheme/base'. When using the `scheme/base' language, beware
|
||||||
|
|
34
src/mzscheme/gc2/gc2_obj.h
Normal file
34
src/mzscheme/gc2/gc2_obj.h
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
|
||||||
|
#if defined(MZ_PRECISE_GC) && !defined(USE_COMPACT_3M_GC)
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# define LOG_APAGE_SIZE 16
|
||||||
|
#else
|
||||||
|
# define LOG_APAGE_SIZE 14
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef SIXTY_FOUR_BIT_INTEGERS
|
||||||
|
# define OBJH_WORD_SIZE 8
|
||||||
|
#else
|
||||||
|
# define OBJH_WORD_SIZE 4
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct objhead {
|
||||||
|
unsigned long hash : ((8*OBJH_WORD_SIZE) - (4+3+LOG_APAGE_SIZE));
|
||||||
|
/* the type and size of the object */
|
||||||
|
unsigned long type : 3;
|
||||||
|
/* these are the various mark bits we use */
|
||||||
|
unsigned long mark : 1;
|
||||||
|
unsigned long btc_mark : 1;
|
||||||
|
/* these are used for compaction et al*/
|
||||||
|
unsigned long moved : 1;
|
||||||
|
unsigned long dead : 1;
|
||||||
|
unsigned long size : LOG_APAGE_SIZE;
|
||||||
|
};
|
||||||
|
|
||||||
|
XFORM_NONGCING extern int GC_is_allocated(void *p);
|
||||||
|
|
||||||
|
#define OBJHEAD_HAS_HASH_BITS
|
||||||
|
#define OBJHEAD_HASH_BITS(p) ((struct objhead *)((void **)p - 1))->hash
|
||||||
|
|
||||||
|
#endif
|
|
@ -98,11 +98,8 @@
|
||||||
/* This is the log base 2 of the standard memory page size. 14 means 2^14,
|
/* This is the log base 2 of the standard memory page size. 14 means 2^14,
|
||||||
which is 16k. This seems to be a good size for most platforms.
|
which is 16k. This seems to be a good size for most platforms.
|
||||||
Under Windows as of 2008, however, the allocation granularity is 64k. */
|
Under Windows as of 2008, however, the allocation granularity is 64k. */
|
||||||
#ifdef _WIN32
|
/* # define LOG_APAGE_SIZE ... see gc2_obj.h */
|
||||||
# define LOG_APAGE_SIZE 16
|
#include "gc2_obj.h"
|
||||||
#else
|
|
||||||
# define LOG_APAGE_SIZE 14
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* the number of tags to use for tagged objects */
|
/* the number of tags to use for tagged objects */
|
||||||
#define NUMBER_OF_TAGS 512
|
#define NUMBER_OF_TAGS 512
|
||||||
|
@ -214,18 +211,7 @@ int GC_mtrace_union_current_with(int newval)
|
||||||
/* Allocation */
|
/* Allocation */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
struct objhead {
|
/* struct objhead is defined in gc2_obj.h */
|
||||||
unsigned long reserved : ((8*WORD_SIZE) - (4+3+LOG_APAGE_SIZE));
|
|
||||||
/* the type and size of the object */
|
|
||||||
unsigned long type : 3;
|
|
||||||
/* these are the various mark bits we use */
|
|
||||||
unsigned long mark : 1;
|
|
||||||
unsigned long btc_mark : 1;
|
|
||||||
/* these are used for compaction et al*/
|
|
||||||
unsigned long moved : 1;
|
|
||||||
unsigned long dead : 1;
|
|
||||||
unsigned long size : LOG_APAGE_SIZE;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct mpage {
|
struct mpage {
|
||||||
struct mpage *next, *prev;
|
struct mpage *next, *prev;
|
||||||
|
@ -389,6 +375,11 @@ inline static struct mpage *find_page(void *p)
|
||||||
return page_map[ADDR_BITS(p)];
|
return page_map[ADDR_BITS(p)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int GC_is_allocated(void *p)
|
||||||
|
{
|
||||||
|
return !!find_page(p);
|
||||||
|
}
|
||||||
|
|
||||||
static size_t round_to_apage_size(size_t sizeb)
|
static size_t round_to_apage_size(size_t sizeb)
|
||||||
{
|
{
|
||||||
sizeb += APAGE_SIZE - 1;
|
sizeb += APAGE_SIZE - 1;
|
||||||
|
|
|
@ -378,11 +378,10 @@ typedef long (*Scheme_Secondary_Hash_Proc)(Scheme_Object *obj, void *cycle_data)
|
||||||
#endif
|
#endif
|
||||||
#define SCHEME_BIGNUMP(obj) SAME_TYPE(SCHEME_TYPE(obj), scheme_bignum_type)
|
#define SCHEME_BIGNUMP(obj) SAME_TYPE(SCHEME_TYPE(obj), scheme_bignum_type)
|
||||||
#define SCHEME_RATIONALP(obj) SAME_TYPE(SCHEME_TYPE(obj), scheme_rational_type)
|
#define SCHEME_RATIONALP(obj) SAME_TYPE(SCHEME_TYPE(obj), scheme_rational_type)
|
||||||
#define SCHEME_COMPLEXP(obj) (!SCHEME_INTP(obj) && ((_SCHEME_TYPE(obj) >= scheme_complex_izi_type) && (_SCHEME_TYPE(obj) <= scheme_complex_type)))
|
#define SCHEME_COMPLEXP(obj) (!SCHEME_INTP(obj) && ((_SCHEME_TYPE(obj) == scheme_complex_type)))
|
||||||
#define SCHEME_COMPLEX_IZIP(obj) (SCHEME_TYPE(obj) == scheme_complex_izi_type)
|
|
||||||
#define SCHEME_EXACT_INTEGERP(obj) (SCHEME_INTP(obj) || (_SCHEME_TYPE(obj) == scheme_bignum_type))
|
#define SCHEME_EXACT_INTEGERP(obj) (SCHEME_INTP(obj) || (_SCHEME_TYPE(obj) == scheme_bignum_type))
|
||||||
#define SCHEME_EXACT_REALP(obj) (SCHEME_INTP(obj) || (_SCHEME_TYPE(obj) == scheme_bignum_type) || (_SCHEME_TYPE(obj) == scheme_rational_type))
|
#define SCHEME_EXACT_REALP(obj) (SCHEME_INTP(obj) || (_SCHEME_TYPE(obj) == scheme_bignum_type) || (_SCHEME_TYPE(obj) == scheme_rational_type))
|
||||||
#define SCHEME_REALP(obj) (SCHEME_INTP(obj) || ((_SCHEME_TYPE(obj) >= scheme_bignum_type) && (_SCHEME_TYPE(obj) <= scheme_complex_izi_type)))
|
#define SCHEME_REALP(obj) (SCHEME_INTP(obj) || ((_SCHEME_TYPE(obj) >= scheme_bignum_type) && (_SCHEME_TYPE(obj) < scheme_complex_type)))
|
||||||
#define SCHEME_NUMBERP(obj) (SCHEME_INTP(obj) || ((_SCHEME_TYPE(obj) >= scheme_bignum_type) && (_SCHEME_TYPE(obj) <= scheme_complex_type)))
|
#define SCHEME_NUMBERP(obj) (SCHEME_INTP(obj) || ((_SCHEME_TYPE(obj) >= scheme_bignum_type) && (_SCHEME_TYPE(obj) <= scheme_complex_type)))
|
||||||
|
|
||||||
#define SCHEME_CHAR_STRINGP(obj) SAME_TYPE(SCHEME_TYPE(obj), scheme_char_string_type)
|
#define SCHEME_CHAR_STRINGP(obj) SAME_TYPE(SCHEME_TYPE(obj), scheme_char_string_type)
|
||||||
|
|
|
@ -204,7 +204,7 @@ int scheme_eqv (Scheme_Object *obj1, Scheme_Object *obj2)
|
||||||
return scheme_bignum_eq(obj1, obj2);
|
return scheme_bignum_eq(obj1, obj2);
|
||||||
else if (t1 == scheme_rational_type)
|
else if (t1 == scheme_rational_type)
|
||||||
return scheme_rational_eq(obj1, obj2);
|
return scheme_rational_eq(obj1, obj2);
|
||||||
else if ((t1 == scheme_complex_type) || (t1 == scheme_complex_izi_type)) {
|
else if (t1 == scheme_complex_type) {
|
||||||
Scheme_Complex *c1 = (Scheme_Complex *)obj1;
|
Scheme_Complex *c1 = (Scheme_Complex *)obj1;
|
||||||
Scheme_Complex *c2 = (Scheme_Complex *)obj2;
|
Scheme_Complex *c2 = (Scheme_Complex *)obj2;
|
||||||
return scheme_eqv(c1->r, c2->r) && scheme_eqv(c1->i, c2->i);
|
return scheme_eqv(c1->r, c2->r) && scheme_eqv(c1->i, c2->i);
|
||||||
|
|
|
@ -87,17 +87,7 @@ Scheme_Object *scheme_complex_normalize(const Scheme_Object *o)
|
||||||
if (c->i == zero)
|
if (c->i == zero)
|
||||||
return c->r;
|
return c->r;
|
||||||
if (c->r == zero) {
|
if (c->r == zero) {
|
||||||
/* No coercions, but check izi type */
|
/* No coercions */
|
||||||
if (SCHEME_DBLP(c->i)) {
|
|
||||||
if (SCHEME_DBL_VAL(c->i) == 0.0)
|
|
||||||
c->so.type = scheme_complex_izi_type;
|
|
||||||
}
|
|
||||||
#ifdef MZ_USE_SINGLE_FLOATS
|
|
||||||
if (SCHEME_FLTP(c->i)) {
|
|
||||||
if (SCHEME_FLT_VAL(c->i) == 0.0f)
|
|
||||||
c->so.type = scheme_complex_izi_type;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return (Scheme_Object *)c;
|
return (Scheme_Object *)c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,8 +97,6 @@ Scheme_Object *scheme_complex_normalize(const Scheme_Object *o)
|
||||||
r = scheme_make_double(scheme_get_val_as_double(c->r));
|
r = scheme_make_double(scheme_get_val_as_double(c->r));
|
||||||
c->r = r;
|
c->r = r;
|
||||||
}
|
}
|
||||||
if (SCHEME_DBL_VAL(c->i) == 0.0)
|
|
||||||
c->so.type = scheme_complex_izi_type;
|
|
||||||
} else if (SCHEME_DBLP(c->r)) {
|
} else if (SCHEME_DBLP(c->r)) {
|
||||||
Scheme_Object *i;
|
Scheme_Object *i;
|
||||||
i = scheme_make_double(scheme_get_val_as_double(c->i));
|
i = scheme_make_double(scheme_get_val_as_double(c->i));
|
||||||
|
@ -120,16 +108,9 @@ Scheme_Object *scheme_complex_normalize(const Scheme_Object *o)
|
||||||
if (!SCHEME_FLTP(c->r)) {
|
if (!SCHEME_FLTP(c->r)) {
|
||||||
if (SCHEME_DBLP(c->r)) {
|
if (SCHEME_DBLP(c->r)) {
|
||||||
c->i = scheme_make_double(SCHEME_FLT_VAL(c->i));
|
c->i = scheme_make_double(SCHEME_FLT_VAL(c->i));
|
||||||
if (SCHEME_DBL_VAL(c->i) == 0.0)
|
|
||||||
c->so.type = scheme_complex_izi_type;
|
|
||||||
} else {
|
} else {
|
||||||
c->r = scheme_make_float(scheme_get_val_as_float(c->r));
|
c->r = scheme_make_float(scheme_get_val_as_float(c->r));
|
||||||
if (SCHEME_FLT_VAL(c->i) == 0.0f)
|
|
||||||
c->so.type = scheme_complex_izi_type;
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
if (SCHEME_FLT_VAL(c->i) == 0.0f)
|
|
||||||
c->so.type = scheme_complex_izi_type;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -355,6 +336,15 @@ Scheme_Object *scheme_complex_sqrt(const Scheme_Object *o)
|
||||||
r = c->r;
|
r = c->r;
|
||||||
i = c->i;
|
i = c->i;
|
||||||
|
|
||||||
|
if (scheme_is_zero(i)) {
|
||||||
|
/* Special case for x+0.0i: */
|
||||||
|
r = scheme_sqrt(1, &r);
|
||||||
|
if (!SCHEME_COMPLEXP(r))
|
||||||
|
return scheme_make_complex(r, i);
|
||||||
|
else
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
ssq = scheme_bin_plus(scheme_bin_mult(r, r),
|
ssq = scheme_bin_plus(scheme_bin_mult(r, r),
|
||||||
scheme_bin_mult(i, i));
|
scheme_bin_mult(i, i));
|
||||||
|
|
||||||
|
|
|
@ -1,106 +1,106 @@
|
||||||
{
|
{
|
||||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,51,46,57,57,46,48,46,49,52,50,0,0,0,1,0,0,6,0,
|
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,51,46,57,57,46,48,46,49,54,50,0,0,0,1,0,0,6,0,
|
||||||
9,0,14,0,18,0,23,0,28,0,32,0,39,0,52,0,55,0,62,0,69,
|
9,0,13,0,18,0,25,0,32,0,37,0,42,0,46,0,59,0,66,0,69,
|
||||||
0,78,0,84,0,98,0,112,0,115,0,119,0,121,0,132,0,134,0,148,0,
|
0,78,0,84,0,98,0,112,0,115,0,119,0,121,0,132,0,134,0,148,0,
|
||||||
155,0,177,0,179,0,193,0,253,0,23,1,32,1,41,1,51,1,68,1,107,
|
155,0,177,0,179,0,193,0,253,0,23,1,32,1,41,1,51,1,68,1,107,
|
||||||
1,146,1,215,1,4,2,92,2,137,2,142,2,162,2,53,3,73,3,124,3,
|
1,146,1,215,1,4,2,92,2,137,2,142,2,162,2,53,3,73,3,124,3,
|
||||||
190,3,75,4,233,4,20,5,31,5,110,5,0,0,131,7,0,0,65,98,101,
|
190,3,75,4,233,4,20,5,31,5,110,5,0,0,131,7,0,0,65,98,101,
|
||||||
103,105,110,29,11,11,64,108,101,116,42,63,108,101,116,64,119,104,101,110,64,
|
103,105,110,29,11,11,63,108,101,116,64,99,111,110,100,66,117,110,108,101,115,
|
||||||
99,111,110,100,63,97,110,100,66,108,101,116,114,101,99,72,112,97,114,97,109,
|
115,66,100,101,102,105,110,101,64,119,104,101,110,64,108,101,116,42,63,97,110,
|
||||||
101,116,101,114,105,122,101,62,111,114,66,100,101,102,105,110,101,66,117,110,108,
|
100,72,112,97,114,97,109,101,116,101,114,105,122,101,66,108,101,116,114,101,99,
|
||||||
101,115,115,68,104,101,114,101,45,115,116,120,65,113,117,111,116,101,29,94,2,
|
62,111,114,68,104,101,114,101,45,115,116,120,65,113,117,111,116,101,29,94,2,
|
||||||
14,68,35,37,107,101,114,110,101,108,11,29,94,2,14,68,35,37,112,97,114,
|
14,68,35,37,107,101,114,110,101,108,11,29,94,2,14,68,35,37,112,97,114,
|
||||||
97,109,122,11,62,105,102,63,115,116,120,61,115,70,108,101,116,45,118,97,108,
|
97,109,122,11,62,105,102,63,115,116,120,61,115,70,108,101,116,45,118,97,108,
|
||||||
117,101,115,61,120,73,108,101,116,114,101,99,45,118,97,108,117,101,115,66,108,
|
117,101,115,61,120,73,108,101,116,114,101,99,45,118,97,108,117,101,115,66,108,
|
||||||
97,109,98,100,97,1,20,112,97,114,97,109,101,116,101,114,105,122,97,116,105,
|
97,109,98,100,97,1,20,112,97,114,97,109,101,116,101,114,105,122,97,116,105,
|
||||||
111,110,45,107,101,121,61,118,73,100,101,102,105,110,101,45,118,97,108,117,101,
|
111,110,45,107,101,121,61,118,73,100,101,102,105,110,101,45,118,97,108,117,101,
|
||||||
115,98,10,34,11,8,143,183,94,159,2,16,34,34,159,2,15,34,34,16,20,
|
115,98,10,34,11,8,143,183,94,159,2,16,34,34,159,2,15,34,34,16,20,
|
||||||
2,10,2,2,2,3,2,2,2,4,2,2,2,5,2,2,2,6,2,2,2,
|
2,3,2,2,2,5,2,2,2,6,2,2,2,7,2,2,2,8,2,2,2,
|
||||||
7,2,2,2,9,2,2,2,8,2,2,2,11,2,2,2,12,2,2,97,35,
|
9,2,2,2,4,2,2,2,10,2,2,2,11,2,2,2,12,2,2,97,35,
|
||||||
11,8,143,183,93,159,2,15,34,35,16,2,2,13,161,2,2,35,2,13,2,
|
11,8,143,183,93,159,2,15,34,35,16,2,2,13,161,2,2,35,2,13,2,
|
||||||
2,2,13,97,10,11,11,8,143,183,16,0,97,10,36,11,8,143,183,16,0,
|
2,2,13,97,10,11,11,8,143,183,16,0,97,10,36,11,8,143,183,16,0,
|
||||||
13,16,4,34,29,11,11,2,2,11,18,98,64,104,101,114,101,8,31,8,30,
|
13,16,4,34,29,11,11,2,2,11,18,98,64,104,101,114,101,8,31,8,30,
|
||||||
8,29,8,28,8,27,27,248,22,178,3,23,196,1,249,22,171,3,80,158,37,
|
8,29,8,28,8,27,27,248,22,180,3,23,196,1,249,22,173,3,80,158,37,
|
||||||
34,251,22,73,2,17,248,22,88,23,200,2,12,249,22,63,2,1,248,22,90,
|
34,251,22,73,2,17,248,22,88,23,200,2,12,249,22,63,2,1,248,22,90,
|
||||||
23,202,1,27,248,22,178,3,23,196,1,249,22,171,3,80,158,37,34,251,22,
|
23,202,1,27,248,22,180,3,23,196,1,249,22,173,3,80,158,37,34,251,22,
|
||||||
73,2,17,248,22,88,23,200,2,249,22,63,2,1,248,22,90,23,202,1,12,
|
73,2,17,248,22,88,23,200,2,249,22,63,2,1,248,22,90,23,202,1,12,
|
||||||
27,248,22,65,248,22,178,3,23,197,1,28,248,22,71,23,194,2,20,15,159,
|
27,248,22,65,248,22,180,3,23,197,1,28,248,22,71,23,194,2,20,15,159,
|
||||||
35,34,35,28,248,22,71,248,22,65,23,195,2,248,22,64,193,249,22,171,3,
|
35,34,35,28,248,22,71,248,22,65,23,195,2,248,22,64,193,249,22,173,3,
|
||||||
80,158,37,34,251,22,73,2,17,248,22,64,23,200,2,249,22,63,2,7,248,
|
80,158,37,34,251,22,73,2,17,248,22,64,23,200,2,249,22,63,2,9,248,
|
||||||
22,65,23,202,1,11,18,100,10,8,31,8,30,8,29,8,28,8,27,16,4,
|
22,65,23,202,1,11,18,100,10,8,31,8,30,8,29,8,28,8,27,16,4,
|
||||||
11,11,2,18,3,1,7,101,110,118,55,50,49,49,16,4,11,11,2,19,3,
|
11,11,2,18,3,1,7,101,110,118,55,50,49,49,16,4,11,11,2,19,3,
|
||||||
1,7,101,110,118,55,50,49,50,27,248,22,65,248,22,178,3,23,197,1,28,
|
1,7,101,110,118,55,50,49,50,27,248,22,65,248,22,180,3,23,197,1,28,
|
||||||
248,22,71,23,194,2,20,15,159,35,34,35,28,248,22,71,248,22,65,23,195,
|
248,22,71,23,194,2,20,15,159,35,34,35,28,248,22,71,248,22,65,23,195,
|
||||||
2,248,22,64,193,249,22,171,3,80,158,37,34,250,22,73,2,20,248,22,73,
|
2,248,22,64,193,249,22,173,3,80,158,37,34,250,22,73,2,20,248,22,73,
|
||||||
249,22,73,248,22,73,2,21,248,22,64,23,202,2,251,22,73,2,17,2,21,
|
249,22,73,248,22,73,2,21,248,22,64,23,202,2,251,22,73,2,17,2,21,
|
||||||
2,21,249,22,63,2,10,248,22,65,23,205,1,18,100,11,8,31,8,30,8,
|
2,21,249,22,63,2,12,248,22,65,23,205,1,18,100,11,8,31,8,30,8,
|
||||||
29,8,28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,55,50,49,52,
|
29,8,28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,55,50,49,52,
|
||||||
16,4,11,11,2,19,3,1,7,101,110,118,55,50,49,53,248,22,178,3,193,
|
16,4,11,11,2,19,3,1,7,101,110,118,55,50,49,53,248,22,180,3,193,
|
||||||
27,248,22,178,3,194,249,22,63,248,22,73,248,22,64,196,248,22,65,195,27,
|
27,248,22,180,3,194,249,22,63,248,22,73,248,22,64,196,248,22,65,195,27,
|
||||||
248,22,65,248,22,178,3,23,197,1,249,22,171,3,80,158,37,34,28,248,22,
|
248,22,65,248,22,180,3,23,197,1,249,22,173,3,80,158,37,34,28,248,22,
|
||||||
51,248,22,172,3,248,22,64,23,198,2,27,249,22,2,32,0,89,162,8,44,
|
51,248,22,174,3,248,22,64,23,198,2,27,249,22,2,32,0,89,162,8,44,
|
||||||
35,41,9,222,33,39,248,22,178,3,248,22,88,23,200,2,250,22,73,2,22,
|
35,41,9,222,33,39,248,22,180,3,248,22,88,23,200,2,250,22,73,2,22,
|
||||||
248,22,73,249,22,73,248,22,73,248,22,64,23,204,2,250,22,74,2,23,249,
|
248,22,73,249,22,73,248,22,73,248,22,64,23,204,2,250,22,74,2,23,249,
|
||||||
22,2,22,64,23,204,2,248,22,90,23,206,2,249,22,63,248,22,64,23,202,
|
22,2,22,64,23,204,2,248,22,90,23,206,2,249,22,63,248,22,64,23,202,
|
||||||
1,249,22,2,22,88,23,200,1,250,22,74,2,20,249,22,2,32,0,89,162,
|
1,249,22,2,22,88,23,200,1,250,22,74,2,20,249,22,2,32,0,89,162,
|
||||||
8,44,35,45,9,222,33,40,248,22,178,3,248,22,64,201,248,22,65,198,27,
|
8,44,35,45,9,222,33,40,248,22,180,3,248,22,64,201,248,22,65,198,27,
|
||||||
248,22,178,3,194,249,22,63,248,22,73,248,22,64,196,248,22,65,195,27,248,
|
248,22,180,3,194,249,22,63,248,22,73,248,22,64,196,248,22,65,195,27,248,
|
||||||
22,65,248,22,178,3,23,197,1,249,22,171,3,80,158,37,34,250,22,74,2,
|
22,65,248,22,180,3,23,197,1,249,22,173,3,80,158,37,34,250,22,74,2,
|
||||||
22,249,22,2,32,0,89,162,8,44,35,45,9,222,33,42,248,22,178,3,248,
|
22,249,22,2,32,0,89,162,8,44,35,45,9,222,33,42,248,22,180,3,248,
|
||||||
22,64,201,248,22,65,198,27,248,22,65,248,22,178,3,196,27,248,22,178,3,
|
22,64,201,248,22,65,198,27,248,22,65,248,22,180,3,196,27,248,22,180,3,
|
||||||
248,22,64,195,249,22,171,3,80,158,38,34,28,248,22,71,195,250,22,74,2,
|
248,22,64,195,249,22,173,3,80,158,38,34,28,248,22,71,195,250,22,74,2,
|
||||||
20,9,248,22,65,199,250,22,73,2,4,248,22,73,248,22,64,199,250,22,74,
|
20,9,248,22,65,199,250,22,73,2,3,248,22,73,248,22,64,199,250,22,74,
|
||||||
2,3,248,22,65,201,248,22,65,202,27,248,22,65,248,22,178,3,23,197,1,
|
2,8,248,22,65,201,248,22,65,202,27,248,22,65,248,22,180,3,23,197,1,
|
||||||
27,249,22,1,22,77,249,22,2,22,178,3,248,22,178,3,248,22,64,199,249,
|
27,249,22,1,22,77,249,22,2,22,180,3,248,22,180,3,248,22,64,199,249,
|
||||||
22,171,3,80,158,38,34,251,22,73,1,22,119,105,116,104,45,99,111,110,116,
|
22,173,3,80,158,38,34,251,22,73,1,22,119,105,116,104,45,99,111,110,116,
|
||||||
105,110,117,97,116,105,111,110,45,109,97,114,107,2,24,250,22,74,1,23,101,
|
105,110,117,97,116,105,111,110,45,109,97,114,107,2,24,250,22,74,1,23,101,
|
||||||
120,116,101,110,100,45,112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,
|
120,116,101,110,100,45,112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,
|
||||||
110,21,95,1,27,99,111,110,116,105,110,117,97,116,105,111,110,45,109,97,114,
|
110,21,95,1,27,99,111,110,116,105,110,117,97,116,105,111,110,45,109,97,114,
|
||||||
107,45,115,101,116,45,102,105,114,115,116,11,2,24,201,250,22,74,2,20,9,
|
107,45,115,101,116,45,102,105,114,115,116,11,2,24,201,250,22,74,2,20,9,
|
||||||
248,22,65,203,27,248,22,65,248,22,178,3,23,197,1,28,248,22,71,23,194,
|
248,22,65,203,27,248,22,65,248,22,180,3,23,197,1,28,248,22,71,23,194,
|
||||||
2,20,15,159,35,34,35,249,22,171,3,80,158,37,34,27,248,22,178,3,248,
|
2,20,15,159,35,34,35,249,22,173,3,80,158,37,34,27,248,22,180,3,248,
|
||||||
22,64,23,198,2,28,249,22,138,8,62,61,62,248,22,172,3,248,22,88,23,
|
22,64,23,198,2,28,249,22,140,8,62,61,62,248,22,174,3,248,22,88,23,
|
||||||
197,2,250,22,73,2,20,248,22,73,249,22,73,21,93,2,25,248,22,64,199,
|
197,2,250,22,73,2,20,248,22,73,249,22,73,21,93,2,25,248,22,64,199,
|
||||||
250,22,74,2,6,249,22,73,2,25,249,22,73,248,22,97,203,2,25,248,22,
|
250,22,74,2,4,249,22,73,2,25,249,22,73,248,22,97,203,2,25,248,22,
|
||||||
65,202,251,22,73,2,17,28,249,22,138,8,248,22,172,3,248,22,64,23,201,
|
65,202,251,22,73,2,17,28,249,22,140,8,248,22,174,3,248,22,64,23,201,
|
||||||
2,64,101,108,115,101,10,248,22,64,23,198,2,250,22,74,2,20,9,248,22,
|
2,64,101,108,115,101,10,248,22,64,23,198,2,250,22,74,2,20,9,248,22,
|
||||||
65,23,201,1,249,22,63,2,6,248,22,65,23,203,1,99,8,31,8,30,8,
|
65,23,201,1,249,22,63,2,4,248,22,65,23,203,1,99,8,31,8,30,8,
|
||||||
29,8,28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,55,50,51,55,
|
29,8,28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,55,50,51,55,
|
||||||
16,4,11,11,2,19,3,1,7,101,110,118,55,50,51,56,18,158,94,10,64,
|
16,4,11,11,2,19,3,1,7,101,110,118,55,50,51,56,18,158,94,10,64,
|
||||||
118,111,105,100,8,47,27,248,22,65,248,22,178,3,196,249,22,171,3,80,158,
|
118,111,105,100,8,47,27,248,22,65,248,22,180,3,196,249,22,173,3,80,158,
|
||||||
37,34,28,248,22,51,248,22,172,3,248,22,64,197,250,22,73,2,26,248,22,
|
37,34,28,248,22,51,248,22,174,3,248,22,64,197,250,22,73,2,26,248,22,
|
||||||
73,248,22,64,199,248,22,88,198,27,248,22,172,3,248,22,64,197,250,22,73,
|
73,248,22,64,199,248,22,88,198,27,248,22,174,3,248,22,64,197,250,22,73,
|
||||||
2,26,248,22,73,248,22,64,197,250,22,74,2,23,248,22,65,199,248,22,65,
|
2,26,248,22,73,248,22,64,197,250,22,74,2,23,248,22,65,199,248,22,65,
|
||||||
202,159,34,20,103,159,34,16,1,20,24,2,1,16,0,83,158,40,20,100,137,
|
202,159,34,20,102,159,34,16,1,20,24,2,1,16,0,83,158,40,20,99,137,
|
||||||
69,35,37,109,105,110,45,115,116,120,2,2,10,11,10,34,80,158,34,34,20,
|
69,35,37,109,105,110,45,115,116,120,2,2,10,11,10,34,80,158,34,34,20,
|
||||||
103,159,34,16,0,16,0,11,11,16,0,34,11,37,34,11,16,10,9,9,9,
|
102,159,34,16,0,16,0,11,11,16,0,34,11,37,34,11,16,10,9,9,9,
|
||||||
9,9,9,9,9,9,9,16,10,2,3,2,4,2,5,2,6,2,7,2,8,
|
9,9,9,9,9,9,9,16,10,2,3,2,4,2,5,2,6,2,7,2,8,
|
||||||
2,9,2,10,2,11,2,12,16,10,11,11,11,11,11,11,11,11,11,11,16,
|
2,9,2,10,2,11,2,12,16,10,11,11,11,11,11,11,11,11,11,11,16,
|
||||||
10,2,3,2,4,2,5,2,6,2,7,2,8,2,9,2,10,2,11,2,12,
|
10,2,3,2,4,2,5,2,6,2,7,2,8,2,9,2,10,2,11,2,12,
|
||||||
34,44,35,11,11,16,0,16,0,16,0,34,34,11,11,11,16,0,16,0,16,
|
34,44,35,11,11,16,0,16,0,16,0,34,34,11,11,11,16,0,16,0,16,
|
||||||
0,34,34,16,11,16,5,93,2,13,20,15,159,34,34,34,34,20,103,159,34,
|
0,34,34,16,11,16,5,93,2,13,20,15,159,34,34,34,34,20,102,159,34,
|
||||||
16,0,16,1,33,32,10,16,5,93,2,12,89,162,8,44,35,51,9,223,0,
|
16,0,16,1,33,32,10,16,5,93,2,5,89,162,8,44,35,51,9,223,0,
|
||||||
33,33,34,20,103,159,34,16,1,20,25,159,35,2,2,2,13,16,0,11,16,
|
33,33,34,20,102,159,34,16,1,20,25,159,35,2,2,2,13,16,0,11,16,
|
||||||
5,93,2,5,89,162,8,44,35,51,9,223,0,33,34,34,20,103,159,34,16,
|
5,93,2,7,89,162,8,44,35,51,9,223,0,33,34,34,20,102,159,34,16,
|
||||||
1,20,25,159,35,2,2,2,13,16,0,11,16,5,93,2,7,89,162,8,44,
|
1,20,25,159,35,2,2,2,13,16,0,11,16,5,93,2,9,89,162,8,44,
|
||||||
35,51,9,223,0,33,35,34,20,103,159,34,16,1,20,25,159,35,2,2,2,
|
35,51,9,223,0,33,35,34,20,102,159,34,16,1,20,25,159,35,2,2,2,
|
||||||
13,16,1,33,36,11,16,5,93,2,10,89,162,8,44,35,54,9,223,0,33,
|
13,16,1,33,36,11,16,5,93,2,12,89,162,8,44,35,54,9,223,0,33,
|
||||||
37,34,20,103,159,34,16,1,20,25,159,35,2,2,2,13,16,1,33,38,11,
|
37,34,20,102,159,34,16,1,20,25,159,35,2,2,2,13,16,1,33,38,11,
|
||||||
16,5,93,2,4,89,162,8,44,35,56,9,223,0,33,41,34,20,103,159,34,
|
16,5,93,2,3,89,162,8,44,35,56,9,223,0,33,41,34,20,102,159,34,
|
||||||
16,1,20,25,159,35,2,2,2,13,16,0,11,16,5,93,2,8,89,162,8,
|
16,1,20,25,159,35,2,2,2,13,16,0,11,16,5,93,2,11,89,162,8,
|
||||||
44,35,51,9,223,0,33,43,34,20,103,159,34,16,1,20,25,159,35,2,2,
|
44,35,51,9,223,0,33,43,34,20,102,159,34,16,1,20,25,159,35,2,2,
|
||||||
2,13,16,0,11,16,5,93,2,3,89,162,8,44,35,52,9,223,0,33,44,
|
2,13,16,0,11,16,5,93,2,8,89,162,8,44,35,52,9,223,0,33,44,
|
||||||
34,20,103,159,34,16,1,20,25,159,35,2,2,2,13,16,0,11,16,5,93,
|
34,20,102,159,34,16,1,20,25,159,35,2,2,2,13,16,0,11,16,5,93,
|
||||||
2,9,89,162,8,44,35,53,9,223,0,33,45,34,20,103,159,34,16,1,20,
|
2,10,89,162,8,44,35,53,9,223,0,33,45,34,20,102,159,34,16,1,20,
|
||||||
25,159,35,2,2,2,13,16,0,11,16,5,93,2,6,89,162,8,44,35,56,
|
25,159,35,2,2,2,13,16,0,11,16,5,93,2,4,89,162,8,44,35,56,
|
||||||
9,223,0,33,46,34,20,103,159,34,16,1,20,25,159,35,2,2,2,13,16,
|
9,223,0,33,46,34,20,102,159,34,16,1,20,25,159,35,2,2,2,13,16,
|
||||||
1,33,48,11,16,5,93,2,11,89,162,8,44,35,52,9,223,0,33,49,34,
|
1,33,48,11,16,5,93,2,6,89,162,8,44,35,52,9,223,0,33,49,34,
|
||||||
20,103,159,34,16,1,20,25,159,35,2,2,2,13,16,0,11,16,0,94,2,
|
20,102,159,34,16,1,20,25,159,35,2,2,2,13,16,0,11,16,0,94,2,
|
||||||
15,2,16,93,2,15,9,9,34,0};
|
15,2,16,93,2,15,9,9,34,0};
|
||||||
EVAL_ONE_SIZED_STR((char *)expr, 2046);
|
EVAL_ONE_SIZED_STR((char *)expr, 2046);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,51,46,57,57,46,48,46,49,52,61,0,0,0,1,0,0,3,0,
|
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,51,46,57,57,46,48,46,49,54,61,0,0,0,1,0,0,3,0,
|
||||||
16,0,21,0,38,0,53,0,71,0,87,0,97,0,115,0,135,0,151,0,169,
|
16,0,21,0,38,0,53,0,71,0,87,0,97,0,115,0,135,0,151,0,169,
|
||||||
0,200,0,229,0,251,0,9,1,15,1,29,1,34,1,44,1,52,1,80,1,
|
0,200,0,229,0,251,0,9,1,15,1,29,1,34,1,44,1,52,1,80,1,
|
||||||
112,1,157,1,202,1,226,1,9,2,11,2,20,2,77,2,167,3,176,3,217,
|
112,1,157,1,202,1,226,1,9,2,11,2,20,2,77,2,167,3,176,3,217,
|
||||||
|
@ -133,175 +133,175 @@
|
||||||
99,97,110,110,111,116,32,97,100,100,32,97,32,115,117,102,102,105,120,32,116,
|
99,97,110,110,111,116,32,97,100,100,32,97,32,115,117,102,102,105,120,32,116,
|
||||||
111,32,97,32,114,111,111,116,32,112,97,116,104,58,32,5,0,68,35,37,107,
|
111,32,97,32,114,111,111,116,32,112,97,116,104,58,32,5,0,68,35,37,107,
|
||||||
101,114,110,101,108,27,20,14,159,80,158,35,49,250,80,158,38,50,249,22,27,
|
101,114,110,101,108,27,20,14,159,80,158,35,49,250,80,158,38,50,249,22,27,
|
||||||
11,80,158,40,49,22,138,12,10,248,22,186,4,23,196,2,28,248,22,164,5,
|
11,80,158,40,49,22,140,12,10,248,22,188,4,23,196,2,28,248,22,166,5,
|
||||||
23,194,2,12,87,94,248,22,141,8,23,194,1,248,80,159,36,53,35,195,28,
|
23,194,2,12,87,94,248,22,143,8,23,194,1,248,80,159,36,53,35,195,28,
|
||||||
248,22,71,23,195,2,9,27,248,22,64,23,196,2,27,28,248,22,183,12,23,
|
248,22,71,23,195,2,9,27,248,22,64,23,196,2,27,28,248,22,185,12,23,
|
||||||
195,2,23,194,1,28,248,22,182,12,23,195,2,249,22,184,12,23,196,1,250,
|
195,2,23,194,1,28,248,22,184,12,23,195,2,249,22,186,12,23,196,1,250,
|
||||||
80,158,41,47,248,22,134,13,2,20,11,10,250,80,158,39,47,248,22,134,13,
|
80,158,41,47,248,22,136,13,2,20,11,10,250,80,158,39,47,248,22,136,13,
|
||||||
2,20,23,197,1,10,28,23,193,2,249,22,63,248,22,186,12,249,22,184,12,
|
2,20,23,197,1,10,28,23,193,2,249,22,63,248,22,188,12,249,22,186,12,
|
||||||
23,198,1,247,22,135,13,27,248,22,65,23,200,1,28,248,22,71,23,194,2,
|
23,198,1,247,22,137,13,27,248,22,65,23,200,1,28,248,22,71,23,194,2,
|
||||||
9,27,248,22,64,23,195,2,27,28,248,22,183,12,23,195,2,23,194,1,28,
|
9,27,248,22,64,23,195,2,27,28,248,22,185,12,23,195,2,23,194,1,28,
|
||||||
248,22,182,12,23,195,2,249,22,184,12,23,196,1,250,80,158,46,47,248,22,
|
248,22,184,12,23,195,2,249,22,186,12,23,196,1,250,80,158,46,47,248,22,
|
||||||
134,13,2,20,11,10,250,80,158,44,47,248,22,134,13,2,20,23,197,1,10,
|
136,13,2,20,11,10,250,80,158,44,47,248,22,136,13,2,20,23,197,1,10,
|
||||||
28,23,193,2,249,22,63,248,22,186,12,249,22,184,12,23,198,1,247,22,135,
|
28,23,193,2,249,22,63,248,22,188,12,249,22,186,12,23,198,1,247,22,137,
|
||||||
13,248,80,159,44,52,35,248,22,65,23,199,1,87,94,23,193,1,248,80,159,
|
13,248,80,159,44,52,35,248,22,65,23,199,1,87,94,23,193,1,248,80,159,
|
||||||
42,52,35,248,22,65,23,197,1,87,94,23,193,1,27,248,22,65,23,198,1,
|
42,52,35,248,22,65,23,197,1,87,94,23,193,1,27,248,22,65,23,198,1,
|
||||||
28,248,22,71,23,194,2,9,27,248,22,64,23,195,2,27,28,248,22,183,12,
|
28,248,22,71,23,194,2,9,27,248,22,64,23,195,2,27,28,248,22,185,12,
|
||||||
23,195,2,23,194,1,28,248,22,182,12,23,195,2,249,22,184,12,23,196,1,
|
23,195,2,23,194,1,28,248,22,184,12,23,195,2,249,22,186,12,23,196,1,
|
||||||
250,80,158,44,47,248,22,134,13,2,20,11,10,250,80,158,42,47,248,22,134,
|
250,80,158,44,47,248,22,136,13,2,20,11,10,250,80,158,42,47,248,22,136,
|
||||||
13,2,20,23,197,1,10,28,23,193,2,249,22,63,248,22,186,12,249,22,184,
|
13,2,20,23,197,1,10,28,23,193,2,249,22,63,248,22,188,12,249,22,186,
|
||||||
12,23,198,1,247,22,135,13,248,80,159,42,52,35,248,22,65,23,199,1,248,
|
12,23,198,1,247,22,137,13,248,80,159,42,52,35,248,22,65,23,199,1,248,
|
||||||
80,159,40,52,35,248,22,65,196,249,80,159,36,37,35,2,7,195,27,248,22,
|
80,159,40,52,35,248,22,65,196,249,80,159,36,37,35,2,7,195,27,248,22,
|
||||||
159,12,23,195,2,28,23,193,2,192,87,94,23,193,1,28,248,22,133,6,23,
|
161,12,23,195,2,28,23,193,2,192,87,94,23,193,1,28,248,22,135,6,23,
|
||||||
195,2,27,248,22,181,12,195,28,192,192,248,22,182,12,195,11,87,94,28,28,
|
195,2,27,248,22,183,12,195,28,192,192,248,22,184,12,195,11,87,94,28,28,
|
||||||
248,22,160,12,23,195,2,10,27,248,22,159,12,23,196,2,28,23,193,2,192,
|
248,22,162,12,23,195,2,10,27,248,22,161,12,23,196,2,28,23,193,2,192,
|
||||||
87,94,23,193,1,28,248,22,133,6,23,196,2,27,248,22,181,12,23,197,2,
|
87,94,23,193,1,28,248,22,135,6,23,196,2,27,248,22,183,12,23,197,2,
|
||||||
28,23,193,2,192,87,94,23,193,1,248,22,182,12,23,197,2,11,12,250,22,
|
28,23,193,2,192,87,94,23,193,1,248,22,184,12,23,197,2,11,12,250,22,
|
||||||
168,8,76,110,111,114,109,97,108,45,112,97,116,104,45,99,97,115,101,6,42,
|
170,8,76,110,111,114,109,97,108,45,112,97,116,104,45,99,97,115,101,6,42,
|
||||||
42,112,97,116,104,32,40,102,111,114,32,97,110,121,32,115,121,115,116,101,109,
|
42,112,97,116,104,32,40,102,111,114,32,97,110,121,32,115,121,115,116,101,109,
|
||||||
41,32,111,114,32,118,97,108,105,100,45,112,97,116,104,32,115,116,114,105,110,
|
41,32,111,114,32,118,97,108,105,100,45,112,97,116,104,32,115,116,114,105,110,
|
||||||
103,23,197,2,28,28,248,22,160,12,23,195,2,249,22,138,8,248,22,161,12,
|
103,23,197,2,28,28,248,22,162,12,23,195,2,249,22,140,8,248,22,163,12,
|
||||||
23,197,2,2,21,249,22,138,8,247,22,152,7,2,21,27,28,248,22,133,6,
|
23,197,2,2,21,249,22,140,8,247,22,154,7,2,21,27,28,248,22,135,6,
|
||||||
23,196,2,23,195,2,248,22,142,7,248,22,164,12,23,197,2,28,249,22,147,
|
23,196,2,23,195,2,248,22,144,7,248,22,166,12,23,197,2,28,249,22,149,
|
||||||
13,0,21,35,114,120,34,94,91,92,92,93,91,92,92,93,91,63,93,91,92,
|
13,0,21,35,114,120,34,94,91,92,92,93,91,92,92,93,91,63,93,91,92,
|
||||||
92,93,34,23,195,2,28,248,22,133,6,195,248,22,167,12,195,194,27,248,22,
|
92,93,34,23,195,2,28,248,22,135,6,195,248,22,169,12,195,194,27,248,22,
|
||||||
172,6,23,195,1,249,22,168,12,248,22,145,7,250,22,153,13,0,6,35,114,
|
174,6,23,195,1,249,22,170,12,248,22,147,7,250,22,155,13,0,6,35,114,
|
||||||
120,34,47,34,28,249,22,147,13,0,22,35,114,120,34,91,47,92,92,93,91,
|
120,34,47,34,28,249,22,149,13,0,22,35,114,120,34,91,47,92,92,93,91,
|
||||||
46,32,93,43,91,47,92,92,93,42,36,34,23,201,2,23,199,1,250,22,153,
|
46,32,93,43,91,47,92,92,93,42,36,34,23,201,2,23,199,1,250,22,155,
|
||||||
13,0,19,35,114,120,34,91,32,46,93,43,40,91,47,92,92,93,42,41,36,
|
13,0,19,35,114,120,34,91,32,46,93,43,40,91,47,92,92,93,42,41,36,
|
||||||
34,23,202,1,6,2,2,92,49,80,158,42,35,2,21,28,248,22,133,6,194,
|
34,23,202,1,6,2,2,92,49,80,158,42,35,2,21,28,248,22,135,6,194,
|
||||||
248,22,167,12,194,193,87,94,28,27,248,22,159,12,23,196,2,28,23,193,2,
|
248,22,169,12,194,193,87,94,28,27,248,22,161,12,23,196,2,28,23,193,2,
|
||||||
192,87,94,23,193,1,28,248,22,133,6,23,196,2,27,248,22,181,12,23,197,
|
192,87,94,23,193,1,28,248,22,135,6,23,196,2,27,248,22,183,12,23,197,
|
||||||
2,28,23,193,2,192,87,94,23,193,1,248,22,182,12,23,197,2,11,12,250,
|
2,28,23,193,2,192,87,94,23,193,1,248,22,184,12,23,197,2,11,12,250,
|
||||||
22,168,8,23,196,2,2,22,23,197,2,28,248,22,181,12,23,195,2,12,248,
|
22,170,8,23,196,2,2,22,23,197,2,28,248,22,183,12,23,195,2,12,248,
|
||||||
22,183,10,249,22,128,10,248,22,162,6,250,22,181,6,2,23,23,200,1,23,
|
22,185,10,249,22,130,10,248,22,164,6,250,22,183,6,2,23,23,200,1,23,
|
||||||
201,1,247,22,23,87,94,28,27,248,22,159,12,23,196,2,28,23,193,2,192,
|
201,1,247,22,23,87,94,28,27,248,22,161,12,23,196,2,28,23,193,2,192,
|
||||||
87,94,23,193,1,28,248,22,133,6,23,196,2,27,248,22,181,12,23,197,2,
|
87,94,23,193,1,28,248,22,135,6,23,196,2,27,248,22,183,12,23,197,2,
|
||||||
28,23,193,2,192,87,94,23,193,1,248,22,182,12,23,197,2,11,12,250,22,
|
28,23,193,2,192,87,94,23,193,1,248,22,184,12,23,197,2,11,12,250,22,
|
||||||
168,8,23,196,2,2,22,23,197,2,28,248,22,181,12,23,195,2,12,248,22,
|
170,8,23,196,2,2,22,23,197,2,28,248,22,183,12,23,195,2,12,248,22,
|
||||||
183,10,249,22,128,10,248,22,162,6,250,22,181,6,2,23,23,200,1,23,201,
|
185,10,249,22,130,10,248,22,164,6,250,22,183,6,2,23,23,200,1,23,201,
|
||||||
1,247,22,23,87,94,87,94,28,27,248,22,159,12,23,196,2,28,23,193,2,
|
1,247,22,23,87,94,87,94,28,27,248,22,161,12,23,196,2,28,23,193,2,
|
||||||
192,87,94,23,193,1,28,248,22,133,6,23,196,2,27,248,22,181,12,23,197,
|
192,87,94,23,193,1,28,248,22,135,6,23,196,2,27,248,22,183,12,23,197,
|
||||||
2,28,23,193,2,192,87,94,23,193,1,248,22,182,12,23,197,2,11,12,250,
|
2,28,23,193,2,192,87,94,23,193,1,248,22,184,12,23,197,2,11,12,250,
|
||||||
22,168,8,195,2,22,23,197,2,28,248,22,181,12,23,195,2,12,248,22,183,
|
22,170,8,195,2,22,23,197,2,28,248,22,183,12,23,195,2,12,248,22,185,
|
||||||
10,249,22,128,10,248,22,162,6,250,22,181,6,2,23,199,23,201,1,247,22,
|
10,249,22,130,10,248,22,164,6,250,22,183,6,2,23,199,23,201,1,247,22,
|
||||||
23,249,22,3,89,162,42,35,48,9,223,2,33,36,196,248,22,183,10,249,22,
|
23,249,22,3,89,162,42,35,48,9,223,2,33,36,196,248,22,185,10,249,22,
|
||||||
158,10,23,196,1,247,22,23,87,94,87,94,249,80,159,36,37,35,2,7,195,
|
160,10,23,196,1,247,22,23,87,94,87,94,249,80,159,36,37,35,2,7,195,
|
||||||
249,22,3,80,159,36,51,35,196,251,80,159,38,40,35,2,7,32,0,89,162,
|
249,22,3,80,159,36,51,35,196,251,80,159,38,40,35,2,7,32,0,89,162,
|
||||||
42,35,43,9,222,33,38,197,198,32,40,89,162,42,40,57,65,99,108,111,111,
|
42,35,43,9,222,33,38,197,198,32,40,89,162,42,40,57,65,99,108,111,111,
|
||||||
112,222,33,41,28,248,22,71,23,199,2,87,94,23,198,1,248,23,196,1,251,
|
112,222,33,41,28,248,22,71,23,199,2,87,94,23,198,1,248,23,196,1,251,
|
||||||
22,181,6,2,24,23,199,1,28,248,22,71,23,203,2,87,94,23,202,1,23,
|
22,183,6,2,24,23,199,1,28,248,22,71,23,203,2,87,94,23,202,1,23,
|
||||||
201,1,250,22,1,22,177,12,23,204,1,23,205,1,23,198,1,27,249,22,177,
|
201,1,250,22,1,22,179,12,23,204,1,23,205,1,23,198,1,27,249,22,179,
|
||||||
12,248,22,64,23,202,2,23,199,2,28,248,22,172,12,23,194,2,27,250,22,
|
12,248,22,64,23,202,2,23,199,2,28,248,22,174,12,23,194,2,27,250,22,
|
||||||
1,22,177,12,23,197,1,23,202,2,28,248,22,172,12,23,194,2,192,87,94,
|
1,22,179,12,23,197,1,23,202,2,28,248,22,174,12,23,194,2,192,87,94,
|
||||||
23,193,1,27,248,22,65,23,202,1,28,248,22,71,23,194,2,87,94,23,193,
|
23,193,1,27,248,22,65,23,202,1,28,248,22,71,23,194,2,87,94,23,193,
|
||||||
1,248,23,199,1,251,22,181,6,2,24,23,202,1,28,248,22,71,23,206,2,
|
1,248,23,199,1,251,22,183,6,2,24,23,202,1,28,248,22,71,23,206,2,
|
||||||
87,94,23,205,1,23,204,1,250,22,1,22,177,12,23,207,1,23,208,1,23,
|
87,94,23,205,1,23,204,1,250,22,1,22,179,12,23,207,1,23,208,1,23,
|
||||||
201,1,27,249,22,177,12,248,22,64,23,197,2,23,202,2,28,248,22,172,12,
|
201,1,27,249,22,179,12,248,22,64,23,197,2,23,202,2,28,248,22,174,12,
|
||||||
23,194,2,27,250,22,1,22,177,12,23,197,1,204,28,248,22,172,12,193,192,
|
23,194,2,27,250,22,1,22,179,12,23,197,1,204,28,248,22,174,12,193,192,
|
||||||
253,2,40,203,204,205,206,23,15,248,22,65,201,253,2,40,202,203,204,205,206,
|
253,2,40,203,204,205,206,23,15,248,22,65,201,253,2,40,202,203,204,205,206,
|
||||||
248,22,65,200,87,94,23,193,1,27,248,22,65,23,201,1,28,248,22,71,23,
|
248,22,65,200,87,94,23,193,1,27,248,22,65,23,201,1,28,248,22,71,23,
|
||||||
194,2,87,94,23,193,1,248,23,198,1,251,22,181,6,2,24,23,201,1,28,
|
194,2,87,94,23,193,1,248,23,198,1,251,22,183,6,2,24,23,201,1,28,
|
||||||
248,22,71,23,205,2,87,94,23,204,1,23,203,1,250,22,1,22,177,12,23,
|
248,22,71,23,205,2,87,94,23,204,1,23,203,1,250,22,1,22,179,12,23,
|
||||||
206,1,23,207,1,23,200,1,27,249,22,177,12,248,22,64,23,197,2,23,201,
|
206,1,23,207,1,23,200,1,27,249,22,179,12,248,22,64,23,197,2,23,201,
|
||||||
2,28,248,22,172,12,23,194,2,27,250,22,1,22,177,12,23,197,1,203,28,
|
2,28,248,22,174,12,23,194,2,27,250,22,1,22,179,12,23,197,1,203,28,
|
||||||
248,22,172,12,193,192,253,2,40,202,203,204,205,206,248,22,65,201,253,2,40,
|
248,22,174,12,193,192,253,2,40,202,203,204,205,206,248,22,65,201,253,2,40,
|
||||||
201,202,203,204,205,248,22,65,200,27,247,22,136,13,253,2,40,198,199,200,201,
|
201,202,203,204,205,248,22,65,200,27,247,22,138,13,253,2,40,198,199,200,201,
|
||||||
202,198,87,95,28,28,248,22,160,12,23,194,2,10,27,248,22,159,12,23,195,
|
202,198,87,95,28,28,248,22,162,12,23,194,2,10,27,248,22,161,12,23,195,
|
||||||
2,28,23,193,2,192,87,94,23,193,1,28,248,22,133,6,23,195,2,27,248,
|
2,28,23,193,2,192,87,94,23,193,1,28,248,22,135,6,23,195,2,27,248,
|
||||||
22,181,12,23,196,2,28,23,193,2,192,87,94,23,193,1,248,22,182,12,23,
|
22,183,12,23,196,2,28,23,193,2,192,87,94,23,193,1,248,22,184,12,23,
|
||||||
196,2,11,12,252,22,168,8,23,200,2,2,25,34,23,198,2,23,199,2,28,
|
196,2,11,12,252,22,170,8,23,200,2,2,25,34,23,198,2,23,199,2,28,
|
||||||
28,248,22,133,6,23,195,2,10,248,22,185,6,23,195,2,87,94,23,194,1,
|
28,248,22,135,6,23,195,2,10,248,22,187,6,23,195,2,87,94,23,194,1,
|
||||||
12,252,22,168,8,23,200,2,2,26,35,23,198,2,23,199,1,91,159,37,11,
|
12,252,22,170,8,23,200,2,2,26,35,23,198,2,23,199,1,91,159,37,11,
|
||||||
90,161,37,34,11,248,22,180,12,23,197,2,87,94,23,195,1,87,94,28,192,
|
90,161,37,34,11,248,22,182,12,23,197,2,87,94,23,195,1,87,94,28,192,
|
||||||
12,250,22,169,8,23,201,1,2,27,23,199,1,249,22,7,194,195,91,159,36,
|
12,250,22,171,8,23,201,1,2,27,23,199,1,249,22,7,194,195,91,159,36,
|
||||||
11,90,161,36,34,11,87,95,28,28,248,22,160,12,23,196,2,10,27,248,22,
|
11,90,161,36,34,11,87,95,28,28,248,22,162,12,23,196,2,10,27,248,22,
|
||||||
159,12,23,197,2,28,23,193,2,192,87,94,23,193,1,28,248,22,133,6,23,
|
161,12,23,197,2,28,23,193,2,192,87,94,23,193,1,28,248,22,135,6,23,
|
||||||
197,2,27,248,22,181,12,23,198,2,28,23,193,2,192,87,94,23,193,1,248,
|
197,2,27,248,22,183,12,23,198,2,28,23,193,2,192,87,94,23,193,1,248,
|
||||||
22,182,12,23,198,2,11,12,252,22,168,8,2,10,2,25,34,23,200,2,23,
|
22,184,12,23,198,2,11,12,252,22,170,8,2,10,2,25,34,23,200,2,23,
|
||||||
201,2,28,28,248,22,133,6,23,197,2,10,248,22,185,6,23,197,2,12,252,
|
201,2,28,28,248,22,135,6,23,197,2,10,248,22,187,6,23,197,2,12,252,
|
||||||
22,168,8,2,10,2,26,35,23,200,2,23,201,2,91,159,37,11,90,161,37,
|
22,170,8,2,10,2,26,35,23,200,2,23,201,2,91,159,37,11,90,161,37,
|
||||||
34,11,248,22,180,12,23,199,2,87,94,23,195,1,87,94,28,23,193,2,12,
|
34,11,248,22,182,12,23,199,2,87,94,23,195,1,87,94,28,23,193,2,12,
|
||||||
250,22,169,8,2,10,2,27,23,201,2,249,22,7,23,195,1,23,196,1,27,
|
250,22,171,8,2,10,2,27,23,201,2,249,22,7,23,195,1,23,196,1,27,
|
||||||
249,22,169,12,250,22,152,13,0,18,35,114,120,35,34,40,91,46,93,91,94,
|
249,22,171,12,250,22,154,13,0,18,35,114,120,35,34,40,91,46,93,91,94,
|
||||||
46,93,42,124,41,36,34,248,22,165,12,23,201,1,28,248,22,133,6,23,203,
|
46,93,42,124,41,36,34,248,22,167,12,23,201,1,28,248,22,135,6,23,203,
|
||||||
2,249,22,145,7,23,204,1,8,63,23,202,1,28,248,22,160,12,23,199,2,
|
2,249,22,147,7,23,204,1,8,63,23,202,1,28,248,22,162,12,23,199,2,
|
||||||
248,22,161,12,23,199,1,87,94,23,198,1,247,22,162,12,28,248,22,159,12,
|
248,22,163,12,23,199,1,87,94,23,198,1,247,22,164,12,28,248,22,161,12,
|
||||||
194,249,22,177,12,195,194,192,91,159,36,11,90,161,36,34,11,87,95,28,28,
|
194,249,22,179,12,195,194,192,91,159,36,11,90,161,36,34,11,87,95,28,28,
|
||||||
248,22,160,12,23,196,2,10,27,248,22,159,12,23,197,2,28,23,193,2,192,
|
248,22,162,12,23,196,2,10,27,248,22,161,12,23,197,2,28,23,193,2,192,
|
||||||
87,94,23,193,1,28,248,22,133,6,23,197,2,27,248,22,181,12,23,198,2,
|
87,94,23,193,1,28,248,22,135,6,23,197,2,27,248,22,183,12,23,198,2,
|
||||||
28,23,193,2,192,87,94,23,193,1,248,22,182,12,23,198,2,11,12,252,22,
|
28,23,193,2,192,87,94,23,193,1,248,22,184,12,23,198,2,11,12,252,22,
|
||||||
168,8,2,11,2,25,34,23,200,2,23,201,2,28,28,248,22,133,6,23,197,
|
170,8,2,11,2,25,34,23,200,2,23,201,2,28,28,248,22,135,6,23,197,
|
||||||
2,10,248,22,185,6,23,197,2,12,252,22,168,8,2,11,2,26,35,23,200,
|
2,10,248,22,187,6,23,197,2,12,252,22,170,8,2,11,2,26,35,23,200,
|
||||||
2,23,201,2,91,159,37,11,90,161,37,34,11,248,22,180,12,23,199,2,87,
|
2,23,201,2,91,159,37,11,90,161,37,34,11,248,22,182,12,23,199,2,87,
|
||||||
94,23,195,1,87,94,28,23,193,2,12,250,22,169,8,2,11,2,27,23,201,
|
94,23,195,1,87,94,28,23,193,2,12,250,22,171,8,2,11,2,27,23,201,
|
||||||
2,249,22,7,23,195,1,23,196,1,27,249,22,169,12,249,22,131,7,250,22,
|
2,249,22,7,23,195,1,23,196,1,27,249,22,171,12,249,22,133,7,250,22,
|
||||||
153,13,0,9,35,114,120,35,34,91,46,93,34,248,22,165,12,23,203,1,6,
|
155,13,0,9,35,114,120,35,34,91,46,93,34,248,22,167,12,23,203,1,6,
|
||||||
1,1,95,28,248,22,133,6,23,202,2,249,22,145,7,23,203,1,8,63,23,
|
1,1,95,28,248,22,135,6,23,202,2,249,22,147,7,23,203,1,8,63,23,
|
||||||
201,1,28,248,22,160,12,23,199,2,248,22,161,12,23,199,1,87,94,23,198,
|
201,1,28,248,22,162,12,23,199,2,248,22,163,12,23,199,1,87,94,23,198,
|
||||||
1,247,22,162,12,28,248,22,159,12,194,249,22,177,12,195,194,192,249,247,22,
|
1,247,22,164,12,28,248,22,161,12,194,249,22,179,12,195,194,192,249,247,22,
|
||||||
184,5,194,11,248,80,158,35,45,9,27,247,22,138,13,249,80,158,37,46,28,
|
186,5,194,11,248,80,158,35,45,9,27,247,22,140,13,249,80,158,37,46,28,
|
||||||
23,195,2,27,248,22,150,7,6,11,11,80,76,84,67,79,76,76,69,67,84,
|
23,195,2,27,248,22,152,7,6,11,11,80,76,84,67,79,76,76,69,67,84,
|
||||||
83,28,192,192,6,0,0,6,0,0,27,28,23,196,1,250,22,177,12,248,22,
|
83,28,192,192,6,0,0,6,0,0,27,28,23,196,1,250,22,179,12,248,22,
|
||||||
134,13,69,97,100,100,111,110,45,100,105,114,247,22,148,7,6,8,8,99,111,
|
136,13,69,97,100,100,111,110,45,100,105,114,247,22,150,7,6,8,8,99,111,
|
||||||
108,108,101,99,116,115,11,27,248,80,159,40,52,35,249,22,77,23,202,1,248,
|
108,108,101,99,116,115,11,27,248,80,159,40,52,35,249,22,77,23,202,1,248,
|
||||||
22,73,248,22,134,13,72,99,111,108,108,101,99,116,115,45,100,105,114,28,23,
|
22,73,248,22,136,13,72,99,111,108,108,101,99,116,115,45,100,105,114,28,23,
|
||||||
194,2,249,22,63,23,196,1,23,195,1,192,32,49,89,162,8,44,37,49,2,
|
194,2,249,22,63,23,196,1,23,195,1,192,32,49,89,162,8,44,37,49,2,
|
||||||
19,222,33,50,27,249,22,145,13,23,197,2,23,198,2,28,23,193,2,87,94,
|
19,222,33,50,27,249,22,147,13,23,197,2,23,198,2,28,23,193,2,87,94,
|
||||||
23,196,1,27,248,22,88,23,195,2,27,250,2,49,23,199,2,23,200,1,248,
|
23,196,1,27,248,22,88,23,195,2,27,250,2,49,23,199,2,23,200,1,248,
|
||||||
22,97,23,199,1,28,249,22,191,6,23,196,2,2,28,249,22,77,197,194,87,
|
22,97,23,199,1,28,249,22,129,7,23,196,2,2,28,249,22,77,197,194,87,
|
||||||
94,23,196,1,249,22,63,248,22,168,12,23,197,1,194,87,95,23,195,1,23,
|
94,23,196,1,249,22,63,248,22,170,12,23,197,1,194,87,95,23,195,1,23,
|
||||||
193,1,28,249,22,191,6,23,198,2,2,28,249,22,77,195,9,87,94,23,194,
|
193,1,28,249,22,129,7,23,198,2,2,28,249,22,77,195,9,87,94,23,194,
|
||||||
1,249,22,63,248,22,168,12,23,199,1,9,87,95,28,28,248,22,185,6,194,
|
1,249,22,63,248,22,170,12,23,199,1,9,87,95,28,28,248,22,187,6,194,
|
||||||
10,248,22,133,6,194,12,250,22,168,8,2,14,6,21,21,98,121,116,101,32,
|
10,248,22,135,6,194,12,250,22,170,8,2,14,6,21,21,98,121,116,101,32,
|
||||||
115,116,114,105,110,103,32,111,114,32,115,116,114,105,110,103,196,28,28,248,22,
|
115,116,114,105,110,103,32,111,114,32,115,116,114,105,110,103,196,28,28,248,22,
|
||||||
72,195,249,22,4,22,159,12,196,11,12,250,22,168,8,2,14,6,13,13,108,
|
72,195,249,22,4,22,161,12,196,11,12,250,22,170,8,2,14,6,13,13,108,
|
||||||
105,115,116,32,111,102,32,112,97,116,104,115,197,250,2,49,197,195,28,248,22,
|
105,115,116,32,111,102,32,112,97,116,104,115,197,250,2,49,197,195,28,248,22,
|
||||||
133,6,197,248,22,144,7,197,196,32,52,89,162,8,44,38,56,2,19,222,33,
|
135,6,197,248,22,146,7,197,196,32,52,89,162,8,44,38,56,2,19,222,33,
|
||||||
55,32,53,89,162,8,44,37,53,70,102,111,117,110,100,45,101,120,101,99,222,
|
55,32,53,89,162,8,44,37,53,70,102,111,117,110,100,45,101,120,101,99,222,
|
||||||
33,54,28,23,193,2,91,159,37,11,90,161,37,34,11,248,22,180,12,23,199,
|
33,54,28,23,193,2,91,159,37,11,90,161,37,34,11,248,22,182,12,23,199,
|
||||||
2,87,95,23,195,1,23,194,1,27,28,23,198,2,27,248,22,185,12,23,201,
|
2,87,95,23,195,1,23,194,1,27,28,23,198,2,27,248,22,187,12,23,201,
|
||||||
2,28,249,22,140,8,23,195,2,23,202,2,11,28,248,22,181,12,23,194,2,
|
2,28,249,22,142,8,23,195,2,23,202,2,11,28,248,22,183,12,23,194,2,
|
||||||
250,2,53,23,201,2,23,202,2,249,22,177,12,23,200,2,23,198,1,250,2,
|
250,2,53,23,201,2,23,202,2,249,22,179,12,23,200,2,23,198,1,250,2,
|
||||||
53,23,201,2,23,202,2,23,196,1,11,28,23,193,2,192,87,94,23,193,1,
|
53,23,201,2,23,202,2,23,196,1,11,28,23,193,2,192,87,94,23,193,1,
|
||||||
27,28,248,22,159,12,23,196,2,27,249,22,177,12,23,198,2,23,201,2,28,
|
27,28,248,22,161,12,23,196,2,27,249,22,179,12,23,198,2,23,201,2,28,
|
||||||
28,248,22,172,12,193,10,248,22,171,12,193,192,11,11,28,23,193,2,192,87,
|
28,248,22,174,12,193,10,248,22,173,12,193,192,11,11,28,23,193,2,192,87,
|
||||||
94,23,193,1,28,23,199,2,11,27,248,22,185,12,23,202,2,28,249,22,140,
|
94,23,193,1,28,23,199,2,11,27,248,22,187,12,23,202,2,28,249,22,142,
|
||||||
8,23,195,2,23,203,1,11,28,248,22,181,12,23,194,2,250,2,53,23,202,
|
8,23,195,2,23,203,1,11,28,248,22,183,12,23,194,2,250,2,53,23,202,
|
||||||
1,23,203,1,249,22,177,12,23,201,1,23,198,1,250,2,53,201,202,195,194,
|
1,23,203,1,249,22,179,12,23,201,1,23,198,1,250,2,53,201,202,195,194,
|
||||||
28,248,22,71,23,197,2,11,27,248,22,184,12,248,22,64,23,199,2,27,249,
|
28,248,22,71,23,197,2,11,27,248,22,186,12,248,22,64,23,199,2,27,249,
|
||||||
22,177,12,23,196,1,23,197,2,28,248,22,171,12,23,194,2,250,2,53,198,
|
22,179,12,23,196,1,23,197,2,28,248,22,173,12,23,194,2,250,2,53,198,
|
||||||
199,195,87,94,23,193,1,27,248,22,65,23,200,1,28,248,22,71,23,194,2,
|
199,195,87,94,23,193,1,27,248,22,65,23,200,1,28,248,22,71,23,194,2,
|
||||||
11,27,248,22,184,12,248,22,64,23,196,2,27,249,22,177,12,23,196,1,23,
|
11,27,248,22,186,12,248,22,64,23,196,2,27,249,22,179,12,23,196,1,23,
|
||||||
200,2,28,248,22,171,12,23,194,2,250,2,53,201,202,195,87,94,23,193,1,
|
200,2,28,248,22,173,12,23,194,2,250,2,53,201,202,195,87,94,23,193,1,
|
||||||
27,248,22,65,23,197,1,28,248,22,71,23,194,2,11,27,248,22,184,12,248,
|
27,248,22,65,23,197,1,28,248,22,71,23,194,2,11,27,248,22,186,12,248,
|
||||||
22,64,195,27,249,22,177,12,23,196,1,202,28,248,22,171,12,193,250,2,53,
|
22,64,195,27,249,22,179,12,23,196,1,202,28,248,22,173,12,193,250,2,53,
|
||||||
204,205,195,251,2,52,204,205,206,248,22,65,199,87,95,28,27,248,22,159,12,
|
204,205,195,251,2,52,204,205,206,248,22,65,199,87,95,28,27,248,22,161,12,
|
||||||
23,196,2,28,23,193,2,192,87,94,23,193,1,28,248,22,133,6,23,196,2,
|
23,196,2,28,23,193,2,192,87,94,23,193,1,28,248,22,135,6,23,196,2,
|
||||||
27,248,22,181,12,23,197,2,28,23,193,2,192,87,94,23,193,1,248,22,182,
|
27,248,22,183,12,23,197,2,28,23,193,2,192,87,94,23,193,1,248,22,184,
|
||||||
12,23,197,2,11,12,250,22,168,8,2,15,6,25,25,112,97,116,104,32,111,
|
12,23,197,2,11,12,250,22,170,8,2,15,6,25,25,112,97,116,104,32,111,
|
||||||
114,32,115,116,114,105,110,103,32,40,115,97,110,115,32,110,117,108,41,23,197,
|
114,32,115,116,114,105,110,103,32,40,115,97,110,115,32,110,117,108,41,23,197,
|
||||||
2,28,28,23,195,2,28,27,248,22,159,12,23,197,2,28,23,193,2,192,87,
|
2,28,28,23,195,2,28,27,248,22,161,12,23,197,2,28,23,193,2,192,87,
|
||||||
94,23,193,1,28,248,22,133,6,23,197,2,27,248,22,181,12,23,198,2,28,
|
94,23,193,1,28,248,22,135,6,23,197,2,27,248,22,183,12,23,198,2,28,
|
||||||
23,193,2,192,87,94,23,193,1,248,22,182,12,23,198,2,11,248,22,181,12,
|
23,193,2,192,87,94,23,193,1,248,22,184,12,23,198,2,11,248,22,183,12,
|
||||||
23,196,2,11,10,12,250,22,168,8,2,15,6,29,29,35,102,32,111,114,32,
|
23,196,2,11,10,12,250,22,170,8,2,15,6,29,29,35,102,32,111,114,32,
|
||||||
114,101,108,97,116,105,118,101,32,112,97,116,104,32,111,114,32,115,116,114,105,
|
114,101,108,97,116,105,118,101,32,112,97,116,104,32,111,114,32,115,116,114,105,
|
||||||
110,103,23,198,2,28,28,248,22,181,12,23,195,2,91,159,37,11,90,161,37,
|
110,103,23,198,2,28,28,248,22,183,12,23,195,2,91,159,37,11,90,161,37,
|
||||||
34,11,248,22,180,12,23,198,2,249,22,138,8,194,68,114,101,108,97,116,105,
|
34,11,248,22,182,12,23,198,2,249,22,140,8,194,68,114,101,108,97,116,105,
|
||||||
118,101,11,27,248,22,150,7,6,4,4,80,65,84,72,251,2,52,23,199,1,
|
118,101,11,27,248,22,152,7,6,4,4,80,65,84,72,251,2,52,23,199,1,
|
||||||
23,200,1,23,201,1,28,23,197,2,27,249,80,158,42,46,23,200,1,9,28,
|
23,200,1,23,201,1,28,23,197,2,27,249,80,158,42,46,23,200,1,9,28,
|
||||||
249,22,138,8,247,22,152,7,2,21,249,22,63,248,22,168,12,5,1,46,23,
|
249,22,140,8,247,22,154,7,2,21,249,22,63,248,22,170,12,5,1,46,23,
|
||||||
195,1,192,9,27,248,22,184,12,23,196,1,28,248,22,171,12,193,250,2,53,
|
195,1,192,9,27,248,22,186,12,23,196,1,28,248,22,173,12,193,250,2,53,
|
||||||
198,199,195,11,250,80,158,37,47,196,197,11,250,80,158,37,47,196,11,11,87,
|
198,199,195,11,250,80,158,37,47,196,197,11,250,80,158,37,47,196,11,11,87,
|
||||||
94,249,22,189,5,247,22,166,4,195,248,22,140,5,249,22,151,3,34,249,22,
|
94,249,22,191,5,247,22,168,4,195,248,22,142,5,249,22,153,3,34,249,22,
|
||||||
135,3,197,198,27,248,22,134,13,2,20,27,249,80,158,38,47,23,196,1,11,
|
137,3,197,198,27,248,22,136,13,2,20,27,249,80,158,38,47,23,196,1,11,
|
||||||
27,27,248,22,154,3,23,199,1,28,192,192,34,27,27,248,22,154,3,23,201,
|
27,27,248,22,156,3,23,199,1,28,192,192,34,27,27,248,22,156,3,23,201,
|
||||||
1,28,192,192,34,27,249,22,183,4,23,198,1,83,158,38,20,97,95,89,162,
|
1,28,192,192,34,27,249,22,185,4,23,198,1,83,158,38,20,96,95,89,162,
|
||||||
8,44,34,46,9,224,4,3,33,59,23,196,1,23,197,1,27,248,22,170,4,
|
8,44,34,46,9,224,4,3,33,59,23,196,1,23,197,1,27,248,22,172,4,
|
||||||
23,195,1,87,94,248,22,134,4,21,94,2,17,2,29,248,80,159,41,53,35,
|
23,195,1,87,94,248,22,136,4,21,94,2,17,2,29,248,80,159,41,53,35,
|
||||||
193,159,34,20,103,159,34,16,1,20,24,65,98,101,103,105,110,16,0,83,158,
|
193,159,34,20,102,159,34,16,1,20,24,65,98,101,103,105,110,16,0,83,158,
|
||||||
40,20,100,137,67,35,37,117,116,105,108,115,2,1,11,10,10,41,80,158,34,
|
40,20,99,137,67,35,37,117,116,105,108,115,2,1,11,10,10,41,80,158,34,
|
||||||
34,20,103,159,37,16,17,30,2,1,2,2,193,30,2,1,2,3,193,30,2,
|
34,20,102,159,37,16,17,30,2,1,2,2,193,30,2,1,2,3,193,30,2,
|
||||||
1,2,4,193,30,2,1,2,5,193,30,2,1,2,6,193,30,2,1,2,7,
|
1,2,4,193,30,2,1,2,5,193,30,2,1,2,6,193,30,2,1,2,7,
|
||||||
193,30,2,1,2,8,193,30,2,1,2,9,193,30,2,1,2,10,193,30,2,
|
193,30,2,1,2,8,193,30,2,1,2,9,193,30,2,1,2,10,193,30,2,
|
||||||
1,2,11,193,30,2,1,2,12,193,30,2,1,2,13,193,30,2,1,2,14,
|
1,2,11,193,30,2,1,2,12,193,30,2,1,2,13,193,30,2,1,2,14,
|
||||||
|
@ -318,7 +318,7 @@
|
||||||
83,158,34,16,2,89,162,8,44,35,54,2,19,223,0,33,31,80,159,34,52,
|
83,158,34,16,2,89,162,8,44,35,54,2,19,223,0,33,31,80,159,34,52,
|
||||||
35,83,158,34,16,2,89,162,8,44,35,43,9,223,0,33,32,80,159,34,51,
|
35,83,158,34,16,2,89,162,8,44,35,43,9,223,0,33,32,80,159,34,51,
|
||||||
35,83,158,34,16,2,32,0,89,162,42,35,43,2,2,222,33,33,80,159,34,
|
35,83,158,34,16,2,32,0,89,162,42,35,43,2,2,222,33,33,80,159,34,
|
||||||
34,35,83,158,34,16,2,249,22,135,6,7,92,7,92,80,159,34,35,35,83,
|
34,35,83,158,34,16,2,249,22,137,6,7,92,7,92,80,159,34,35,35,83,
|
||||||
158,34,16,2,89,162,42,35,52,2,4,223,0,33,34,80,159,34,36,35,83,
|
158,34,16,2,89,162,42,35,52,2,4,223,0,33,34,80,159,34,36,35,83,
|
||||||
158,34,16,2,32,0,89,162,42,36,48,2,5,222,33,35,80,159,34,37,35,
|
158,34,16,2,32,0,89,162,42,36,48,2,5,222,33,35,80,159,34,37,35,
|
||||||
83,158,34,16,2,32,0,89,162,8,44,37,49,2,6,222,33,37,80,159,34,
|
83,158,34,16,2,32,0,89,162,8,44,37,49,2,6,222,33,37,80,159,34,
|
||||||
|
@ -328,13 +328,13 @@
|
||||||
80,159,34,41,35,83,158,34,16,2,32,0,89,162,42,36,51,2,10,222,33,
|
80,159,34,41,35,83,158,34,16,2,32,0,89,162,42,36,51,2,10,222,33,
|
||||||
44,80,159,34,42,35,83,158,34,16,2,32,0,89,162,42,36,52,2,11,222,
|
44,80,159,34,42,35,83,158,34,16,2,32,0,89,162,42,36,52,2,11,222,
|
||||||
33,45,80,159,34,43,35,83,158,34,16,2,32,0,89,162,42,35,42,2,12,
|
33,45,80,159,34,43,35,83,158,34,16,2,32,0,89,162,42,35,42,2,12,
|
||||||
222,33,46,80,159,34,44,35,83,158,34,16,2,83,158,37,20,96,95,2,13,
|
222,33,46,80,159,34,44,35,83,158,34,16,2,83,158,37,20,95,95,2,13,
|
||||||
89,162,42,34,41,9,223,0,33,47,89,162,42,35,51,9,223,0,33,48,80,
|
89,162,42,34,41,9,223,0,33,47,89,162,42,35,51,9,223,0,33,48,80,
|
||||||
159,34,45,35,83,158,34,16,2,27,248,22,141,13,248,22,144,7,27,28,249,
|
159,34,45,35,83,158,34,16,2,27,248,22,143,13,248,22,146,7,27,28,249,
|
||||||
22,138,8,247,22,152,7,2,21,6,1,1,59,6,1,1,58,250,22,181,6,
|
22,140,8,247,22,154,7,2,21,6,1,1,59,6,1,1,58,250,22,183,6,
|
||||||
6,14,14,40,91,94,126,97,93,42,41,126,97,40,46,42,41,23,196,2,23,
|
6,14,14,40,91,94,126,97,93,42,41,126,97,40,46,42,41,23,196,2,23,
|
||||||
196,1,89,162,8,44,36,46,2,14,223,0,33,51,80,159,34,46,35,83,158,
|
196,1,89,162,8,44,36,46,2,14,223,0,33,51,80,159,34,46,35,83,158,
|
||||||
34,16,2,83,158,37,20,96,96,2,15,89,162,8,44,37,52,9,223,0,33,
|
34,16,2,83,158,37,20,95,96,2,15,89,162,8,44,37,52,9,223,0,33,
|
||||||
56,89,162,42,36,45,9,223,0,33,57,89,162,42,35,44,9,223,0,33,58,
|
56,89,162,42,36,45,9,223,0,33,57,89,162,42,35,44,9,223,0,33,58,
|
||||||
80,159,34,47,35,83,158,34,16,2,89,162,42,36,49,2,16,223,0,33,60,
|
80,159,34,47,35,83,158,34,16,2,89,162,42,36,49,2,16,223,0,33,60,
|
||||||
80,159,34,48,35,94,29,94,2,17,2,29,11,29,94,2,17,69,35,37,109,
|
80,159,34,48,35,94,29,94,2,17,2,29,11,29,94,2,17,69,35,37,109,
|
||||||
|
@ -342,16 +342,16 @@
|
||||||
EVAL_ONE_SIZED_STR((char *)expr, 5009);
|
EVAL_ONE_SIZED_STR((char *)expr, 5009);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,51,46,57,57,46,48,46,49,52,8,0,0,0,1,0,0,6,0,
|
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,51,46,57,57,46,48,46,49,54,8,0,0,0,1,0,0,6,0,
|
||||||
19,0,34,0,48,0,62,0,76,0,111,0,0,0,243,0,0,0,65,113,117,
|
19,0,34,0,48,0,62,0,76,0,111,0,0,0,243,0,0,0,65,113,117,
|
||||||
111,116,101,29,94,2,1,67,35,37,117,116,105,108,115,11,29,94,2,1,69,
|
111,116,101,29,94,2,1,67,35,37,117,116,105,108,115,11,29,94,2,1,69,
|
||||||
35,37,110,101,116,119,111,114,107,11,29,94,2,1,68,35,37,112,97,114,97,
|
35,37,110,101,116,119,111,114,107,11,29,94,2,1,68,35,37,112,97,114,97,
|
||||||
109,122,11,29,94,2,1,68,35,37,101,120,112,111,98,115,11,29,94,2,1,
|
109,122,11,29,94,2,1,68,35,37,101,120,112,111,98,115,11,29,94,2,1,
|
||||||
68,35,37,107,101,114,110,101,108,11,98,10,34,11,8,144,185,97,159,2,2,
|
68,35,37,107,101,114,110,101,108,11,98,10,34,11,8,144,185,97,159,2,2,
|
||||||
34,34,159,2,3,34,34,159,2,4,34,34,159,2,5,34,34,159,2,6,34,
|
34,34,159,2,3,34,34,159,2,4,34,34,159,2,5,34,34,159,2,6,34,
|
||||||
34,16,0,159,34,20,103,159,34,16,1,20,24,65,98,101,103,105,110,16,0,
|
34,16,0,159,34,20,102,159,34,16,1,20,24,65,98,101,103,105,110,16,0,
|
||||||
83,158,40,20,100,137,69,35,37,98,117,105,108,116,105,110,29,11,11,10,10,
|
83,158,40,20,99,137,69,35,37,98,117,105,108,116,105,110,29,11,11,10,10,
|
||||||
18,96,11,41,41,41,34,80,158,34,34,20,103,159,34,16,0,16,0,11,11,
|
18,96,11,41,41,41,34,80,158,34,34,20,102,159,34,16,0,16,0,11,11,
|
||||||
16,0,34,11,37,34,11,11,16,0,16,0,16,0,34,34,35,11,11,16,0,
|
16,0,34,11,37,34,11,11,16,0,16,0,16,0,34,34,35,11,11,16,0,
|
||||||
16,0,16,0,34,34,11,11,11,16,0,16,0,16,0,34,34,16,0,16,0,
|
16,0,16,0,34,34,11,11,11,16,0,16,0,16,0,34,34,16,0,16,0,
|
||||||
98,2,6,2,5,29,94,2,1,69,35,37,102,111,114,101,105,103,110,11,2,
|
98,2,6,2,5,29,94,2,1,69,35,37,102,111,114,101,105,103,110,11,2,
|
||||||
|
@ -359,7 +359,7 @@
|
||||||
EVAL_ONE_SIZED_STR((char *)expr, 282);
|
EVAL_ONE_SIZED_STR((char *)expr, 282);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,51,46,57,57,46,48,46,49,52,52,0,0,0,1,0,0,3,0,
|
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,51,46,57,57,46,48,46,49,54,52,0,0,0,1,0,0,3,0,
|
||||||
14,0,41,0,47,0,60,0,74,0,96,0,122,0,134,0,152,0,172,0,184,
|
14,0,41,0,47,0,60,0,74,0,96,0,122,0,134,0,152,0,172,0,184,
|
||||||
0,200,0,223,0,3,1,8,1,13,1,18,1,23,1,54,1,58,1,66,1,
|
0,200,0,223,0,3,1,8,1,13,1,18,1,23,1,54,1,58,1,66,1,
|
||||||
74,1,82,1,185,1,230,1,253,1,32,2,67,2,101,2,111,2,145,2,155,
|
74,1,82,1,185,1,230,1,253,1,32,2,67,2,101,2,111,2,145,2,155,
|
||||||
|
@ -381,48 +381,48 @@
|
||||||
97,107,64,108,111,111,112,1,29,115,116,97,110,100,97,114,100,45,109,111,100,
|
97,107,64,108,111,111,112,1,29,115,116,97,110,100,97,114,100,45,109,111,100,
|
||||||
117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,101,114,63,108,105,98,
|
117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,101,114,63,108,105,98,
|
||||||
67,105,103,110,111,114,101,100,249,22,14,195,80,158,36,44,249,80,159,36,47,
|
67,105,103,110,111,114,101,100,249,22,14,195,80,158,36,44,249,80,159,36,47,
|
||||||
35,195,10,27,28,23,195,2,28,249,22,138,8,23,197,2,80,158,37,45,87,
|
35,195,10,27,28,23,195,2,28,249,22,140,8,23,197,2,80,158,37,45,87,
|
||||||
94,23,195,1,80,158,35,46,27,248,22,149,4,23,197,2,28,248,22,159,12,
|
94,23,195,1,80,158,35,46,27,248,22,151,4,23,197,2,28,248,22,161,12,
|
||||||
23,194,2,91,159,37,11,90,161,37,34,11,248,22,180,12,23,197,1,87,95,
|
23,194,2,91,159,37,11,90,161,37,34,11,248,22,182,12,23,197,1,87,95,
|
||||||
83,160,36,11,80,158,39,45,198,83,160,36,11,80,158,39,46,192,192,11,11,
|
83,160,36,11,80,158,39,45,198,83,160,36,11,80,158,39,46,192,192,11,11,
|
||||||
28,23,193,2,192,87,94,23,193,1,27,247,22,185,5,28,192,192,247,22,135,
|
28,23,193,2,192,87,94,23,193,1,27,247,22,187,5,28,192,192,247,22,137,
|
||||||
13,20,14,159,80,158,34,38,250,80,158,37,39,249,22,27,11,80,158,39,38,
|
13,20,14,159,80,158,34,38,250,80,158,37,39,249,22,27,11,80,158,39,38,
|
||||||
22,185,5,28,248,22,159,12,23,198,2,23,197,1,87,94,23,197,1,247,22,
|
22,187,5,28,248,22,161,12,23,198,2,23,197,1,87,94,23,197,1,247,22,
|
||||||
135,13,247,194,250,22,177,12,23,197,1,23,199,1,249,80,158,41,37,23,198,
|
137,13,247,194,250,22,179,12,23,197,1,23,199,1,249,80,158,41,37,23,198,
|
||||||
1,5,3,46,122,111,252,22,177,12,23,199,1,23,201,1,6,6,6,110,97,
|
1,5,3,46,122,111,252,22,179,12,23,199,1,23,201,1,6,6,6,110,97,
|
||||||
116,105,118,101,247,22,153,7,249,80,158,43,37,23,200,1,80,158,43,34,87,
|
116,105,118,101,247,22,155,7,249,80,158,43,37,23,200,1,80,158,43,34,87,
|
||||||
94,23,194,1,27,23,194,1,27,250,22,130,13,196,11,32,0,89,162,8,44,
|
94,23,194,1,27,23,194,1,27,250,22,132,13,196,11,32,0,89,162,8,44,
|
||||||
34,39,9,222,11,28,192,249,22,63,195,194,11,27,248,23,195,1,23,196,1,
|
34,39,9,222,11,28,192,249,22,63,195,194,11,27,248,23,195,1,23,196,1,
|
||||||
27,250,22,130,13,196,11,32,0,89,162,8,44,34,39,9,222,11,28,192,249,
|
27,250,22,132,13,196,11,32,0,89,162,8,44,34,39,9,222,11,28,192,249,
|
||||||
22,63,195,194,11,249,247,22,140,13,248,22,64,195,195,27,248,23,195,1,23,
|
22,63,195,194,11,249,247,22,142,13,248,22,64,195,195,27,248,23,195,1,23,
|
||||||
196,1,27,250,22,130,13,196,11,32,0,89,162,8,44,34,39,9,222,11,28,
|
196,1,27,250,22,132,13,196,11,32,0,89,162,8,44,34,39,9,222,11,28,
|
||||||
192,249,22,63,195,194,11,249,247,22,183,5,248,22,64,195,195,249,247,22,183,
|
192,249,22,63,195,194,11,249,247,22,185,5,248,22,64,195,195,249,247,22,185,
|
||||||
5,194,195,87,94,28,248,80,158,35,36,23,195,2,12,250,22,168,8,77,108,
|
5,194,195,87,94,28,248,80,158,35,36,23,195,2,12,250,22,170,8,77,108,
|
||||||
111,97,100,47,117,115,101,45,99,111,109,112,105,108,101,100,6,25,25,112,97,
|
111,97,100,47,117,115,101,45,99,111,109,112,105,108,101,100,6,25,25,112,97,
|
||||||
116,104,32,111,114,32,118,97,108,105,100,45,112,97,116,104,32,115,116,114,105,
|
116,104,32,111,114,32,118,97,108,105,100,45,112,97,116,104,32,115,116,114,105,
|
||||||
110,103,23,197,2,91,159,40,11,90,161,35,34,11,28,248,22,183,12,23,201,
|
110,103,23,197,2,91,159,40,11,90,161,35,34,11,28,248,22,185,12,23,201,
|
||||||
2,23,200,1,27,247,22,185,5,28,23,193,2,249,22,184,12,23,203,1,23,
|
2,23,200,1,27,247,22,187,5,28,23,193,2,249,22,186,12,23,203,1,23,
|
||||||
195,1,200,90,161,37,35,11,248,22,180,12,23,194,2,87,94,23,196,1,90,
|
195,1,200,90,161,37,35,11,248,22,182,12,23,194,2,87,94,23,196,1,90,
|
||||||
161,35,38,11,28,249,22,138,8,23,196,2,68,114,101,108,97,116,105,118,101,
|
161,35,38,11,28,249,22,140,8,23,196,2,68,114,101,108,97,116,105,118,101,
|
||||||
87,94,23,194,1,2,17,23,194,1,90,161,35,39,11,247,22,137,13,27,89,
|
87,94,23,194,1,2,17,23,194,1,90,161,35,39,11,247,22,139,13,27,89,
|
||||||
162,42,35,48,62,122,111,225,7,5,3,33,27,27,83,158,38,20,97,94,89,
|
162,42,35,48,62,122,111,225,7,5,3,33,27,27,83,158,38,20,96,94,89,
|
||||||
162,42,35,50,9,225,8,6,4,33,28,23,197,1,27,249,22,5,89,162,8,
|
162,42,35,50,9,225,8,6,4,33,28,23,197,1,27,249,22,5,89,162,8,
|
||||||
44,35,46,9,223,5,33,29,23,203,2,27,28,23,195,2,27,249,22,5,83,
|
44,35,46,9,223,5,33,29,23,203,2,27,28,23,195,2,27,249,22,5,83,
|
||||||
158,38,20,97,94,89,162,8,44,35,46,9,223,5,33,30,23,198,1,23,205,
|
158,38,20,96,94,89,162,8,44,35,46,9,223,5,33,30,23,198,1,23,205,
|
||||||
2,27,28,23,196,2,11,193,28,192,192,28,193,28,23,196,2,28,249,22,147,
|
2,27,28,23,196,2,11,193,28,192,192,28,193,28,23,196,2,28,249,22,149,
|
||||||
3,248,22,65,196,248,22,65,23,199,2,193,11,11,11,87,94,23,195,1,11,
|
3,248,22,65,196,248,22,65,23,199,2,193,11,11,11,87,94,23,195,1,11,
|
||||||
28,23,193,2,249,80,159,46,53,35,202,89,162,42,34,44,9,224,14,2,33,
|
28,23,193,2,249,80,159,46,53,35,202,89,162,42,34,44,9,224,14,2,33,
|
||||||
31,87,94,23,193,1,27,28,23,197,2,27,249,22,5,83,158,38,20,97,94,
|
31,87,94,23,193,1,27,28,23,197,2,27,249,22,5,83,158,38,20,96,94,
|
||||||
89,162,8,44,35,46,9,223,7,33,32,23,200,1,23,206,1,27,28,196,11,
|
89,162,8,44,35,46,9,223,7,33,32,23,200,1,23,206,1,27,28,196,11,
|
||||||
193,28,192,192,28,193,28,196,28,249,22,147,3,248,22,65,196,248,22,65,199,
|
193,28,192,192,28,193,28,196,28,249,22,149,3,248,22,65,196,248,22,65,199,
|
||||||
193,11,11,11,11,28,192,249,80,159,47,53,35,203,89,162,42,34,44,9,224,
|
193,11,11,11,11,28,192,249,80,159,47,53,35,203,89,162,42,34,44,9,224,
|
||||||
15,2,33,33,249,80,159,47,53,35,203,89,162,42,34,43,9,224,15,7,33,
|
15,2,33,33,249,80,159,47,53,35,203,89,162,42,34,43,9,224,15,7,33,
|
||||||
34,32,36,89,162,8,44,35,53,2,19,222,33,38,0,17,35,114,120,34,94,
|
34,32,36,89,162,8,44,35,53,2,19,222,33,38,0,17,35,114,120,34,94,
|
||||||
40,46,42,63,41,47,40,46,42,41,36,34,27,249,22,145,13,2,37,23,196,
|
40,46,42,63,41,47,40,46,42,41,36,34,27,249,22,147,13,2,37,23,196,
|
||||||
2,28,23,193,2,87,94,23,194,1,249,22,63,248,22,88,23,196,2,27,248,
|
2,28,23,193,2,87,94,23,194,1,249,22,63,248,22,88,23,196,2,27,248,
|
||||||
22,97,23,197,1,27,249,22,145,13,2,37,23,196,2,28,23,193,2,87,94,
|
22,97,23,197,1,27,249,22,147,13,2,37,23,196,2,28,23,193,2,87,94,
|
||||||
23,194,1,249,22,63,248,22,88,23,196,2,27,248,22,97,23,197,1,27,249,
|
23,194,1,249,22,63,248,22,88,23,196,2,27,248,22,97,23,197,1,27,249,
|
||||||
22,145,13,2,37,23,196,2,28,23,193,2,87,94,23,194,1,249,22,63,248,
|
22,147,13,2,37,23,196,2,28,23,193,2,87,94,23,194,1,249,22,63,248,
|
||||||
22,88,23,196,2,248,2,36,248,22,97,23,197,1,248,22,73,194,248,22,73,
|
22,88,23,196,2,248,2,36,248,22,97,23,197,1,248,22,73,194,248,22,73,
|
||||||
194,248,22,73,194,32,39,89,162,42,35,53,2,19,222,33,40,28,248,22,71,
|
194,248,22,73,194,32,39,89,162,42,35,53,2,19,222,33,40,28,248,22,71,
|
||||||
248,22,65,23,195,2,249,22,7,9,248,22,64,195,91,159,36,11,90,161,36,
|
248,22,65,23,195,2,249,22,7,9,248,22,64,195,91,159,36,11,90,161,36,
|
||||||
|
@ -433,97 +433,97 @@
|
||||||
22,7,249,22,63,248,22,64,23,200,1,23,197,1,23,196,1,249,22,7,249,
|
22,7,249,22,63,248,22,64,23,200,1,23,197,1,23,196,1,249,22,7,249,
|
||||||
22,63,248,22,64,23,200,1,23,197,1,23,196,1,249,22,7,249,22,63,248,
|
22,63,248,22,64,23,200,1,23,197,1,23,196,1,249,22,7,249,22,63,248,
|
||||||
22,64,23,200,1,23,197,1,195,27,248,2,36,23,195,1,28,194,192,248,2,
|
22,64,23,200,1,23,197,1,195,27,248,2,36,23,195,1,28,194,192,248,2,
|
||||||
39,193,87,95,28,248,22,147,4,195,12,250,22,168,8,2,20,6,20,20,114,
|
39,193,87,95,28,248,22,149,4,195,12,250,22,170,8,2,20,6,20,20,114,
|
||||||
101,115,111,108,118,101,100,45,109,111,100,117,108,101,45,112,97,116,104,197,28,
|
101,115,111,108,118,101,100,45,109,111,100,117,108,101,45,112,97,116,104,197,28,
|
||||||
24,193,2,248,24,194,1,195,87,94,23,193,1,12,27,27,250,22,126,80,158,
|
24,193,2,248,24,194,1,195,87,94,23,193,1,12,27,27,250,22,126,80,158,
|
||||||
40,41,248,22,163,13,247,22,147,11,11,28,23,193,2,192,87,94,23,193,1,
|
40,41,248,22,165,13,247,22,149,11,11,28,23,193,2,192,87,94,23,193,1,
|
||||||
27,247,22,120,87,94,250,22,125,80,158,41,41,248,22,163,13,247,22,147,11,
|
27,247,22,120,87,94,250,22,125,80,158,41,41,248,22,165,13,247,22,149,11,
|
||||||
195,192,250,22,125,195,198,66,97,116,116,97,99,104,251,211,197,198,199,10,28,
|
195,192,250,22,125,195,198,66,97,116,116,97,99,104,251,211,197,198,199,10,28,
|
||||||
192,250,22,167,8,11,196,195,248,22,165,8,194,28,249,22,139,6,194,6,1,
|
192,250,22,169,8,11,196,195,248,22,167,8,194,28,249,22,141,6,194,6,1,
|
||||||
1,46,2,17,28,249,22,139,6,194,6,2,2,46,46,62,117,112,192,28,249,
|
1,46,2,17,28,249,22,141,6,194,6,2,2,46,46,62,117,112,192,28,249,
|
||||||
22,140,8,248,22,65,23,200,2,23,197,1,28,249,22,138,8,248,22,64,23,
|
22,142,8,248,22,65,23,200,2,23,197,1,28,249,22,140,8,248,22,64,23,
|
||||||
200,2,23,196,1,251,22,165,8,2,20,6,26,26,99,121,99,108,101,32,105,
|
200,2,23,196,1,251,22,167,8,2,20,6,26,26,99,121,99,108,101,32,105,
|
||||||
110,32,108,111,97,100,105,110,103,32,97,116,32,126,101,58,32,126,101,23,200,
|
110,32,108,111,97,100,105,110,103,32,97,116,32,126,101,58,32,126,101,23,200,
|
||||||
1,249,22,2,22,65,248,22,78,249,22,63,23,206,1,23,202,1,12,12,247,
|
1,249,22,2,22,65,248,22,78,249,22,63,23,206,1,23,202,1,12,12,247,
|
||||||
192,20,14,159,80,158,38,43,249,22,63,247,22,147,11,23,197,1,20,14,159,
|
192,20,14,159,80,158,38,43,249,22,63,247,22,149,11,23,197,1,20,14,159,
|
||||||
80,158,38,38,250,80,158,41,39,249,22,27,11,80,158,43,38,22,131,4,23,
|
80,158,38,38,250,80,158,41,39,249,22,27,11,80,158,43,38,22,133,4,23,
|
||||||
196,1,249,247,22,184,5,23,198,1,248,22,52,248,22,163,12,23,198,1,87,
|
196,1,249,247,22,186,5,23,198,1,248,22,52,248,22,165,12,23,198,1,87,
|
||||||
94,28,28,248,22,159,12,23,197,2,10,248,22,152,4,23,197,2,12,28,23,
|
94,28,28,248,22,161,12,23,197,2,10,248,22,154,4,23,197,2,12,28,23,
|
||||||
198,2,250,22,167,8,11,6,15,15,98,97,100,32,109,111,100,117,108,101,32,
|
198,2,250,22,169,8,11,6,15,15,98,97,100,32,109,111,100,117,108,101,32,
|
||||||
112,97,116,104,23,201,2,250,22,168,8,2,20,6,19,19,109,111,100,117,108,
|
112,97,116,104,23,201,2,250,22,170,8,2,20,6,19,19,109,111,100,117,108,
|
||||||
101,45,112,97,116,104,32,111,114,32,112,97,116,104,23,199,2,28,28,248,22,
|
101,45,112,97,116,104,32,111,114,32,112,97,116,104,23,199,2,28,28,248,22,
|
||||||
61,23,197,2,249,22,138,8,248,22,64,23,199,2,2,4,11,248,22,148,4,
|
61,23,197,2,249,22,140,8,248,22,64,23,199,2,2,4,11,248,22,150,4,
|
||||||
248,22,88,197,28,28,248,22,61,23,197,2,249,22,138,8,248,22,64,23,199,
|
248,22,88,197,28,28,248,22,61,23,197,2,249,22,140,8,248,22,64,23,199,
|
||||||
2,66,112,108,97,110,101,116,11,87,94,28,207,12,20,14,159,80,158,36,38,
|
2,66,112,108,97,110,101,116,11,87,94,28,207,12,20,14,159,80,158,36,38,
|
||||||
250,80,158,39,39,249,22,27,11,80,158,41,38,22,147,11,23,197,1,90,161,
|
250,80,158,39,39,249,22,27,11,80,158,41,38,22,149,11,23,197,1,90,161,
|
||||||
35,34,10,249,22,132,4,21,94,2,21,6,18,18,112,108,97,110,101,116,47,
|
35,34,10,249,22,134,4,21,94,2,21,6,18,18,112,108,97,110,101,116,47,
|
||||||
114,101,115,111,108,118,101,114,46,115,115,1,27,112,108,97,110,101,116,45,109,
|
114,101,115,111,108,118,101,114,46,115,115,1,27,112,108,97,110,101,116,45,109,
|
||||||
111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,101,114,12,251,
|
111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,101,114,12,251,
|
||||||
211,199,200,201,202,87,94,23,193,1,27,89,162,42,35,44,79,115,104,111,119,
|
211,199,200,201,202,87,94,23,193,1,27,89,162,42,35,44,79,115,104,111,119,
|
||||||
45,99,111,108,108,101,99,116,105,111,110,45,101,114,114,223,6,33,44,27,28,
|
45,99,111,108,108,101,99,116,105,111,110,45,101,114,114,223,6,33,44,27,28,
|
||||||
248,22,51,23,199,2,27,250,22,126,80,158,42,42,249,22,63,23,204,2,247,
|
248,22,51,23,199,2,27,250,22,126,80,158,42,42,249,22,63,23,204,2,247,
|
||||||
22,136,13,11,28,23,193,2,192,87,94,23,193,1,91,159,36,11,90,161,36,
|
22,138,13,11,28,23,193,2,192,87,94,23,193,1,91,159,36,11,90,161,36,
|
||||||
34,11,249,80,159,43,47,35,248,22,54,23,204,2,11,27,251,80,158,46,49,
|
34,11,249,80,159,43,47,35,248,22,54,23,204,2,11,27,251,80,158,46,49,
|
||||||
2,20,23,202,1,28,248,22,71,23,199,2,23,199,2,248,22,64,23,199,2,
|
2,20,23,202,1,28,248,22,71,23,199,2,23,199,2,248,22,64,23,199,2,
|
||||||
28,248,22,71,23,199,2,9,248,22,65,23,199,2,249,22,177,12,23,195,1,
|
28,248,22,71,23,199,2,9,248,22,65,23,199,2,249,22,179,12,23,195,1,
|
||||||
28,248,22,71,23,197,1,87,94,23,197,1,6,7,7,109,97,105,110,46,115,
|
28,248,22,71,23,197,1,87,94,23,197,1,6,7,7,109,97,105,110,46,115,
|
||||||
115,249,22,156,6,23,199,1,6,3,3,46,115,115,28,248,22,133,6,23,199,
|
115,249,22,158,6,23,199,1,6,3,3,46,115,115,28,248,22,135,6,23,199,
|
||||||
2,87,94,23,194,1,27,248,80,159,40,54,35,23,201,2,27,250,22,126,80,
|
2,87,94,23,194,1,27,248,80,159,40,54,35,23,201,2,27,250,22,126,80,
|
||||||
158,43,42,249,22,63,23,205,2,23,199,2,11,28,23,193,2,192,87,94,23,
|
158,43,42,249,22,63,23,205,2,23,199,2,11,28,23,193,2,192,87,94,23,
|
||||||
193,1,91,159,36,11,90,161,36,34,11,249,80,159,44,47,35,23,204,2,11,
|
193,1,91,159,36,11,90,161,36,34,11,249,80,159,44,47,35,23,204,2,11,
|
||||||
250,22,1,22,177,12,23,199,1,249,22,77,249,22,2,32,0,89,162,8,44,
|
250,22,1,22,179,12,23,199,1,249,22,77,249,22,2,32,0,89,162,8,44,
|
||||||
35,42,9,222,33,45,23,200,1,248,22,73,23,200,1,28,248,22,159,12,23,
|
35,42,9,222,33,45,23,200,1,248,22,73,23,200,1,28,248,22,161,12,23,
|
||||||
199,2,87,94,23,194,1,28,248,22,182,12,23,199,2,23,198,2,248,22,73,
|
199,2,87,94,23,194,1,28,248,22,184,12,23,199,2,23,198,2,248,22,73,
|
||||||
6,26,26,32,40,97,32,112,97,116,104,32,109,117,115,116,32,98,101,32,97,
|
6,26,26,32,40,97,32,112,97,116,104,32,109,117,115,116,32,98,101,32,97,
|
||||||
98,115,111,108,117,116,101,41,28,249,22,138,8,248,22,64,23,201,2,2,21,
|
98,115,111,108,117,116,101,41,28,249,22,140,8,248,22,64,23,201,2,2,21,
|
||||||
27,250,22,126,80,158,42,42,249,22,63,23,204,2,247,22,136,13,11,28,23,
|
27,250,22,126,80,158,42,42,249,22,63,23,204,2,247,22,138,13,11,28,23,
|
||||||
193,2,192,87,94,23,193,1,91,159,37,11,90,161,36,34,11,249,80,159,44,
|
193,2,192,87,94,23,193,1,91,159,37,11,90,161,36,34,11,249,80,159,44,
|
||||||
47,35,248,22,88,23,205,2,11,90,161,35,36,11,28,248,22,71,248,22,90,
|
47,35,248,22,88,23,205,2,11,90,161,35,36,11,28,248,22,71,248,22,90,
|
||||||
23,204,2,28,248,22,71,23,194,2,249,22,147,13,0,8,35,114,120,34,91,
|
23,204,2,28,248,22,71,23,194,2,249,22,149,13,0,8,35,114,120,34,91,
|
||||||
46,93,34,23,196,2,11,10,27,27,28,23,197,2,249,22,77,28,248,22,71,
|
46,93,34,23,196,2,11,10,27,27,28,23,197,2,249,22,77,28,248,22,71,
|
||||||
248,22,90,23,208,2,21,93,6,5,5,109,122,108,105,98,249,22,1,22,77,
|
248,22,90,23,208,2,21,93,6,5,5,109,122,108,105,98,249,22,1,22,77,
|
||||||
249,22,2,80,159,50,55,35,248,22,90,23,211,2,23,197,2,28,248,22,71,
|
249,22,2,80,159,50,55,35,248,22,90,23,211,2,23,197,2,28,248,22,71,
|
||||||
23,196,2,248,22,73,23,197,2,23,195,2,251,80,158,48,49,2,20,23,204,
|
23,196,2,248,22,73,23,197,2,23,195,2,251,80,158,48,49,2,20,23,204,
|
||||||
1,248,22,64,23,198,2,248,22,65,23,198,1,249,22,177,12,23,195,1,28,
|
1,248,22,64,23,198,2,248,22,65,23,198,1,249,22,179,12,23,195,1,28,
|
||||||
23,198,1,87,94,23,196,1,23,197,1,28,248,22,71,23,197,1,87,94,23,
|
23,198,1,87,94,23,196,1,23,197,1,28,248,22,71,23,197,1,87,94,23,
|
||||||
197,1,6,7,7,109,97,105,110,46,115,115,28,249,22,147,13,0,8,35,114,
|
197,1,6,7,7,109,97,105,110,46,115,115,28,249,22,149,13,0,8,35,114,
|
||||||
120,34,91,46,93,34,23,199,2,23,197,1,249,22,156,6,23,199,1,6,3,
|
120,34,91,46,93,34,23,199,2,23,197,1,249,22,158,6,23,199,1,6,3,
|
||||||
3,46,115,115,28,249,22,138,8,248,22,64,23,201,2,64,102,105,108,101,249,
|
3,46,115,115,28,249,22,140,8,248,22,64,23,201,2,64,102,105,108,101,249,
|
||||||
22,184,12,248,22,88,23,201,2,248,80,159,41,54,35,23,202,2,12,87,94,
|
22,186,12,248,22,88,23,201,2,248,80,159,41,54,35,23,202,2,12,87,94,
|
||||||
28,28,248,22,159,12,23,194,2,10,248,22,155,7,23,194,2,87,94,23,200,
|
28,28,248,22,161,12,23,194,2,10,248,22,157,7,23,194,2,87,94,23,200,
|
||||||
1,12,28,23,200,2,250,22,167,8,67,114,101,113,117,105,114,101,249,22,181,
|
1,12,28,23,200,2,250,22,169,8,67,114,101,113,117,105,114,101,249,22,183,
|
||||||
6,6,17,17,98,97,100,32,109,111,100,117,108,101,32,112,97,116,104,126,97,
|
6,6,17,17,98,97,100,32,109,111,100,117,108,101,32,112,97,116,104,126,97,
|
||||||
28,23,198,2,248,22,64,23,199,2,6,0,0,23,203,1,87,94,23,200,1,
|
28,23,198,2,248,22,64,23,199,2,6,0,0,23,203,1,87,94,23,200,1,
|
||||||
250,22,168,8,2,20,249,22,181,6,6,13,13,109,111,100,117,108,101,32,112,
|
250,22,170,8,2,20,249,22,183,6,6,13,13,109,111,100,117,108,101,32,112,
|
||||||
97,116,104,126,97,28,23,198,2,248,22,64,23,199,2,6,0,0,23,201,2,
|
97,116,104,126,97,28,23,198,2,248,22,64,23,199,2,6,0,0,23,201,2,
|
||||||
27,28,248,22,155,7,23,195,2,249,22,160,7,23,196,2,34,249,22,186,12,
|
27,28,248,22,157,7,23,195,2,249,22,162,7,23,196,2,34,249,22,188,12,
|
||||||
248,22,187,12,23,197,2,11,27,28,248,22,155,7,23,196,2,249,22,160,7,
|
248,22,189,12,23,197,2,11,27,28,248,22,157,7,23,196,2,249,22,162,7,
|
||||||
23,197,2,35,248,80,158,41,50,23,195,2,91,159,37,11,90,161,37,34,11,
|
23,197,2,35,248,80,158,41,50,23,195,2,91,159,37,11,90,161,37,34,11,
|
||||||
28,248,22,155,7,23,199,2,250,22,7,2,22,249,22,160,7,23,203,2,36,
|
28,248,22,157,7,23,199,2,250,22,7,2,22,249,22,162,7,23,203,2,36,
|
||||||
2,22,248,22,180,12,23,198,2,87,95,23,195,1,23,193,1,27,28,248,22,
|
2,22,248,22,182,12,23,198,2,87,95,23,195,1,23,193,1,27,28,248,22,
|
||||||
155,7,23,200,2,249,22,160,7,23,201,2,37,249,80,158,46,51,23,197,2,
|
157,7,23,200,2,249,22,162,7,23,201,2,37,249,80,158,46,51,23,197,2,
|
||||||
5,0,27,28,248,22,155,7,23,201,2,249,22,160,7,23,202,2,38,248,22,
|
5,0,27,28,248,22,157,7,23,201,2,249,22,162,7,23,202,2,38,248,22,
|
||||||
148,4,23,200,2,27,27,250,22,126,80,158,50,41,248,22,163,13,247,22,147,
|
150,4,23,200,2,27,27,250,22,126,80,158,50,41,248,22,165,13,247,22,149,
|
||||||
11,11,28,23,193,2,192,87,94,23,193,1,27,247,22,120,87,94,250,22,125,
|
11,11,28,23,193,2,192,87,94,23,193,1,27,247,22,120,87,94,250,22,125,
|
||||||
80,158,51,41,248,22,163,13,247,22,147,11,195,192,87,95,28,23,209,1,27,
|
80,158,51,41,248,22,165,13,247,22,149,11,195,192,87,95,28,23,209,1,27,
|
||||||
250,22,126,23,197,2,197,11,28,23,193,1,12,87,95,27,27,28,248,22,17,
|
250,22,126,23,197,2,197,11,28,23,193,1,12,87,95,27,27,28,248,22,17,
|
||||||
80,158,50,44,80,158,49,44,247,22,19,250,22,25,248,22,23,23,197,2,80,
|
80,158,50,44,80,158,49,44,247,22,19,250,22,25,248,22,23,23,197,2,80,
|
||||||
158,52,43,23,196,1,27,247,22,147,11,249,22,3,83,158,38,20,97,94,89,
|
158,52,43,23,196,1,27,247,22,149,11,249,22,3,83,158,38,20,96,94,89,
|
||||||
162,8,44,35,53,9,226,12,11,2,3,33,46,23,195,1,23,196,1,248,28,
|
162,8,44,35,53,9,226,12,11,2,3,33,46,23,195,1,23,196,1,248,28,
|
||||||
248,22,17,80,158,49,44,32,0,89,162,42,35,40,9,222,33,47,80,159,48,
|
248,22,17,80,158,49,44,32,0,89,162,42,35,40,9,222,33,47,80,159,48,
|
||||||
56,35,89,162,42,34,49,9,227,14,9,8,4,3,33,48,250,22,125,23,197,
|
56,35,89,162,42,34,49,9,227,14,9,8,4,3,33,48,250,22,125,23,197,
|
||||||
1,197,10,12,28,28,248,22,155,7,23,202,1,11,27,248,22,133,6,23,208,
|
1,197,10,12,28,28,248,22,157,7,23,202,1,11,27,248,22,135,6,23,208,
|
||||||
2,28,192,192,28,248,22,61,23,208,2,249,22,138,8,248,22,64,23,210,2,
|
2,28,192,192,28,248,22,61,23,208,2,249,22,140,8,248,22,64,23,210,2,
|
||||||
2,21,11,250,22,125,80,158,49,42,28,248,22,133,6,23,210,2,249,22,63,
|
2,21,11,250,22,125,80,158,49,42,28,248,22,135,6,23,210,2,249,22,63,
|
||||||
23,211,1,248,80,159,52,54,35,23,213,1,87,94,23,210,1,249,22,63,23,
|
23,211,1,248,80,159,52,54,35,23,213,1,87,94,23,210,1,249,22,63,23,
|
||||||
211,1,247,22,136,13,252,22,157,7,23,208,1,23,207,1,23,205,1,23,203,
|
211,1,247,22,138,13,252,22,159,7,23,208,1,23,207,1,23,205,1,23,203,
|
||||||
1,201,12,193,91,159,36,10,90,161,35,34,10,11,90,161,35,35,10,83,158,
|
1,201,12,193,91,159,36,10,90,161,35,34,10,11,90,161,35,35,10,83,158,
|
||||||
37,20,96,96,2,20,89,162,8,44,35,49,9,224,2,0,33,42,89,162,42,
|
37,20,95,96,2,20,89,162,8,44,35,49,9,224,2,0,33,42,89,162,42,
|
||||||
37,47,9,223,1,33,43,89,162,42,38,8,30,9,225,2,3,0,33,49,208,
|
37,47,9,223,1,33,43,89,162,42,38,8,30,9,225,2,3,0,33,49,208,
|
||||||
87,95,248,22,130,4,248,80,158,36,48,247,22,147,11,248,22,184,5,80,158,
|
87,95,248,22,132,4,248,80,158,36,48,247,22,149,11,248,22,186,5,80,158,
|
||||||
35,35,248,22,133,12,80,159,35,40,35,159,34,20,103,159,34,16,1,20,24,
|
35,35,248,22,135,12,80,159,35,40,35,159,34,20,102,159,34,16,1,20,24,
|
||||||
65,98,101,103,105,110,16,0,83,158,40,20,100,137,66,35,37,98,111,111,116,
|
65,98,101,103,105,110,16,0,83,158,40,20,99,137,66,35,37,98,111,111,116,
|
||||||
2,1,11,10,10,36,80,158,34,34,20,103,159,38,16,19,30,2,1,2,2,
|
2,1,11,10,10,36,80,158,34,34,20,102,159,38,16,19,30,2,1,2,2,
|
||||||
193,30,2,1,2,3,193,30,2,5,72,112,97,116,104,45,115,116,114,105,110,
|
193,30,2,1,2,3,193,30,2,5,72,112,97,116,104,45,115,116,114,105,110,
|
||||||
103,63,10,30,2,5,75,112,97,116,104,45,97,100,100,45,115,117,102,102,105,
|
103,63,10,30,2,5,75,112,97,116,104,45,97,100,100,45,115,117,102,102,105,
|
||||||
120,7,30,2,6,1,20,112,97,114,97,109,101,116,101,114,105,122,97,116,105,
|
120,7,30,2,6,1,20,112,97,114,97,109,101,116,101,114,105,122,97,116,105,
|
||||||
|
@ -542,7 +542,7 @@
|
||||||
34,16,2,89,162,8,44,35,43,9,223,0,33,24,80,159,34,55,35,83,158,
|
34,16,2,89,162,8,44,35,43,9,223,0,33,24,80,159,34,55,35,83,158,
|
||||||
34,16,2,89,162,42,35,47,67,103,101,116,45,100,105,114,223,0,33,25,80,
|
34,16,2,89,162,42,35,47,67,103,101,116,45,100,105,114,223,0,33,25,80,
|
||||||
159,34,54,35,83,158,34,16,2,89,162,42,36,47,68,119,105,116,104,45,100,
|
159,34,54,35,83,158,34,16,2,89,162,42,36,47,68,119,105,116,104,45,100,
|
||||||
105,114,223,0,33,26,80,159,34,53,35,83,158,34,16,2,248,22,152,7,69,
|
105,114,223,0,33,26,80,159,34,53,35,83,158,34,16,2,248,22,154,7,69,
|
||||||
115,111,45,115,117,102,102,105,120,80,159,34,34,35,83,158,34,16,2,89,162,
|
115,111,45,115,117,102,102,105,120,80,159,34,34,35,83,158,34,16,2,89,162,
|
||||||
42,36,58,2,3,223,0,33,35,80,159,34,35,35,83,158,34,16,2,32,0,
|
42,36,58,2,3,223,0,33,35,80,159,34,35,35,83,158,34,16,2,32,0,
|
||||||
89,162,8,44,35,40,2,7,222,192,80,159,34,40,35,83,158,34,16,2,248,
|
89,162,8,44,35,40,2,7,222,192,80,159,34,40,35,83,158,34,16,2,248,
|
||||||
|
|
|
@ -28,15 +28,17 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include "../gc2/gc2_obj.h"
|
||||||
|
|
||||||
int scheme_hash_request_count;
|
int scheme_hash_request_count;
|
||||||
int scheme_hash_iteration_count;
|
int scheme_hash_iteration_count;
|
||||||
|
|
||||||
#ifdef MZ_PRECISE_GC
|
#ifdef MZ_PRECISE_GC
|
||||||
static short keygen;
|
static long keygen;
|
||||||
XFORM_NONGCING static MZ_INLINE
|
XFORM_NONGCING static MZ_INLINE
|
||||||
long PTR_TO_LONG(Scheme_Object *o)
|
long PTR_TO_LONG(Scheme_Object *o)
|
||||||
{
|
{
|
||||||
|
long bits;
|
||||||
short v;
|
short v;
|
||||||
|
|
||||||
if (SCHEME_INTP(o))
|
if (SCHEME_INTP(o))
|
||||||
|
@ -47,12 +49,30 @@ long PTR_TO_LONG(Scheme_Object *o)
|
||||||
if (!(v & 0xFFFC)) {
|
if (!(v & 0xFFFC)) {
|
||||||
if (!keygen)
|
if (!keygen)
|
||||||
keygen += 4;
|
keygen += 4;
|
||||||
v |= keygen;
|
v |= (short)keygen;
|
||||||
|
#ifdef OBJHEAD_HAS_HASH_BITS
|
||||||
|
/* In 3m mode, we only have 14 bits of hash code in the
|
||||||
|
Scheme_Object header. But the GC-level object header has some
|
||||||
|
leftover bits (currently 9 or 41, depending on the platform),
|
||||||
|
so use those, too. */
|
||||||
|
if (GC_is_allocated(o)) {
|
||||||
|
OBJHEAD_HASH_BITS(o) = (keygen >> 16);
|
||||||
|
v |= 0x4000;
|
||||||
|
} else
|
||||||
|
v &= ~0x4000;
|
||||||
|
#endif
|
||||||
o->keyex = v;
|
o->keyex = v;
|
||||||
keygen += 4;
|
keygen += 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (o->type << 16) | v;
|
#ifdef OBJHEAD_HAS_HASH_BITS
|
||||||
|
if (v & 0x4000)
|
||||||
|
bits = OBJHEAD_HASH_BITS(o);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
bits = o->type;
|
||||||
|
|
||||||
|
return (bits << 16) | ((v >> 2) & 0xFFFF);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
# define PTR_TO_LONG(p) ((long)(p))
|
# define PTR_TO_LONG(p) ((long)(p))
|
||||||
|
@ -166,8 +186,6 @@ static Scheme_Object *do_hash(Scheme_Hash_Table *table, Scheme_Object *key, int
|
||||||
_h2 = NULL;
|
_h2 = NULL;
|
||||||
} else
|
} else
|
||||||
_h2 = &h2;
|
_h2 = &h2;
|
||||||
if ((long)table->make_hash_indices < 0x100)
|
|
||||||
*(long *)0x0 = 1; /* REMOVEME */
|
|
||||||
table->make_hash_indices((void *)key, (long *)&h, (long *)_h2);
|
table->make_hash_indices((void *)key, (long *)&h, (long *)_h2);
|
||||||
h = h & mask;
|
h = h & mask;
|
||||||
if (_h2) {
|
if (_h2) {
|
||||||
|
@ -991,7 +1009,6 @@ static long equal_hash_key(Scheme_Object *o, long k, Hash_Info *hi)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case scheme_complex_type:
|
case scheme_complex_type:
|
||||||
case scheme_complex_izi_type:
|
|
||||||
{
|
{
|
||||||
Scheme_Complex *c = (Scheme_Complex *)o;
|
Scheme_Complex *c = (Scheme_Complex *)o;
|
||||||
k += equal_hash_key(c->r, 0, hi);
|
k += equal_hash_key(c->r, 0, hi);
|
||||||
|
@ -1351,7 +1368,6 @@ static long equal_hash_key2(Scheme_Object *o, Hash_Info *hi)
|
||||||
case scheme_rational_type:
|
case scheme_rational_type:
|
||||||
return equal_hash_key2(scheme_rational_numerator(o), hi);
|
return equal_hash_key2(scheme_rational_numerator(o), hi);
|
||||||
case scheme_complex_type:
|
case scheme_complex_type:
|
||||||
case scheme_complex_izi_type:
|
|
||||||
{
|
{
|
||||||
long v1, v2;
|
long v1, v2;
|
||||||
Scheme_Complex *c = (Scheme_Complex *)o;
|
Scheme_Complex *c = (Scheme_Complex *)o;
|
||||||
|
|
|
@ -190,6 +190,12 @@ static void register_traversers(void);
|
||||||
static void release_native_code(void *fnlized, void *p);
|
static void release_native_code(void *fnlized, void *p);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef MZ_USE_SINGLE_FLOATS
|
||||||
|
# define SCHEME_FLOAT_TYPE scheme_float_type
|
||||||
|
#else
|
||||||
|
# define SCHEME_FLOAT_TYPE scheme_double_type
|
||||||
|
#endif
|
||||||
|
|
||||||
#define NATIVE_PRESERVES_MARKS 0x1
|
#define NATIVE_PRESERVES_MARKS 0x1
|
||||||
#define NATIVE_IS_SINGLE_RESULT 0x2
|
#define NATIVE_IS_SINGLE_RESULT 0x2
|
||||||
|
|
||||||
|
@ -3429,11 +3435,17 @@ static int generate_inlined_unary(mz_jit_state *jitter, Scheme_App2_Rec *app, in
|
||||||
generate_inlined_type_test(jitter, app, scheme_integer_type, scheme_complex_type, for_branch, branch_short);
|
generate_inlined_type_test(jitter, app, scheme_integer_type, scheme_complex_type, for_branch, branch_short);
|
||||||
return 1;
|
return 1;
|
||||||
} else if (IS_NAMED_PRIM(rator, "real?")) {
|
} else if (IS_NAMED_PRIM(rator, "real?")) {
|
||||||
generate_inlined_type_test(jitter, app, scheme_integer_type, scheme_complex_izi_type, for_branch, branch_short);
|
generate_inlined_type_test(jitter, app, scheme_integer_type, scheme_double_type, for_branch, branch_short);
|
||||||
return 1;
|
return 1;
|
||||||
} else if (IS_NAMED_PRIM(rator, "exact-integer?")) {
|
} else if (IS_NAMED_PRIM(rator, "exact-integer?")) {
|
||||||
generate_inlined_type_test(jitter, app, scheme_integer_type, scheme_bignum_type, for_branch, branch_short);
|
generate_inlined_type_test(jitter, app, scheme_integer_type, scheme_bignum_type, for_branch, branch_short);
|
||||||
return 1;
|
return 1;
|
||||||
|
} else if (IS_NAMED_PRIM(rator, "fixnum?")) {
|
||||||
|
generate_inlined_type_test(jitter, app, scheme_integer_type, scheme_integer_type, for_branch, branch_short);
|
||||||
|
return 1;
|
||||||
|
} else if (IS_NAMED_PRIM(rator, "inexact-real?")) {
|
||||||
|
generate_inlined_type_test(jitter, app, SCHEME_FLOAT_TYPE, scheme_double_type, for_branch, branch_short);
|
||||||
|
return 1;
|
||||||
} else if (IS_NAMED_PRIM(rator, "procedure?")) {
|
} else if (IS_NAMED_PRIM(rator, "procedure?")) {
|
||||||
generate_inlined_type_test(jitter, app, scheme_prim_type, scheme_native_closure_type, for_branch, branch_short);
|
generate_inlined_type_test(jitter, app, scheme_prim_type, scheme_native_closure_type, for_branch, branch_short);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -120,7 +120,7 @@ scheme_add1 (int argc, Scheme_Object *argv[])
|
||||||
return scheme_bignum_add1(o);
|
return scheme_bignum_add1(o);
|
||||||
if (t == scheme_rational_type)
|
if (t == scheme_rational_type)
|
||||||
return scheme_rational_add1(o);
|
return scheme_rational_add1(o);
|
||||||
if ((t == scheme_complex_type) || (t == scheme_complex_izi_type))
|
if (t == scheme_complex_type)
|
||||||
return scheme_complex_add1(o);
|
return scheme_complex_add1(o);
|
||||||
|
|
||||||
NEED_NUMBER(add1);
|
NEED_NUMBER(add1);
|
||||||
|
@ -155,7 +155,7 @@ scheme_sub1 (int argc, Scheme_Object *argv[])
|
||||||
return scheme_bignum_sub1(o);
|
return scheme_bignum_sub1(o);
|
||||||
if (t == scheme_rational_type)
|
if (t == scheme_rational_type)
|
||||||
return scheme_rational_sub1(o);
|
return scheme_rational_sub1(o);
|
||||||
if ((t == scheme_complex_type) || (t == scheme_complex_izi_type))
|
if (t == scheme_complex_type)
|
||||||
return scheme_complex_sub1(o);
|
return scheme_complex_sub1(o);
|
||||||
|
|
||||||
NEED_NUMBER(sub1);
|
NEED_NUMBER(sub1);
|
||||||
|
@ -374,10 +374,6 @@ scheme_abs(int argc, Scheme_Object *argv[])
|
||||||
else
|
else
|
||||||
return scheme_rational_negate(o);
|
return scheme_rational_negate(o);
|
||||||
}
|
}
|
||||||
if (t == scheme_complex_izi_type) {
|
|
||||||
Scheme_Object *r = IZI_REAL_PART(o);
|
|
||||||
return scheme_abs(1, &r);
|
|
||||||
}
|
|
||||||
|
|
||||||
NEED_REAL(abs);
|
NEED_REAL(abs);
|
||||||
|
|
||||||
|
@ -402,9 +398,6 @@ do_bin_quotient(const char *name, const Scheme_Object *n1, const Scheme_Object *
|
||||||
scheme_wrong_type(name, "integer", 1, 2, a);
|
scheme_wrong_type(name, "integer", 1, 2, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SCHEME_COMPLEX_IZIP(n1)) n1 = IZI_REAL_PART(n1);
|
|
||||||
if (SCHEME_COMPLEX_IZIP(n2)) n2 = IZI_REAL_PART(n2);
|
|
||||||
|
|
||||||
if (SCHEME_INTP(n2) && !SCHEME_INT_VAL(n2))
|
if (SCHEME_INTP(n2) && !SCHEME_INT_VAL(n2))
|
||||||
scheme_raise_exn(MZEXN_FAIL_CONTRACT_DIVIDE_BY_ZERO,
|
scheme_raise_exn(MZEXN_FAIL_CONTRACT_DIVIDE_BY_ZERO,
|
||||||
"%s: undefined for 0", name);
|
"%s: undefined for 0", name);
|
||||||
|
@ -508,9 +501,6 @@ rem_mod (int argc, Scheme_Object *argv[], char *name, int first_sign)
|
||||||
if (!scheme_is_integer(n2))
|
if (!scheme_is_integer(n2))
|
||||||
scheme_wrong_type(name, "integer", 1, argc, argv);
|
scheme_wrong_type(name, "integer", 1, argc, argv);
|
||||||
|
|
||||||
if (SCHEME_COMPLEX_IZIP(n1)) n1 = IZI_REAL_PART(n1);
|
|
||||||
if (SCHEME_COMPLEX_IZIP(n2)) n2 = IZI_REAL_PART(n2);
|
|
||||||
|
|
||||||
if (SCHEME_INTP(n2) && !SCHEME_INT_VAL(n2))
|
if (SCHEME_INTP(n2) && !SCHEME_INT_VAL(n2))
|
||||||
scheme_raise_exn(MZEXN_FAIL_CONTRACT_DIVIDE_BY_ZERO,
|
scheme_raise_exn(MZEXN_FAIL_CONTRACT_DIVIDE_BY_ZERO,
|
||||||
"%s: undefined for 0", name);
|
"%s: undefined for 0", name);
|
||||||
|
|
|
@ -64,6 +64,8 @@ static Scheme_Object *integer_p (int argc, Scheme_Object *argv[]);
|
||||||
static Scheme_Object *exact_integer_p (int argc, Scheme_Object *argv[]);
|
static Scheme_Object *exact_integer_p (int argc, Scheme_Object *argv[]);
|
||||||
static Scheme_Object *exact_nonnegative_integer_p (int argc, Scheme_Object *argv[]);
|
static Scheme_Object *exact_nonnegative_integer_p (int argc, Scheme_Object *argv[]);
|
||||||
static Scheme_Object *exact_positive_integer_p (int argc, Scheme_Object *argv[]);
|
static Scheme_Object *exact_positive_integer_p (int argc, Scheme_Object *argv[]);
|
||||||
|
static Scheme_Object *fixnum_p (int argc, Scheme_Object *argv[]);
|
||||||
|
static Scheme_Object *inexact_real_p (int argc, Scheme_Object *argv[]);
|
||||||
static Scheme_Object *exact_p (int argc, Scheme_Object *argv[]);
|
static Scheme_Object *exact_p (int argc, Scheme_Object *argv[]);
|
||||||
static Scheme_Object *even_p (int argc, Scheme_Object *argv[]);
|
static Scheme_Object *even_p (int argc, Scheme_Object *argv[]);
|
||||||
static Scheme_Object *bitwise_or (int argc, Scheme_Object *argv[]);
|
static Scheme_Object *bitwise_or (int argc, Scheme_Object *argv[]);
|
||||||
|
@ -261,6 +263,14 @@ scheme_init_number (Scheme_Env *env)
|
||||||
SCHEME_PRIM_PROC_FLAGS(p) |= SCHEME_PRIM_IS_UNARY_INLINED;
|
SCHEME_PRIM_PROC_FLAGS(p) |= SCHEME_PRIM_IS_UNARY_INLINED;
|
||||||
scheme_add_global_constant("exact-positive-integer?", p, env);
|
scheme_add_global_constant("exact-positive-integer?", p, env);
|
||||||
|
|
||||||
|
p = scheme_make_folding_prim(fixnum_p, "fixnum?", 1, 1, 1);
|
||||||
|
SCHEME_PRIM_PROC_FLAGS(p) |= SCHEME_PRIM_IS_UNARY_INLINED;
|
||||||
|
scheme_add_global_constant("fixnum?", p, env);
|
||||||
|
|
||||||
|
p = scheme_make_folding_prim(inexact_real_p, "inexact-real?", 1, 1, 1);
|
||||||
|
SCHEME_PRIM_PROC_FLAGS(p) |= SCHEME_PRIM_IS_UNARY_INLINED;
|
||||||
|
scheme_add_global_constant("inexact-real?", p, env);
|
||||||
|
|
||||||
scheme_add_global_constant("exact?",
|
scheme_add_global_constant("exact?",
|
||||||
scheme_make_folding_prim(exact_p,
|
scheme_make_folding_prim(exact_p,
|
||||||
"exact?",
|
"exact?",
|
||||||
|
@ -630,8 +640,6 @@ double scheme_real_to_double(Scheme_Object *r)
|
||||||
return scheme_bignum_to_double(r);
|
return scheme_bignum_to_double(r);
|
||||||
else if (SCHEME_RATIONALP(r))
|
else if (SCHEME_RATIONALP(r))
|
||||||
return scheme_rational_to_double(r);
|
return scheme_rational_to_double(r);
|
||||||
else if (SCHEME_COMPLEX_IZIP(r))
|
|
||||||
return scheme_real_to_double(IZI_REAL_PART(r));
|
|
||||||
else
|
else
|
||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
@ -646,6 +654,20 @@ int scheme_minus_zero_p(double d)
|
||||||
return minus_zero_p(d);
|
return minus_zero_p(d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MZ_USE_SINGLE_FLOATS
|
||||||
|
static int rational_flt_p(float f) {
|
||||||
|
return !(MZ_IS_NAN(f)
|
||||||
|
|| MZ_IS_POS_INFINITY(f)
|
||||||
|
|| MZ_IS_NEG_INFINITY(f));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static int rational_dbl_p(double f) {
|
||||||
|
return !(MZ_IS_NAN(f)
|
||||||
|
|| MZ_IS_POS_INFINITY(f)
|
||||||
|
|| MZ_IS_NEG_INFINITY(f));
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef DEFEAT_FP_COMP_OPTIMIZATION
|
#ifdef DEFEAT_FP_COMP_OPTIMIZATION
|
||||||
int scheme_both_nan(double a, double b)
|
int scheme_both_nan(double a, double b)
|
||||||
{
|
{
|
||||||
|
@ -736,7 +758,11 @@ static Scheme_Object *
|
||||||
rational_p(int argc, Scheme_Object *argv[])
|
rational_p(int argc, Scheme_Object *argv[])
|
||||||
{
|
{
|
||||||
Scheme_Object *o = argv[0];
|
Scheme_Object *o = argv[0];
|
||||||
return (SCHEME_REALP(o) ? scheme_true : scheme_false);
|
|
||||||
|
if (SCHEME_FLOATP(o))
|
||||||
|
return (rational_dbl_p(SCHEME_FLOAT_VAL(o)) ? scheme_true : scheme_false);
|
||||||
|
else
|
||||||
|
return (SCHEME_REALP(o) ? scheme_true : scheme_false);
|
||||||
}
|
}
|
||||||
|
|
||||||
int scheme_is_integer(const Scheme_Object *o)
|
int scheme_is_integer(const Scheme_Object *o)
|
||||||
|
@ -751,13 +777,13 @@ int scheme_is_integer(const Scheme_Object *o)
|
||||||
if (MZ_IS_NAN(d))
|
if (MZ_IS_NAN(d))
|
||||||
return 0;
|
return 0;
|
||||||
# endif
|
# endif
|
||||||
|
if (MZ_IS_POS_INFINITY(d)
|
||||||
|
|| MZ_IS_NEG_INFINITY(d))
|
||||||
|
return 0;
|
||||||
if (floor(d) == d)
|
if (floor(d) == d)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SCHEME_COMPLEX_IZIP(o))
|
|
||||||
return scheme_is_integer(IZI_REAL_PART(o));
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -804,6 +830,26 @@ exact_positive_integer_p (int argc, Scheme_Object *argv[])
|
||||||
return scheme_false;
|
return scheme_false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Scheme_Object *
|
||||||
|
fixnum_p (int argc, Scheme_Object *argv[])
|
||||||
|
{
|
||||||
|
Scheme_Object *n = argv[0];
|
||||||
|
if (SCHEME_INTP(n))
|
||||||
|
return scheme_true;
|
||||||
|
else
|
||||||
|
return scheme_false;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Scheme_Object *
|
||||||
|
inexact_real_p (int argc, Scheme_Object *argv[])
|
||||||
|
{
|
||||||
|
Scheme_Object *n = argv[0];
|
||||||
|
if (SCHEME_FLOATP(n))
|
||||||
|
return scheme_true;
|
||||||
|
else
|
||||||
|
return scheme_false;
|
||||||
|
}
|
||||||
|
|
||||||
int scheme_is_exact(const Scheme_Object *n)
|
int scheme_is_exact(const Scheme_Object *n)
|
||||||
{
|
{
|
||||||
if (SCHEME_INTP(n)) {
|
if (SCHEME_INTP(n)) {
|
||||||
|
@ -821,8 +867,6 @@ int scheme_is_exact(const Scheme_Object *n)
|
||||||
else if (type == scheme_float_type)
|
else if (type == scheme_float_type)
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
else if (type == scheme_complex_izi_type)
|
|
||||||
return 0;
|
|
||||||
else {
|
else {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -858,8 +902,6 @@ int scheme_is_inexact(const Scheme_Object *n)
|
||||||
else if (type == scheme_float_type)
|
else if (type == scheme_float_type)
|
||||||
return 1;
|
return 1;
|
||||||
#endif
|
#endif
|
||||||
else if (type == scheme_complex_izi_type)
|
|
||||||
return 1;
|
|
||||||
else {
|
else {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -888,10 +930,6 @@ scheme_odd_p (int argc, Scheme_Object *argv[])
|
||||||
return (SCHEME_INT_VAL(v) & 0x1) ? scheme_true : scheme_false;
|
return (SCHEME_INT_VAL(v) & 0x1) ? scheme_true : scheme_false;
|
||||||
if (SCHEME_BIGNUMP(v))
|
if (SCHEME_BIGNUMP(v))
|
||||||
return (SCHEME_BIGDIG(v)[0] & 0x1) ? scheme_true : scheme_false;
|
return (SCHEME_BIGDIG(v)[0] & 0x1) ? scheme_true : scheme_false;
|
||||||
if (SCHEME_COMPLEX_IZIP(v)) {
|
|
||||||
Scheme_Object *r = IZI_REAL_PART(v);
|
|
||||||
return scheme_odd_p(1, &r);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (scheme_is_integer(v)) {
|
if (scheme_is_integer(v)) {
|
||||||
double d = SCHEME_FLOAT_VAL(v);
|
double d = SCHEME_FLOAT_VAL(v);
|
||||||
|
@ -914,10 +952,6 @@ even_p (int argc, Scheme_Object *argv[])
|
||||||
return (SCHEME_INT_VAL(v) & 0x1) ? scheme_false : scheme_true;
|
return (SCHEME_INT_VAL(v) & 0x1) ? scheme_false : scheme_true;
|
||||||
if (SCHEME_BIGNUMP(v))
|
if (SCHEME_BIGNUMP(v))
|
||||||
return (SCHEME_BIGDIG(v)[0] & 0x1) ? scheme_false : scheme_true;
|
return (SCHEME_BIGDIG(v)[0] & 0x1) ? scheme_false : scheme_true;
|
||||||
if (SCHEME_COMPLEX_IZIP(v)) {
|
|
||||||
Scheme_Object *r = IZI_REAL_PART(v);
|
|
||||||
return even_p(1, &r);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (scheme_is_integer(v)) {
|
if (scheme_is_integer(v)) {
|
||||||
double d = SCHEME_FLOAT_VAL(v);
|
double d = SCHEME_FLOAT_VAL(v);
|
||||||
|
@ -939,9 +973,6 @@ GEN_NARY_OP(static, lcm, "lcm", bin_lcm, 1, scheme_is_integer, "integer")
|
||||||
Scheme_Object *
|
Scheme_Object *
|
||||||
scheme_bin_gcd (const Scheme_Object *n1, const Scheme_Object *n2)
|
scheme_bin_gcd (const Scheme_Object *n1, const Scheme_Object *n2)
|
||||||
{
|
{
|
||||||
if (SCHEME_COMPLEX_IZIP(n1)) n1 = IZI_REAL_PART(n1);
|
|
||||||
if (SCHEME_COMPLEX_IZIP(n2)) n2 = IZI_REAL_PART(n2);
|
|
||||||
|
|
||||||
if (SCHEME_INTP(n1) && SCHEME_INTP(n2)) {
|
if (SCHEME_INTP(n1) && SCHEME_INTP(n2)) {
|
||||||
long i1, i2, a, b, r;
|
long i1, i2, a, b, r;
|
||||||
|
|
||||||
|
@ -1061,19 +1092,21 @@ floor_prim (int argc, Scheme_Object *argv[])
|
||||||
return o;
|
return o;
|
||||||
t = _SCHEME_TYPE(o);
|
t = _SCHEME_TYPE(o);
|
||||||
#ifdef MZ_USE_SINGLE_FLOATS
|
#ifdef MZ_USE_SINGLE_FLOATS
|
||||||
if (t == scheme_float_type)
|
if (t == scheme_float_type) {
|
||||||
return scheme_make_float(floor(SCHEME_FLT_VAL(o)));
|
float d = SCHEME_FLT_VAL(o);
|
||||||
|
if (rational_flt_p((double)d))
|
||||||
|
return scheme_make_float(floor(d));
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
if (t == scheme_double_type)
|
if (t == scheme_double_type) {
|
||||||
return scheme_make_double(floor(SCHEME_DBL_VAL(o)));
|
double d = SCHEME_DBL_VAL(o);
|
||||||
|
if (rational_dbl_p(d))
|
||||||
|
return scheme_make_double(floor(d));
|
||||||
|
}
|
||||||
if (t == scheme_bignum_type)
|
if (t == scheme_bignum_type)
|
||||||
return o;
|
return o;
|
||||||
if (t == scheme_rational_type)
|
if (t == scheme_rational_type)
|
||||||
return scheme_rational_floor(o);
|
return scheme_rational_floor(o);
|
||||||
if (t == scheme_complex_izi_type) {
|
|
||||||
Scheme_Object *r = IZI_REAL_PART(o);
|
|
||||||
return floor_prim(1, &r);
|
|
||||||
}
|
|
||||||
|
|
||||||
NEED_REAL(floor);
|
NEED_REAL(floor);
|
||||||
|
|
||||||
|
@ -1090,19 +1123,21 @@ ceiling (int argc, Scheme_Object *argv[])
|
||||||
return o;
|
return o;
|
||||||
t = _SCHEME_TYPE(o);
|
t = _SCHEME_TYPE(o);
|
||||||
#ifdef MZ_USE_SINGLE_FLOATS
|
#ifdef MZ_USE_SINGLE_FLOATS
|
||||||
if (t == scheme_float_type)
|
if (t == scheme_float_type) {
|
||||||
return scheme_make_float(ceil(SCHEME_FLT_VAL(o)));
|
float d = SCHEME_FLT_VAL(o);
|
||||||
|
if (rational_flt_p(d))
|
||||||
|
return scheme_make_float(ceil(d));
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
if (t == scheme_double_type)
|
if (t == scheme_double_type) {
|
||||||
return scheme_make_double(ceil(SCHEME_DBL_VAL(o)));
|
double d = SCHEME_DBL_VAL(o);
|
||||||
|
if (rational_dbl_p(d))
|
||||||
|
return scheme_make_double(ceil(d));
|
||||||
|
}
|
||||||
if (t == scheme_bignum_type)
|
if (t == scheme_bignum_type)
|
||||||
return o;
|
return o;
|
||||||
if (t == scheme_rational_type)
|
if (t == scheme_rational_type)
|
||||||
return scheme_rational_ceiling(o);
|
return scheme_rational_ceiling(o);
|
||||||
if (t == scheme_complex_izi_type) {
|
|
||||||
Scheme_Object *r = IZI_REAL_PART(o);
|
|
||||||
return ceiling(1, &r);
|
|
||||||
}
|
|
||||||
|
|
||||||
NEED_REAL(ceiling);
|
NEED_REAL(ceiling);
|
||||||
|
|
||||||
|
@ -1121,29 +1156,29 @@ sch_truncate (int argc, Scheme_Object *argv[])
|
||||||
#ifdef MZ_USE_SINGLE_FLOATS
|
#ifdef MZ_USE_SINGLE_FLOATS
|
||||||
if (t == scheme_float_type) {
|
if (t == scheme_float_type) {
|
||||||
float v = SCHEME_FLT_VAL(o);
|
float v = SCHEME_FLT_VAL(o);
|
||||||
if (v > 0)
|
if (rational_flt_p(v)) {
|
||||||
v = floor(v);
|
if (v > 0)
|
||||||
else
|
v = floor(v);
|
||||||
v = ceil(v);
|
else
|
||||||
return scheme_make_float(v);
|
v = ceil(v);
|
||||||
|
return scheme_make_float(v);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (t == scheme_double_type) {
|
if (t == scheme_double_type) {
|
||||||
double v = SCHEME_DBL_VAL(o);
|
double v = SCHEME_DBL_VAL(o);
|
||||||
if (v > 0)
|
if (rational_dbl_p(v)) {
|
||||||
v = floor(v);
|
if (v > 0)
|
||||||
else
|
v = floor(v);
|
||||||
v = ceil(v);
|
else
|
||||||
return scheme_make_double(v);
|
v = ceil(v);
|
||||||
|
return scheme_make_double(v);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (t == scheme_bignum_type)
|
if (t == scheme_bignum_type)
|
||||||
return o;
|
return o;
|
||||||
if (t == scheme_rational_type)
|
if (t == scheme_rational_type)
|
||||||
return scheme_rational_truncate(o);
|
return scheme_rational_truncate(o);
|
||||||
if (t == scheme_complex_izi_type) {
|
|
||||||
Scheme_Object *r = IZI_REAL_PART(o);
|
|
||||||
return sch_truncate(1, &r);
|
|
||||||
}
|
|
||||||
|
|
||||||
NEED_REAL(truncate);
|
NEED_REAL(truncate);
|
||||||
|
|
||||||
|
@ -1165,26 +1200,28 @@ sch_round (int argc, Scheme_Object *argv[])
|
||||||
double i, frac;
|
double i, frac;
|
||||||
int invert;
|
int invert;
|
||||||
|
|
||||||
if (d < 0) {
|
if (rational_flt_p(d)) {
|
||||||
d = -d;
|
if (d < 0) {
|
||||||
invert = 1;
|
d = -d;
|
||||||
} else
|
invert = 1;
|
||||||
invert = 0;
|
} else
|
||||||
|
invert = 0;
|
||||||
|
|
||||||
frac = modf(d, &i);
|
frac = modf(d, &i);
|
||||||
if (frac < 0.5)
|
if (frac < 0.5)
|
||||||
d = i;
|
d = i;
|
||||||
else if (frac > 0.5)
|
else if (frac > 0.5)
|
||||||
d = i + 1;
|
d = i + 1;
|
||||||
else if (fmod(i, 2.0) != 0.0)
|
else if (fmod(i, 2.0) != 0.0)
|
||||||
d = i + 1;
|
d = i + 1;
|
||||||
else
|
else
|
||||||
d = i;
|
d = i;
|
||||||
|
|
||||||
if (invert)
|
if (invert)
|
||||||
d = -d;
|
d = -d;
|
||||||
|
|
||||||
return scheme_make_float((float)d);
|
return scheme_make_float((float)d);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (t == scheme_double_type) {
|
if (t == scheme_double_type) {
|
||||||
|
@ -1192,35 +1229,33 @@ sch_round (int argc, Scheme_Object *argv[])
|
||||||
double i, frac;
|
double i, frac;
|
||||||
int invert;
|
int invert;
|
||||||
|
|
||||||
if (d < 0) {
|
if (rational_dbl_p(d)) {
|
||||||
d = -d;
|
if (d < 0) {
|
||||||
invert = 1;
|
d = -d;
|
||||||
} else
|
invert = 1;
|
||||||
invert = 0;
|
} else
|
||||||
|
invert = 0;
|
||||||
|
|
||||||
frac = modf(d, &i);
|
frac = modf(d, &i);
|
||||||
if (frac < 0.5)
|
if (frac < 0.5)
|
||||||
d = i;
|
d = i;
|
||||||
else if (frac > 0.5)
|
else if (frac > 0.5)
|
||||||
d = i + 1;
|
d = i + 1;
|
||||||
else if (fmod(i, 2.0) != 0.0)
|
else if (fmod(i, 2.0) != 0.0)
|
||||||
d = i + 1;
|
d = i + 1;
|
||||||
else
|
else
|
||||||
d = i;
|
d = i;
|
||||||
|
|
||||||
if (invert)
|
if (invert)
|
||||||
d = -d;
|
d = -d;
|
||||||
|
|
||||||
return scheme_make_double(d);
|
return scheme_make_double(d);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (t == scheme_bignum_type)
|
if (t == scheme_bignum_type)
|
||||||
return o;
|
return o;
|
||||||
if (t == scheme_rational_type)
|
if (t == scheme_rational_type)
|
||||||
return scheme_rational_round(o);
|
return scheme_rational_round(o);
|
||||||
if (t == scheme_complex_izi_type) {
|
|
||||||
Scheme_Object *r = IZI_REAL_PART(o);
|
|
||||||
return sch_round(1, &r);
|
|
||||||
}
|
|
||||||
|
|
||||||
NEED_REAL(round);
|
NEED_REAL(round);
|
||||||
|
|
||||||
|
@ -1246,8 +1281,6 @@ float TO_FLOAT_VAL(const Scheme_Object *n)
|
||||||
return scheme_bignum_to_float(n);
|
return scheme_bignum_to_float(n);
|
||||||
if (t == scheme_rational_type)
|
if (t == scheme_rational_type)
|
||||||
return scheme_rational_to_float(n);
|
return scheme_rational_to_float(n);
|
||||||
if (t == scheme_complex_izi_type)
|
|
||||||
return TO_FLOAT_VAL(IZI_REAL_PART(n));
|
|
||||||
return 0.0f;
|
return 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1279,8 +1312,6 @@ double TO_DOUBLE_VAL(const Scheme_Object *n)
|
||||||
return scheme_bignum_to_double(n);
|
return scheme_bignum_to_double(n);
|
||||||
if (t == scheme_rational_type)
|
if (t == scheme_rational_type)
|
||||||
return scheme_rational_to_double(n);
|
return scheme_rational_to_double(n);
|
||||||
if (t == scheme_complex_izi_type)
|
|
||||||
return TO_DOUBLE_VAL(IZI_REAL_PART(n));
|
|
||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1296,9 +1327,6 @@ Scheme_Object *scheme_TO_DOUBLE(const Scheme_Object *n)
|
||||||
|
|
||||||
Scheme_Object *scheme_TO_DOUBLE(const Scheme_Object *n)
|
Scheme_Object *scheme_TO_DOUBLE(const Scheme_Object *n)
|
||||||
{
|
{
|
||||||
if (SCHEME_COMPLEX_IZIP(n))
|
|
||||||
n = IZI_REAL_PART(n);
|
|
||||||
|
|
||||||
return scheme_exact_to_inexact(1, (Scheme_Object **)&n);
|
return scheme_exact_to_inexact(1, (Scheme_Object **)&n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1319,33 +1347,21 @@ Scheme_Object *scheme_to_bignum(const Scheme_Object *o)
|
||||||
return (Scheme_Object *)o;
|
return (Scheme_Object *)o;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Scheme_Object *get_frac(char *name, int low_p,
|
|
||||||
int argc, Scheme_Object *argv[]);
|
|
||||||
|
|
||||||
static Scheme_Object *get_frac(char *name, int low_p,
|
static Scheme_Object *get_frac(char *name, int low_p,
|
||||||
int argc, Scheme_Object *argv[])
|
int argc, Scheme_Object *argv[])
|
||||||
{
|
{
|
||||||
Scheme_Object *n = argv[0], *orig;
|
Scheme_Object *n = argv[0], *orig;
|
||||||
|
|
||||||
if (SCHEME_COMPLEX_IZIP(n)) n = IZI_REAL_PART(n);
|
|
||||||
|
|
||||||
orig = n;
|
orig = n;
|
||||||
|
|
||||||
if (SCHEME_FLOATP(n)) {
|
if (SCHEME_FLOATP(n)) {
|
||||||
double d = SCHEME_FLOAT_VAL(n);
|
double d = SCHEME_FLOAT_VAL(n);
|
||||||
|
|
||||||
if (MZ_IS_NAN(d))
|
if (MZ_IS_NAN(d)
|
||||||
return n;
|
|| MZ_IS_POS_INFINITY(d)
|
||||||
else if (MZ_IS_POS_INFINITY(d)
|
|| MZ_IS_NEG_INFINITY(d)) {
|
||||||
|| MZ_IS_NEG_INFINITY(d)) {
|
scheme_wrong_type(name, REAL_NUMBER_STR, 0, argc, argv);
|
||||||
if (low_p) {
|
ESCAPED_BEFORE_HERE;
|
||||||
#ifdef MZ_USE_SINGLE_FLOATS
|
|
||||||
if (SCHEME_FLTP(n))
|
|
||||||
return scheme_make_float(1.0);
|
|
||||||
#endif
|
|
||||||
return scheme_make_double(1.0);
|
|
||||||
} else
|
|
||||||
return n;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MZ_USE_SINGLE_FLOATS
|
#ifdef MZ_USE_SINGLE_FLOATS
|
||||||
|
@ -1579,8 +1595,20 @@ double SCH_LOG(double d) { if (d == 0.0) return scheme_minus_infinity_val; else
|
||||||
#endif
|
#endif
|
||||||
#define BIGNUM_LOG(o) return bignum_log(o);
|
#define BIGNUM_LOG(o) return bignum_log(o);
|
||||||
|
|
||||||
|
static Scheme_Object *scheme_inf_plus_pi()
|
||||||
|
{
|
||||||
|
return scheme_make_complex(scheme_inf_object, scheme_pi);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef MZ_USE_SINGLE_FLOATS
|
||||||
|
static Scheme_Object *scheme_single_inf_plus_pi()
|
||||||
|
{
|
||||||
|
return scheme_make_complex(scheme_single_inf_object, scheme_single_pi);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
GEN_UNARY_OP(exp_prim, exp, exp, scheme_inf_object, scheme_single_inf_object, scheme_zerod, scheme_zerof, scheme_nan_object, scheme_single_nan_object, complex_exp, GEN_ZERO_IS_ONE, NEVER_RESORT_TO_COMPLEX, BIGNUMS_AS_DOUBLES)
|
GEN_UNARY_OP(exp_prim, exp, exp, scheme_inf_object, scheme_single_inf_object, scheme_zerod, scheme_zerof, scheme_nan_object, scheme_single_nan_object, complex_exp, GEN_ZERO_IS_ONE, NEVER_RESORT_TO_COMPLEX, BIGNUMS_AS_DOUBLES)
|
||||||
GEN_UNARY_OP(log_prim, log, SCH_LOG, scheme_inf_object, scheme_single_inf_object, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, complex_log, GEN_ONE_IS_ZERO_AND_ZERO_IS_ERR, NEGATIVE_USES_COMPLEX, BIGNUM_LOG)
|
GEN_UNARY_OP(log_prim, log, SCH_LOG, scheme_inf_object, scheme_single_inf_object, scheme_inf_plus_pi(), scheme_single_inf_plus_pi(), scheme_nan_object, scheme_single_nan_object, complex_log, GEN_ONE_IS_ZERO_AND_ZERO_IS_ERR, NEGATIVE_USES_COMPLEX, BIGNUM_LOG)
|
||||||
GEN_UNARY_OP(sin_prim, sin, SCH_SIN, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, complex_sin, GEN_ZERO_IS_ZERO, NEVER_RESORT_TO_COMPLEX, BIGNUMS_AS_DOUBLES)
|
GEN_UNARY_OP(sin_prim, sin, SCH_SIN, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, complex_sin, GEN_ZERO_IS_ZERO, NEVER_RESORT_TO_COMPLEX, BIGNUMS_AS_DOUBLES)
|
||||||
GEN_UNARY_OP(cos_prim, cos, SCH_COS, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, complex_cos, GEN_ZERO_IS_ONE, NEVER_RESORT_TO_COMPLEX, BIGNUMS_AS_DOUBLES)
|
GEN_UNARY_OP(cos_prim, cos, SCH_COS, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, complex_cos, GEN_ZERO_IS_ONE, NEVER_RESORT_TO_COMPLEX, BIGNUMS_AS_DOUBLES)
|
||||||
GEN_UNARY_OP(tan_prim, tan, SCH_TAN, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, complex_tan, GEN_ZERO_IS_ZERO, NEVER_RESORT_TO_COMPLEX, BIGNUMS_AS_DOUBLES)
|
GEN_UNARY_OP(tan_prim, tan, SCH_TAN, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, scheme_nan_object, scheme_single_nan_object, complex_tan, GEN_ZERO_IS_ZERO, NEVER_RESORT_TO_COMPLEX, BIGNUMS_AS_DOUBLES)
|
||||||
|
@ -1604,8 +1632,6 @@ atan_prim (int argc, Scheme_Object *argv[])
|
||||||
|
|
||||||
n1 = argv[0];
|
n1 = argv[0];
|
||||||
|
|
||||||
if (SCHEME_COMPLEX_IZIP(n1)) n1 = IZI_REAL_PART(n1);
|
|
||||||
|
|
||||||
if (SCHEME_INTP(n1))
|
if (SCHEME_INTP(n1))
|
||||||
v = SCHEME_INT_VAL(n1);
|
v = SCHEME_INT_VAL(n1);
|
||||||
#ifdef MZ_USE_SINGLE_FLOATS
|
#ifdef MZ_USE_SINGLE_FLOATS
|
||||||
|
@ -1648,8 +1674,6 @@ atan_prim (int argc, Scheme_Object *argv[])
|
||||||
ESCAPED_BEFORE_HERE;
|
ESCAPED_BEFORE_HERE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SCHEME_COMPLEX_IZIP(n2)) n2 = IZI_REAL_PART(n2);
|
|
||||||
|
|
||||||
if (SCHEME_INTP(n2))
|
if (SCHEME_INTP(n2))
|
||||||
v2 = SCHEME_INT_VAL(n2);
|
v2 = SCHEME_INT_VAL(n2);
|
||||||
#ifdef MZ_USE_SINGLE_FLOATS
|
#ifdef MZ_USE_SINGLE_FLOATS
|
||||||
|
@ -1738,16 +1762,6 @@ Scheme_Object *scheme_sqrt (int argc, Scheme_Object *argv[])
|
||||||
|
|
||||||
n = argv[0];
|
n = argv[0];
|
||||||
|
|
||||||
/* Special case for x+0.0i: */
|
|
||||||
if (SCHEME_COMPLEX_IZIP(n)) {
|
|
||||||
Scheme_Object *r = IZI_REAL_PART(n), *v;
|
|
||||||
v = scheme_sqrt(1, &r);
|
|
||||||
if (!SCHEME_COMPLEXP(v))
|
|
||||||
return scheme_make_complex(v, scheme_complex_imaginary_part(n));
|
|
||||||
else
|
|
||||||
return v;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (SCHEME_COMPLEXP(n))
|
if (SCHEME_COMPLEXP(n))
|
||||||
return scheme_complex_sqrt(n);
|
return scheme_complex_sqrt(n);
|
||||||
|
|
||||||
|
@ -1790,22 +1804,7 @@ Scheme_Object *do_int_sqrt (const char *name, int argc, Scheme_Object *argv[], i
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Special case for x+0.0i: */
|
if (SCHEME_INTP(v) || SCHEME_BIGNUMP(v)) {
|
||||||
if (SCHEME_COMPLEX_IZIP(v)) {
|
|
||||||
Scheme_Object *r = IZI_REAL_PART(v), *orig = v;
|
|
||||||
v = do_int_sqrt(name, 1, &r, w_rem);
|
|
||||||
if (w_rem) {
|
|
||||||
Scheme_Thread *p = scheme_current_thread;
|
|
||||||
v = p->ku.multiple.array[0];
|
|
||||||
rem = p->ku.multiple.array[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!SCHEME_COMPLEXP(v))
|
|
||||||
v = scheme_make_complex(v, scheme_complex_imaginary_part(orig));
|
|
||||||
|
|
||||||
if (w_rem && !SCHEME_COMPLEXP(rem))
|
|
||||||
rem = scheme_make_complex(rem, scheme_complex_imaginary_part(orig));
|
|
||||||
} else if (SCHEME_INTP(v) || SCHEME_BIGNUMP(v)) {
|
|
||||||
int imaginary = 0;
|
int imaginary = 0;
|
||||||
|
|
||||||
if (scheme_is_negative(v)) {
|
if (scheme_is_negative(v)) {
|
||||||
|
@ -2111,9 +2110,6 @@ static Scheme_Object *make_rectangular (int argc, Scheme_Object *argv[])
|
||||||
if (!SCHEME_REALP(b))
|
if (!SCHEME_REALP(b))
|
||||||
scheme_wrong_type("make-rectangular", REAL_NUMBER_STR, 1, argc, argv);
|
scheme_wrong_type("make-rectangular", REAL_NUMBER_STR, 1, argc, argv);
|
||||||
|
|
||||||
if (SCHEME_COMPLEX_IZIP(a)) a = IZI_REAL_PART(a);
|
|
||||||
if (SCHEME_COMPLEX_IZIP(b)) b = IZI_REAL_PART(b);
|
|
||||||
|
|
||||||
af = SCHEME_FLOATP(a);
|
af = SCHEME_FLOATP(a);
|
||||||
bf = SCHEME_FLOATP(b);
|
bf = SCHEME_FLOATP(b);
|
||||||
|
|
||||||
|
@ -2143,9 +2139,6 @@ Scheme_Object *scheme_make_polar (int argc, Scheme_Object *argv[])
|
||||||
if (b == zeroi)
|
if (b == zeroi)
|
||||||
return a;
|
return a;
|
||||||
|
|
||||||
if (SCHEME_COMPLEX_IZIP(a)) a = IZI_REAL_PART(a);
|
|
||||||
if (SCHEME_COMPLEX_IZIP(b)) b = IZI_REAL_PART(b);
|
|
||||||
|
|
||||||
v = b;
|
v = b;
|
||||||
|
|
||||||
r = scheme_bin_mult(a, cos_prim(1, &v));
|
r = scheme_bin_mult(a, cos_prim(1, &v));
|
||||||
|
@ -2339,7 +2332,7 @@ scheme_exact_to_inexact (int argc, Scheme_Object *argv[])
|
||||||
return scheme_make_double(scheme_rational_to_double(o));
|
return scheme_make_double(scheme_rational_to_double(o));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
if ((t == scheme_complex_type) || (t == scheme_complex_izi_type)) {
|
if (t == scheme_complex_type) {
|
||||||
Scheme_Object *realpart, *imaginarypart;
|
Scheme_Object *realpart, *imaginarypart;
|
||||||
|
|
||||||
realpart = _scheme_complex_real_part(o);
|
realpart = _scheme_complex_real_part(o);
|
||||||
|
@ -2387,7 +2380,7 @@ scheme_inexact_to_exact (int argc, Scheme_Object *argv[])
|
||||||
return o;
|
return o;
|
||||||
if (t == scheme_rational_type)
|
if (t == scheme_rational_type)
|
||||||
return o;
|
return o;
|
||||||
if ((t == scheme_complex_type) || (t == scheme_complex_izi_type)) {
|
if (t == scheme_complex_type) {
|
||||||
Scheme_Object *realpart, *imaginarypart;
|
Scheme_Object *realpart, *imaginarypart;
|
||||||
|
|
||||||
realpart = _scheme_complex_real_part(o);
|
realpart = _scheme_complex_real_part(o);
|
||||||
|
|
|
@ -130,7 +130,7 @@ GEN_NARY_COMP(gt_eq, ">=", scheme_bin_gt_eq, SCHEME_REALP, REAL_NUMBER_STR)
|
||||||
#define COMP_IZI_LT_EQ(a, b) scheme_bin_lt_eq(IZI_REAL_PART(a), IZI_REAL_PART(b))
|
#define COMP_IZI_LT_EQ(a, b) scheme_bin_lt_eq(IZI_REAL_PART(a), IZI_REAL_PART(b))
|
||||||
#define COMP_IZI_GT_EQ(a, b) scheme_bin_gt_eq(IZI_REAL_PART(a), IZI_REAL_PART(b))
|
#define COMP_IZI_GT_EQ(a, b) scheme_bin_gt_eq(IZI_REAL_PART(a), IZI_REAL_PART(b))
|
||||||
|
|
||||||
#define GEN_IDENT_FOR_IZI GEN_IDENT
|
#define GEN_IDENT_FOR_IZI GEN_OMIT
|
||||||
|
|
||||||
GEN_BIN_COMP(scheme_bin_eq, "=", EQUAL, EQUAL, scheme_bignum_eq, scheme_rational_eq, scheme_complex_eq, 0, 0, scheme_is_inexact, scheme_is_inexact, GEN_IDENT, GEN_IDENT, "number")
|
GEN_BIN_COMP(scheme_bin_eq, "=", EQUAL, EQUAL, scheme_bignum_eq, scheme_rational_eq, scheme_complex_eq, 0, 0, scheme_is_inexact, scheme_is_inexact, GEN_IDENT, GEN_IDENT, "number")
|
||||||
GEN_BIN_COMP(scheme_bin_lt, "<", LESS_THAN, fLESS_THAN, scheme_bignum_lt, scheme_rational_lt, COMP_IZI_LT, 0, 1, scheme_is_positive, scheme_is_negative, GEN_IDENT_FOR_IZI, GEN_OMIT, REAL_NUMBER_STR)
|
GEN_BIN_COMP(scheme_bin_lt, "<", LESS_THAN, fLESS_THAN, scheme_bignum_lt, scheme_rational_lt, COMP_IZI_LT, 0, 1, scheme_is_positive, scheme_is_negative, GEN_IDENT_FOR_IZI, GEN_OMIT, REAL_NUMBER_STR)
|
||||||
|
@ -143,8 +143,6 @@ scheme_is_zero(const Scheme_Object *o)
|
||||||
{
|
{
|
||||||
Scheme_Type t;
|
Scheme_Type t;
|
||||||
|
|
||||||
top:
|
|
||||||
|
|
||||||
if (SCHEME_INTP(o))
|
if (SCHEME_INTP(o))
|
||||||
return o == zeroi;
|
return o == zeroi;
|
||||||
t = _SCHEME_TYPE(o);
|
t = _SCHEME_TYPE(o);
|
||||||
|
@ -164,10 +162,10 @@ scheme_is_zero(const Scheme_Object *o)
|
||||||
#endif
|
#endif
|
||||||
return SCHEME_DBL_VAL(o) == 0.0;
|
return SCHEME_DBL_VAL(o) == 0.0;
|
||||||
}
|
}
|
||||||
|
if (t == scheme_complex_type) {
|
||||||
if (t == scheme_complex_izi_type) {
|
if (scheme_is_zero(scheme_complex_imaginary_part(o)))
|
||||||
o = IZI_REAL_PART(o);
|
return scheme_is_zero(scheme_complex_real_part(o));
|
||||||
goto top;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((t >= scheme_bignum_type) && (t <= scheme_complex_type))
|
if ((t >= scheme_bignum_type) && (t <= scheme_complex_type))
|
||||||
|
@ -193,8 +191,6 @@ scheme_is_positive(const Scheme_Object *o)
|
||||||
{
|
{
|
||||||
Scheme_Type t;
|
Scheme_Type t;
|
||||||
|
|
||||||
top:
|
|
||||||
|
|
||||||
if (SCHEME_INTP(o))
|
if (SCHEME_INTP(o))
|
||||||
return SCHEME_INT_VAL(o) > 0;
|
return SCHEME_INT_VAL(o) > 0;
|
||||||
t = _SCHEME_TYPE(o);
|
t = _SCHEME_TYPE(o);
|
||||||
|
@ -220,10 +216,6 @@ scheme_is_positive(const Scheme_Object *o)
|
||||||
return SCHEME_BIGPOS(o);
|
return SCHEME_BIGPOS(o);
|
||||||
if (t == scheme_rational_type)
|
if (t == scheme_rational_type)
|
||||||
return scheme_is_rational_positive(o);
|
return scheme_is_rational_positive(o);
|
||||||
if (t == scheme_complex_izi_type) {
|
|
||||||
o = IZI_REAL_PART(o);
|
|
||||||
goto top;
|
|
||||||
}
|
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -245,8 +237,6 @@ scheme_is_negative(const Scheme_Object *o)
|
||||||
{
|
{
|
||||||
Scheme_Type t;
|
Scheme_Type t;
|
||||||
|
|
||||||
top:
|
|
||||||
|
|
||||||
if (SCHEME_INTP(o))
|
if (SCHEME_INTP(o))
|
||||||
return SCHEME_INT_VAL(o) < 0;
|
return SCHEME_INT_VAL(o) < 0;
|
||||||
t = _SCHEME_TYPE(o);
|
t = _SCHEME_TYPE(o);
|
||||||
|
@ -272,10 +262,6 @@ scheme_is_negative(const Scheme_Object *o)
|
||||||
return !SCHEME_BIGPOS(o);
|
return !SCHEME_BIGPOS(o);
|
||||||
if (t == scheme_rational_type)
|
if (t == scheme_rational_type)
|
||||||
return !scheme_is_rational_positive(o);
|
return !scheme_is_rational_positive(o);
|
||||||
if (t == scheme_complex_izi_type) {
|
|
||||||
o = IZI_REAL_PART(o);
|
|
||||||
goto top;
|
|
||||||
}
|
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -309,7 +309,7 @@ name (const Scheme_Object *n1, const Scheme_Object *n2) \
|
||||||
return name ## __int_rat(n1, n2); \
|
return name ## __int_rat(n1, n2); \
|
||||||
} \
|
} \
|
||||||
complexwrap( \
|
complexwrap( \
|
||||||
if (noniziwrap((t2 == scheme_complex_type) ||) (t2 == scheme_complex_izi_type)) { \
|
if (noniziwrap((t2 == scheme_complex_type))) { \
|
||||||
return name ## __int_comp(n1, n2); \
|
return name ## __int_comp(n1, n2); \
|
||||||
} \
|
} \
|
||||||
) \
|
) \
|
||||||
|
@ -345,7 +345,7 @@ name (const Scheme_Object *n1, const Scheme_Object *n2) \
|
||||||
return name ## __flt_rat(n1, n2); \
|
return name ## __flt_rat(n1, n2); \
|
||||||
} \
|
} \
|
||||||
complexwrap( \
|
complexwrap( \
|
||||||
if (noniziwrap((t2 == scheme_complex_type) ||) (t2 == scheme_complex_izi_type)) { \
|
if (noniziwrap((t2 == scheme_complex_type))) { \
|
||||||
return name ## __flt_comp(n1, n2); \
|
return name ## __flt_comp(n1, n2); \
|
||||||
} \
|
} \
|
||||||
)\
|
)\
|
||||||
|
@ -381,8 +381,8 @@ name (const Scheme_Object *n1, const Scheme_Object *n2) \
|
||||||
return name ## __dbl_rat(d1, n1, n2); \
|
return name ## __dbl_rat(d1, n1, n2); \
|
||||||
} \
|
} \
|
||||||
complexwrap( \
|
complexwrap( \
|
||||||
if (noniziwrap((t2 == scheme_complex_type) ||) (t2 == scheme_complex_izi_type)) { \
|
if (noniziwrap((t2 == scheme_complex_type))) { \
|
||||||
return name ## __dbl_comp(d1, n1, n2); \
|
return name ## __dbl_comp(d1, n1, n2); \
|
||||||
} \
|
} \
|
||||||
)\
|
)\
|
||||||
return name ## __wrong_type(n2); \
|
return name ## __wrong_type(n2); \
|
||||||
|
@ -406,7 +406,7 @@ name (const Scheme_Object *n1, const Scheme_Object *n2) \
|
||||||
if (t2 == scheme_rational_type) \
|
if (t2 == scheme_rational_type) \
|
||||||
return name ## __big_rat(n1, n2); \
|
return name ## __big_rat(n1, n2); \
|
||||||
complexwrap( \
|
complexwrap( \
|
||||||
if (noniziwrap((t2 == scheme_complex_type) ||) (t2 == scheme_complex_izi_type)) { \
|
if (noniziwrap((t2 == scheme_complex_type))) { \
|
||||||
return name ## __big_comp(n1, n2); \
|
return name ## __big_comp(n1, n2); \
|
||||||
} \
|
} \
|
||||||
)\
|
)\
|
||||||
|
@ -431,14 +431,14 @@ name (const Scheme_Object *n1, const Scheme_Object *n2) \
|
||||||
if (t2 == scheme_rational_type) \
|
if (t2 == scheme_rational_type) \
|
||||||
return rop((n1), (n2)); \
|
return rop((n1), (n2)); \
|
||||||
complexwrap( \
|
complexwrap( \
|
||||||
if (noniziwrap((t2 == scheme_complex_type) ||) (t2 == scheme_complex_izi_type)) { \
|
if (noniziwrap((t2 == scheme_complex_type))) { \
|
||||||
return name ## __rat_comp(n1, n2); \
|
return name ## __rat_comp(n1, n2); \
|
||||||
} \
|
} \
|
||||||
)\
|
)\
|
||||||
return name ## __wrong_type(n2); \
|
return name ## __wrong_type(n2); \
|
||||||
} \
|
} \
|
||||||
complexwrap( \
|
complexwrap( \
|
||||||
else if (noniziwrap((t1 == scheme_complex_type) ||) (t1 == scheme_complex_izi_type)) \
|
else if (noniziwrap((t1 == scheme_complex_type))) \
|
||||||
{ \
|
{ \
|
||||||
if (SCHEME_INTP(n2)) \
|
if (SCHEME_INTP(n2)) \
|
||||||
return name ## __comp_int(n1, n2); \
|
return name ## __comp_int(n1, n2); \
|
||||||
|
@ -455,7 +455,7 @@ name (const Scheme_Object *n1, const Scheme_Object *n2) \
|
||||||
return name ## __comp_big(n1, n2); \
|
return name ## __comp_big(n1, n2); \
|
||||||
if (t2 == scheme_rational_type) \
|
if (t2 == scheme_rational_type) \
|
||||||
return name ## __comp_rat(n1, n2); \
|
return name ## __comp_rat(n1, n2); \
|
||||||
if (noniziwrap((t2 == scheme_complex_type) ||) (t2 == scheme_complex_izi_type)) \
|
if (noniziwrap((t2 == scheme_complex_type))) \
|
||||||
return cxop((n1), (n2)); \
|
return cxop((n1), (n2)); \
|
||||||
return name ## __wrong_type(n2); \
|
return name ## __wrong_type(n2); \
|
||||||
} \
|
} \
|
||||||
|
@ -675,7 +675,7 @@ name (int argc, Scheme_Object *argv[]) \
|
||||||
BIGNUM_MODE(o) \
|
BIGNUM_MODE(o) \
|
||||||
} else if (t == scheme_rational_type) { \
|
} else if (t == scheme_rational_type) { \
|
||||||
d = scheme_rational_to_double(o); \
|
d = scheme_rational_to_double(o); \
|
||||||
} else if ((t == scheme_complex_type) || (t == scheme_complex_izi_type)) \
|
} else if (t == scheme_complex_type) \
|
||||||
return complex_fun(o); \
|
return complex_fun(o); \
|
||||||
else { \
|
else { \
|
||||||
scheme_wrong_type(#scheme_name, "number", 0, argc, argv); \
|
scheme_wrong_type(#scheme_name, "number", 0, argc, argv); \
|
||||||
|
|
|
@ -2167,7 +2167,6 @@ long scheme_count_memory(Scheme_Object *root, Scheme_Hash_Table *ht)
|
||||||
e = COUNT(SCHEME_BOX_VAL(root));
|
e = COUNT(SCHEME_BOX_VAL(root));
|
||||||
break;
|
break;
|
||||||
case scheme_complex_type:
|
case scheme_complex_type:
|
||||||
case scheme_complex_izi_type:
|
|
||||||
s = sizeof(Scheme_Complex);
|
s = sizeof(Scheme_Complex);
|
||||||
e = COUNT(((Scheme_Complex *)root)->r) + COUNT(((Scheme_Complex *)root)->i);
|
e = COUNT(((Scheme_Complex *)root)->r) + COUNT(((Scheme_Complex *)root)->i);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -627,8 +627,8 @@ XFORM_NONGCING MZ_EXTERN Scheme_Object *scheme_rational_denominator(const Scheme
|
||||||
|
|
||||||
MZ_EXTERN Scheme_Object *scheme_make_complex(const Scheme_Object *r, const Scheme_Object *i);
|
MZ_EXTERN Scheme_Object *scheme_make_complex(const Scheme_Object *r, const Scheme_Object *i);
|
||||||
MZ_EXTERN Scheme_Object *scheme_complex_normalize(const Scheme_Object *n);
|
MZ_EXTERN Scheme_Object *scheme_complex_normalize(const Scheme_Object *n);
|
||||||
MZ_EXTERN Scheme_Object *scheme_complex_real_part(const Scheme_Object *n);
|
XFORM_NONGCING MZ_EXTERN Scheme_Object *scheme_complex_real_part(const Scheme_Object *n);
|
||||||
MZ_EXTERN Scheme_Object *scheme_complex_imaginary_part(const Scheme_Object *n);
|
XFORM_NONGCING MZ_EXTERN Scheme_Object *scheme_complex_imaginary_part(const Scheme_Object *n);
|
||||||
|
|
||||||
/* Exact/inexact: */
|
/* Exact/inexact: */
|
||||||
XFORM_NONGCING MZ_EXTERN int scheme_is_exact(const Scheme_Object *n);
|
XFORM_NONGCING MZ_EXTERN int scheme_is_exact(const Scheme_Object *n);
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
#define USE_COMPILED_STARTUP 1
|
#define USE_COMPILED_STARTUP 1
|
||||||
|
|
||||||
#define EXPECTED_PRIM_COUNT 895
|
#define EXPECTED_PRIM_COUNT 897
|
||||||
|
|
||||||
#ifdef MZSCHEME_SOMETHING_OMITTED
|
#ifdef MZSCHEME_SOMETHING_OMITTED
|
||||||
# undef USE_COMPILED_STARTUP
|
# undef USE_COMPILED_STARTUP
|
||||||
|
|
|
@ -13,12 +13,12 @@
|
||||||
consistently.)
|
consistently.)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define MZSCHEME_VERSION "3.99.0.14"
|
#define MZSCHEME_VERSION "3.99.0.16"
|
||||||
|
|
||||||
#define MZSCHEME_VERSION_X 3
|
#define MZSCHEME_VERSION_X 3
|
||||||
#define MZSCHEME_VERSION_Y 99
|
#define MZSCHEME_VERSION_Y 99
|
||||||
#define MZSCHEME_VERSION_Z 0
|
#define MZSCHEME_VERSION_Z 0
|
||||||
#define MZSCHEME_VERSION_W 14
|
#define MZSCHEME_VERSION_W 16
|
||||||
|
|
||||||
#define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y)
|
#define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y)
|
||||||
#define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W)
|
#define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W)
|
||||||
|
|
|
@ -57,187 +57,186 @@ enum {
|
||||||
scheme_rational_type, /* 39 */
|
scheme_rational_type, /* 39 */
|
||||||
scheme_float_type, /* 40 */
|
scheme_float_type, /* 40 */
|
||||||
scheme_double_type, /* 41 */
|
scheme_double_type, /* 41 */
|
||||||
scheme_complex_izi_type, /* 42 */
|
scheme_complex_type, /* 42 */
|
||||||
scheme_complex_type, /* 43 */
|
scheme_char_string_type, /* 43 */
|
||||||
scheme_char_string_type, /* 44 */
|
scheme_byte_string_type, /* 44 */
|
||||||
scheme_byte_string_type, /* 45 */
|
scheme_unix_path_type, /* 45 */
|
||||||
scheme_unix_path_type, /* 46 */
|
scheme_windows_path_type, /* 46 */
|
||||||
scheme_windows_path_type, /* 47 */
|
scheme_symbol_type, /* 47 */
|
||||||
scheme_symbol_type, /* 48 */
|
scheme_keyword_type, /* 48 */
|
||||||
scheme_keyword_type, /* 49 */
|
scheme_null_type, /* 49 */
|
||||||
scheme_null_type, /* 50 */
|
scheme_pair_type, /* 50 */
|
||||||
scheme_pair_type, /* 51 */
|
scheme_mutable_pair_type, /* 51 */
|
||||||
scheme_mutable_pair_type, /* 52 */
|
scheme_vector_type, /* 52 */
|
||||||
scheme_vector_type, /* 53 */
|
scheme_inspector_type, /* 53 */
|
||||||
scheme_inspector_type, /* 54 */
|
scheme_input_port_type, /* 54 */
|
||||||
scheme_input_port_type, /* 55 */
|
scheme_output_port_type, /* 55 */
|
||||||
scheme_output_port_type, /* 56 */
|
scheme_eof_type, /* 56 */
|
||||||
scheme_eof_type, /* 57 */
|
scheme_true_type, /* 57 */
|
||||||
scheme_true_type, /* 58 */
|
scheme_false_type, /* 58 */
|
||||||
scheme_false_type, /* 59 */
|
scheme_void_type, /* 59 */
|
||||||
scheme_void_type, /* 60 */
|
scheme_syntax_compiler_type, /* 60 */
|
||||||
scheme_syntax_compiler_type, /* 61 */
|
scheme_macro_type, /* 61 */
|
||||||
scheme_macro_type, /* 62 */
|
scheme_box_type, /* 62 */
|
||||||
scheme_box_type, /* 63 */
|
scheme_thread_type, /* 63 */
|
||||||
scheme_thread_type, /* 64 */
|
scheme_stx_offset_type, /* 64 */
|
||||||
scheme_stx_offset_type, /* 65 */
|
scheme_cont_mark_set_type, /* 65 */
|
||||||
scheme_cont_mark_set_type, /* 66 */
|
scheme_sema_type, /* 66 */
|
||||||
scheme_sema_type, /* 67 */
|
scheme_hash_table_type, /* 67 */
|
||||||
scheme_hash_table_type, /* 68 */
|
scheme_cpointer_type, /* 68 */
|
||||||
scheme_cpointer_type, /* 69 */
|
scheme_offset_cpointer_type, /* 69 */
|
||||||
scheme_offset_cpointer_type, /* 70 */
|
scheme_weak_box_type, /* 70 */
|
||||||
scheme_weak_box_type, /* 71 */
|
scheme_ephemeron_type, /* 71 */
|
||||||
scheme_ephemeron_type, /* 72 */
|
scheme_struct_type_type, /* 72 */
|
||||||
scheme_struct_type_type, /* 73 */
|
scheme_module_index_type, /* 73 */
|
||||||
scheme_module_index_type, /* 74 */
|
scheme_set_macro_type, /* 74 */
|
||||||
scheme_set_macro_type, /* 75 */
|
scheme_listener_type, /* 75 */
|
||||||
scheme_listener_type, /* 76 */
|
scheme_namespace_type, /* 76 */
|
||||||
scheme_namespace_type, /* 77 */
|
scheme_config_type, /* 77 */
|
||||||
scheme_config_type, /* 78 */
|
scheme_stx_type, /* 78 */
|
||||||
scheme_stx_type, /* 79 */
|
scheme_will_executor_type, /* 79 */
|
||||||
scheme_will_executor_type, /* 80 */
|
scheme_custodian_type, /* 80 */
|
||||||
scheme_custodian_type, /* 81 */
|
scheme_random_state_type, /* 81 */
|
||||||
scheme_random_state_type, /* 82 */
|
scheme_regexp_type, /* 82 */
|
||||||
scheme_regexp_type, /* 83 */
|
scheme_bucket_type, /* 83 */
|
||||||
scheme_bucket_type, /* 84 */
|
scheme_bucket_table_type, /* 84 */
|
||||||
scheme_bucket_table_type, /* 85 */
|
scheme_subprocess_type, /* 85 */
|
||||||
scheme_subprocess_type, /* 86 */
|
scheme_compilation_top_type, /* 86 */
|
||||||
scheme_compilation_top_type, /* 87 */
|
scheme_wrap_chunk_type, /* 87 */
|
||||||
scheme_wrap_chunk_type, /* 88 */
|
scheme_eval_waiting_type, /* 88 */
|
||||||
scheme_eval_waiting_type, /* 89 */
|
scheme_tail_call_waiting_type, /* 89 */
|
||||||
scheme_tail_call_waiting_type, /* 90 */
|
scheme_undefined_type, /* 90 */
|
||||||
scheme_undefined_type, /* 91 */
|
scheme_struct_property_type, /* 91 */
|
||||||
scheme_struct_property_type, /* 92 */
|
scheme_multiple_values_type, /* 92 */
|
||||||
scheme_multiple_values_type, /* 93 */
|
scheme_placeholder_type, /* 93 */
|
||||||
scheme_placeholder_type, /* 94 */
|
scheme_table_placeholder_type, /* 94 */
|
||||||
scheme_table_placeholder_type, /* 95 */
|
scheme_case_lambda_sequence_type, /* 95 */
|
||||||
scheme_case_lambda_sequence_type, /* 96 */
|
scheme_begin0_sequence_type, /* 96 */
|
||||||
scheme_begin0_sequence_type, /* 97 */
|
scheme_rename_table_type, /* 97 */
|
||||||
scheme_rename_table_type, /* 98 */
|
scheme_rename_table_set_type, /* 98 */
|
||||||
scheme_rename_table_set_type, /* 99 */
|
scheme_module_type, /* 99 */
|
||||||
scheme_module_type, /* 100 */
|
scheme_svector_type, /* 100 */
|
||||||
scheme_svector_type, /* 101 */
|
scheme_lazy_macro_type, /* 101 */
|
||||||
scheme_lazy_macro_type, /* 102 */
|
scheme_resolve_prefix_type, /* 102 */
|
||||||
scheme_resolve_prefix_type, /* 103 */
|
scheme_security_guard_type, /* 103 */
|
||||||
scheme_security_guard_type, /* 104 */
|
scheme_indent_type, /* 104 */
|
||||||
scheme_indent_type, /* 105 */
|
scheme_udp_type, /* 105 */
|
||||||
scheme_udp_type, /* 106 */
|
scheme_udp_evt_type, /* 106 */
|
||||||
scheme_udp_evt_type, /* 107 */
|
scheme_tcp_accept_evt_type, /* 107 */
|
||||||
scheme_tcp_accept_evt_type, /* 108 */
|
scheme_id_macro_type, /* 108 */
|
||||||
scheme_id_macro_type, /* 109 */
|
scheme_evt_set_type, /* 109 */
|
||||||
scheme_evt_set_type, /* 110 */
|
scheme_wrap_evt_type, /* 110 */
|
||||||
scheme_wrap_evt_type, /* 111 */
|
scheme_handle_evt_type, /* 111 */
|
||||||
scheme_handle_evt_type, /* 112 */
|
scheme_nack_guard_evt_type, /* 112 */
|
||||||
scheme_nack_guard_evt_type, /* 113 */
|
scheme_semaphore_repost_type, /* 113 */
|
||||||
scheme_semaphore_repost_type, /* 114 */
|
scheme_channel_type, /* 114 */
|
||||||
scheme_channel_type, /* 115 */
|
scheme_channel_put_type, /* 115 */
|
||||||
scheme_channel_put_type, /* 116 */
|
scheme_thread_resume_type, /* 116 */
|
||||||
scheme_thread_resume_type, /* 117 */
|
scheme_thread_suspend_type, /* 117 */
|
||||||
scheme_thread_suspend_type, /* 118 */
|
scheme_thread_dead_type, /* 118 */
|
||||||
scheme_thread_dead_type, /* 119 */
|
scheme_poll_evt_type, /* 119 */
|
||||||
scheme_poll_evt_type, /* 120 */
|
scheme_nack_evt_type, /* 120 */
|
||||||
scheme_nack_evt_type, /* 121 */
|
scheme_module_registry_type, /* 121 */
|
||||||
scheme_module_registry_type, /* 122 */
|
scheme_thread_set_type, /* 122 */
|
||||||
scheme_thread_set_type, /* 123 */
|
scheme_string_converter_type, /* 123 */
|
||||||
scheme_string_converter_type, /* 124 */
|
scheme_alarm_type, /* 124 */
|
||||||
scheme_alarm_type, /* 125 */
|
scheme_thread_cell_type, /* 125 */
|
||||||
scheme_thread_cell_type, /* 126 */
|
scheme_channel_syncer_type, /* 126 */
|
||||||
scheme_channel_syncer_type, /* 127 */
|
scheme_special_comment_type, /* 127 */
|
||||||
scheme_special_comment_type, /* 128 */
|
scheme_write_evt_type, /* 128 */
|
||||||
scheme_write_evt_type, /* 129 */
|
scheme_always_evt_type, /* 129 */
|
||||||
scheme_always_evt_type, /* 130 */
|
scheme_never_evt_type, /* 130 */
|
||||||
scheme_never_evt_type, /* 131 */
|
scheme_progress_evt_type, /* 131 */
|
||||||
scheme_progress_evt_type, /* 132 */
|
scheme_certifications_type, /* 132 */
|
||||||
scheme_certifications_type, /* 133 */
|
scheme_already_comp_type, /* 133 */
|
||||||
scheme_already_comp_type, /* 134 */
|
scheme_readtable_type, /* 134 */
|
||||||
scheme_readtable_type, /* 135 */
|
scheme_intdef_context_type, /* 135 */
|
||||||
scheme_intdef_context_type, /* 136 */
|
scheme_lexical_rib_type, /* 136 */
|
||||||
scheme_lexical_rib_type, /* 137 */
|
scheme_thread_cell_values_type, /* 137 */
|
||||||
scheme_thread_cell_values_type, /* 138 */
|
scheme_global_ref_type, /* 138 */
|
||||||
scheme_global_ref_type, /* 139 */
|
scheme_cont_mark_chain_type, /* 139 */
|
||||||
scheme_cont_mark_chain_type, /* 140 */
|
scheme_raw_pair_type, /* 140 */
|
||||||
scheme_raw_pair_type, /* 141 */
|
scheme_prompt_type, /* 141 */
|
||||||
scheme_prompt_type, /* 142 */
|
scheme_prompt_tag_type, /* 142 */
|
||||||
scheme_prompt_tag_type, /* 143 */
|
scheme_expanded_syntax_type, /* 143 */
|
||||||
scheme_expanded_syntax_type, /* 144 */
|
scheme_delay_syntax_type, /* 144 */
|
||||||
scheme_delay_syntax_type, /* 145 */
|
scheme_cust_box_type, /* 145 */
|
||||||
scheme_cust_box_type, /* 146 */
|
scheme_resolved_module_path_type, /* 146 */
|
||||||
scheme_resolved_module_path_type, /* 147 */
|
scheme_module_phase_exports_type, /* 147 */
|
||||||
scheme_module_phase_exports_type, /* 148 */
|
|
||||||
|
|
||||||
#ifdef MZTAG_REQUIRED
|
#ifdef MZTAG_REQUIRED
|
||||||
_scheme_last_normal_type_, /* 149 */
|
_scheme_last_normal_type_, /* 148 */
|
||||||
|
|
||||||
scheme_rt_weak_array, /* 150 */
|
scheme_rt_weak_array, /* 149 */
|
||||||
|
|
||||||
scheme_rt_comp_env, /* 151 */
|
scheme_rt_comp_env, /* 150 */
|
||||||
scheme_rt_constant_binding, /* 152 */
|
scheme_rt_constant_binding, /* 151 */
|
||||||
scheme_rt_resolve_info, /* 153 */
|
scheme_rt_resolve_info, /* 152 */
|
||||||
scheme_rt_optimize_info, /* 154 */
|
scheme_rt_optimize_info, /* 153 */
|
||||||
scheme_rt_compile_info, /* 155 */
|
scheme_rt_compile_info, /* 154 */
|
||||||
scheme_rt_cont_mark, /* 156 */
|
scheme_rt_cont_mark, /* 155 */
|
||||||
scheme_rt_saved_stack, /* 157 */
|
scheme_rt_saved_stack, /* 156 */
|
||||||
scheme_rt_reply_item, /* 158 */
|
scheme_rt_reply_item, /* 157 */
|
||||||
scheme_rt_closure_info, /* 159 */
|
scheme_rt_closure_info, /* 158 */
|
||||||
scheme_rt_overflow, /* 160 */
|
scheme_rt_overflow, /* 159 */
|
||||||
scheme_rt_overflow_jmp, /* 161 */
|
scheme_rt_overflow_jmp, /* 160 */
|
||||||
scheme_rt_meta_cont, /* 162 */
|
scheme_rt_meta_cont, /* 161 */
|
||||||
scheme_rt_dyn_wind_cell, /* 163 */
|
scheme_rt_dyn_wind_cell, /* 162 */
|
||||||
scheme_rt_dyn_wind_info, /* 164 */
|
scheme_rt_dyn_wind_info, /* 163 */
|
||||||
scheme_rt_dyn_wind, /* 165 */
|
scheme_rt_dyn_wind, /* 164 */
|
||||||
scheme_rt_dup_check, /* 166 */
|
scheme_rt_dup_check, /* 165 */
|
||||||
scheme_rt_thread_memory, /* 167 */
|
scheme_rt_thread_memory, /* 166 */
|
||||||
scheme_rt_input_file, /* 168 */
|
scheme_rt_input_file, /* 167 */
|
||||||
scheme_rt_input_fd, /* 169 */
|
scheme_rt_input_fd, /* 168 */
|
||||||
scheme_rt_oskit_console_input, /* 170 */
|
scheme_rt_oskit_console_input, /* 169 */
|
||||||
scheme_rt_tested_input_file, /* 171 */
|
scheme_rt_tested_input_file, /* 170 */
|
||||||
scheme_rt_tested_output_file, /* 172 */
|
scheme_rt_tested_output_file, /* 171 */
|
||||||
scheme_rt_indexed_string, /* 173 */
|
scheme_rt_indexed_string, /* 172 */
|
||||||
scheme_rt_output_file, /* 174 */
|
scheme_rt_output_file, /* 173 */
|
||||||
scheme_rt_load_handler_data, /* 175 */
|
scheme_rt_load_handler_data, /* 174 */
|
||||||
scheme_rt_pipe, /* 176 */
|
scheme_rt_pipe, /* 175 */
|
||||||
scheme_rt_beos_process, /* 177 */
|
scheme_rt_beos_process, /* 176 */
|
||||||
scheme_rt_system_child, /* 178 */
|
scheme_rt_system_child, /* 177 */
|
||||||
scheme_rt_tcp, /* 179 */
|
scheme_rt_tcp, /* 178 */
|
||||||
scheme_rt_write_data, /* 180 */
|
scheme_rt_write_data, /* 179 */
|
||||||
scheme_rt_tcp_select_info, /* 181 */
|
scheme_rt_tcp_select_info, /* 180 */
|
||||||
scheme_rt_namespace_option, /* 182 */
|
scheme_rt_namespace_option, /* 181 */
|
||||||
scheme_rt_param_data, /* 183 */
|
scheme_rt_param_data, /* 182 */
|
||||||
scheme_rt_will, /* 184 */
|
scheme_rt_will, /* 183 */
|
||||||
scheme_rt_will_registration, /* 185 */
|
scheme_rt_will_registration, /* 184 */
|
||||||
scheme_rt_struct_proc_info, /* 186 */
|
scheme_rt_struct_proc_info, /* 185 */
|
||||||
scheme_rt_linker_name, /* 187 */
|
scheme_rt_linker_name, /* 186 */
|
||||||
scheme_rt_param_map, /* 188 */
|
scheme_rt_param_map, /* 187 */
|
||||||
scheme_rt_finalization, /* 189 */
|
scheme_rt_finalization, /* 188 */
|
||||||
scheme_rt_finalizations, /* 190 */
|
scheme_rt_finalizations, /* 189 */
|
||||||
scheme_rt_cpp_object, /* 191 */
|
scheme_rt_cpp_object, /* 190 */
|
||||||
scheme_rt_cpp_array_object, /* 192 */
|
scheme_rt_cpp_array_object, /* 191 */
|
||||||
scheme_rt_stack_object, /* 193 */
|
scheme_rt_stack_object, /* 192 */
|
||||||
scheme_rt_preallocated_object, /* 194 */
|
scheme_rt_preallocated_object, /* 193 */
|
||||||
scheme_thread_hop_type, /* 195 */
|
scheme_thread_hop_type, /* 194 */
|
||||||
scheme_rt_srcloc, /* 196 */
|
scheme_rt_srcloc, /* 195 */
|
||||||
scheme_rt_evt, /* 197 */
|
scheme_rt_evt, /* 196 */
|
||||||
scheme_rt_syncing, /* 198 */
|
scheme_rt_syncing, /* 197 */
|
||||||
scheme_rt_comp_prefix, /* 199 */
|
scheme_rt_comp_prefix, /* 198 */
|
||||||
scheme_rt_user_input, /* 200 */
|
scheme_rt_user_input, /* 199 */
|
||||||
scheme_rt_user_output, /* 201 */
|
scheme_rt_user_output, /* 200 */
|
||||||
scheme_rt_compact_port, /* 202 */
|
scheme_rt_compact_port, /* 201 */
|
||||||
scheme_rt_read_special_dw, /* 203 */
|
scheme_rt_read_special_dw, /* 202 */
|
||||||
scheme_rt_regwork, /* 204 */
|
scheme_rt_regwork, /* 203 */
|
||||||
scheme_rt_buf_holder, /* 205 */
|
scheme_rt_buf_holder, /* 204 */
|
||||||
scheme_rt_parameterization, /* 206 */
|
scheme_rt_parameterization, /* 205 */
|
||||||
scheme_rt_print_params, /* 207 */
|
scheme_rt_print_params, /* 206 */
|
||||||
scheme_rt_read_params, /* 208 */
|
scheme_rt_read_params, /* 207 */
|
||||||
scheme_rt_native_code, /* 209 */
|
scheme_rt_native_code, /* 208 */
|
||||||
scheme_rt_native_code_plus_case, /* 210 */
|
scheme_rt_native_code_plus_case, /* 209 */
|
||||||
scheme_rt_jitter_data, /* 211 */
|
scheme_rt_jitter_data, /* 210 */
|
||||||
scheme_rt_module_exports, /* 212 */
|
scheme_rt_module_exports, /* 211 */
|
||||||
scheme_rt_delay_load_info, /* 213 */
|
scheme_rt_delay_load_info, /* 212 */
|
||||||
scheme_rt_marshal_info, /* 214 */
|
scheme_rt_marshal_info, /* 213 */
|
||||||
scheme_rt_unmarshal_info, /* 215 */
|
scheme_rt_unmarshal_info, /* 214 */
|
||||||
scheme_rt_runstack, /* 216 */
|
scheme_rt_runstack, /* 215 */
|
||||||
scheme_rt_sfs_info, /* 217 */
|
scheme_rt_sfs_info, /* 216 */
|
||||||
scheme_rt_validate_clearing, /* 218 */
|
scheme_rt_validate_clearing, /* 217 */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_scheme_last_type_
|
_scheme_last_type_
|
||||||
|
|
|
@ -177,7 +177,6 @@ scheme_init_type (Scheme_Env *env)
|
||||||
set_name(scheme_ephemeron_type, "<ephemeron>");
|
set_name(scheme_ephemeron_type, "<ephemeron>");
|
||||||
set_name(scheme_rational_type, "<fractional-number>");
|
set_name(scheme_rational_type, "<fractional-number>");
|
||||||
set_name(scheme_complex_type, "<complex-number>");
|
set_name(scheme_complex_type, "<complex-number>");
|
||||||
set_name(scheme_complex_izi_type, "<inexactly-real-number>");
|
|
||||||
set_name(scheme_struct_type_type, "<struct-type>");
|
set_name(scheme_struct_type_type, "<struct-type>");
|
||||||
set_name(scheme_listener_type, "<tcp-listener>");
|
set_name(scheme_listener_type, "<tcp-listener>");
|
||||||
set_name(scheme_tcp_accept_evt_type, "<tcp-accept-evt>");
|
set_name(scheme_tcp_accept_evt_type, "<tcp-accept-evt>");
|
||||||
|
@ -513,7 +512,6 @@ void scheme_register_traversers(void)
|
||||||
GC_REG_TRAV(scheme_rational_type, rational_obj);
|
GC_REG_TRAV(scheme_rational_type, rational_obj);
|
||||||
GC_REG_TRAV(scheme_float_type, float_obj);
|
GC_REG_TRAV(scheme_float_type, float_obj);
|
||||||
GC_REG_TRAV(scheme_double_type, double_obj);
|
GC_REG_TRAV(scheme_double_type, double_obj);
|
||||||
GC_REG_TRAV(scheme_complex_izi_type, complex_obj);
|
|
||||||
GC_REG_TRAV(scheme_complex_type, complex_obj);
|
GC_REG_TRAV(scheme_complex_type, complex_obj);
|
||||||
GC_REG_TRAV(scheme_char_string_type, string_obj);
|
GC_REG_TRAV(scheme_char_string_type, string_obj);
|
||||||
GC_REG_TRAV(scheme_byte_string_type, bstring_obj);
|
GC_REG_TRAV(scheme_byte_string_type, bstring_obj);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user