exposing the functions in kernel
This commit is contained in:
parent
fa49306546
commit
48f8acf121
|
@ -616,6 +616,7 @@ if (typeof(exports) !== 'undefined') {
|
||||||
|
|
||||||
// tan: scheme-number -> scheme-number
|
// tan: scheme-number -> scheme-number
|
||||||
var tan = function(n) {
|
var tan = function(n) {
|
||||||
|
if (eqv(n, 0)) { return 0; }
|
||||||
if (typeof(n) === 'number') {
|
if (typeof(n) === 'number') {
|
||||||
return FloatPoint.makeInstance(Math.tan(n));
|
return FloatPoint.makeInstance(Math.tan(n));
|
||||||
}
|
}
|
||||||
|
@ -624,6 +625,7 @@ if (typeof(exports) !== 'undefined') {
|
||||||
|
|
||||||
// atan: scheme-number -> scheme-number
|
// atan: scheme-number -> scheme-number
|
||||||
var atan = function(n) {
|
var atan = function(n) {
|
||||||
|
if (eqv(n, 0)) { return 0; }
|
||||||
if (typeof(n) === 'number') {
|
if (typeof(n) === 'number') {
|
||||||
return FloatPoint.makeInstance(Math.atan(n));
|
return FloatPoint.makeInstance(Math.atan(n));
|
||||||
}
|
}
|
||||||
|
@ -659,6 +661,7 @@ if (typeof(exports) !== 'undefined') {
|
||||||
|
|
||||||
// asin: scheme-number -> scheme-number
|
// asin: scheme-number -> scheme-number
|
||||||
var asin = function(n) {
|
var asin = function(n) {
|
||||||
|
if (eqv(n, 0)) { return 0; }
|
||||||
if (typeof(n) === 'number') {
|
if (typeof(n) === 'number') {
|
||||||
return FloatPoint.makeInstance(Math.asin(n));
|
return FloatPoint.makeInstance(Math.asin(n));
|
||||||
}
|
}
|
||||||
|
@ -806,7 +809,7 @@ if (typeof(exports) !== 'undefined') {
|
||||||
var makeComplexPolar = function(r, theta) {
|
var makeComplexPolar = function(r, theta) {
|
||||||
// special case: if theta is zero, just return
|
// special case: if theta is zero, just return
|
||||||
// the scalar.
|
// the scalar.
|
||||||
if (equals(theta, 0)) {
|
if (eqv(theta, 0)) {
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
return Complex.makeInstance(multiply(r, cos(theta)),
|
return Complex.makeInstance(multiply(r, cos(theta)),
|
||||||
|
|
|
@ -1535,7 +1535,7 @@
|
||||||
MACHINE.env[MACHINE.env.length - 1],
|
MACHINE.env[MACHINE.env.length - 1],
|
||||||
0,
|
0,
|
||||||
'exact?');
|
'exact?');
|
||||||
return jsnums.isExact(x);
|
return jsnums.isExact(MACHINE.env[MACHINE.env.length - 1]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -1872,11 +1872,11 @@
|
||||||
1,
|
1,
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
testArgument(MACHINE,
|
testArgument(MACHINE,
|
||||||
'integer',
|
'string',
|
||||||
isString,
|
isString,
|
||||||
MACHINE.env[MACHINE.env.length-1],
|
MACHINE.env[MACHINE.env.length-1],
|
||||||
0,
|
0,
|
||||||
'number->string');
|
'string->number');
|
||||||
return jsnums.fromString(MACHINE.env[MACHINE.env.length-1].toString());
|
return jsnums.fromString(MACHINE.env[MACHINE.env.length-1].toString());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#lang racket/base
|
#lang racket/base
|
||||||
(require (prefix-in math: (only-in racket/math pi sinh))
|
(require (prefix-in racket: (only-in racket/math pi sinh cosh sqr
|
||||||
|
sgn conjugate))
|
||||||
(prefix-in racket: racket/base)
|
(prefix-in racket: racket/base)
|
||||||
racket/local
|
racket/local
|
||||||
(for-syntax racket/base))
|
(for-syntax racket/base))
|
||||||
|
@ -9,7 +10,7 @@
|
||||||
;; constants
|
;; constants
|
||||||
(define constant:true #t)
|
(define constant:true #t)
|
||||||
(define constant:false #f)
|
(define constant:false #f)
|
||||||
(define constant:pi math:pi)
|
(define constant:pi racket:pi)
|
||||||
(define constant:e (racket:exp 1))
|
(define constant:e (racket:exp 1))
|
||||||
|
|
||||||
|
|
||||||
|
@ -198,42 +199,46 @@
|
||||||
;; exn:fail:contract:arity?
|
;; exn:fail:contract:arity?
|
||||||
;; exn:fail:contract:variable?
|
;; exn:fail:contract:variable?
|
||||||
;; exn:fail:contract:divide-by-zero?
|
;; exn:fail:contract:divide-by-zero?
|
||||||
;; abs
|
abs
|
||||||
;; quotient
|
quotient
|
||||||
;; remainder
|
remainder
|
||||||
;; modulo
|
modulo
|
||||||
;; max
|
;; max
|
||||||
;; min
|
;; min
|
||||||
;; gcd
|
gcd
|
||||||
;; lcm
|
lcm
|
||||||
;; floor
|
floor
|
||||||
;; ceiling
|
ceiling
|
||||||
;; round
|
round
|
||||||
;; truncate
|
truncate
|
||||||
;; numerator
|
numerator
|
||||||
;; denominator
|
denominator
|
||||||
;; expt
|
expt
|
||||||
;; exp
|
exp
|
||||||
;; log
|
log
|
||||||
;; sin
|
sin
|
||||||
;; cos
|
sinh
|
||||||
;; tan
|
cos
|
||||||
;; asin
|
cosh
|
||||||
;; acos
|
tan
|
||||||
;; atan
|
asin
|
||||||
|
acos
|
||||||
;; sqrt
|
atan
|
||||||
;; integer-sqrt
|
sqr
|
||||||
;; make-rectangular
|
sqrt
|
||||||
;; make-polar
|
integer-sqrt
|
||||||
;; real-part
|
sgn
|
||||||
;; imag-part
|
make-rectangular
|
||||||
;; angle
|
make-polar
|
||||||
;; magnitude
|
real-part
|
||||||
;; inexact->exact
|
imag-part
|
||||||
|
angle
|
||||||
|
magnitude
|
||||||
|
conjugate
|
||||||
|
;; inexact->exact
|
||||||
;; exact->inexact
|
;; exact->inexact
|
||||||
;; number->string
|
number->string
|
||||||
;; string->number
|
string->number
|
||||||
;; procedure?
|
;; procedure?
|
||||||
pair?
|
pair?
|
||||||
;; (undefined? -undefined?)
|
;; (undefined? -undefined?)
|
||||||
|
@ -253,7 +258,7 @@
|
||||||
;; real?
|
;; real?
|
||||||
;; rational?
|
;; rational?
|
||||||
;; integer?
|
;; integer?
|
||||||
;; exact?
|
exact?
|
||||||
;; inexact?
|
;; inexact?
|
||||||
;; odd?
|
;; odd?
|
||||||
;; even?
|
;; even?
|
||||||
|
|
|
@ -610,6 +610,20 @@ EOF
|
||||||
(test '(displayln (sqrt 4))
|
(test '(displayln (sqrt 4))
|
||||||
"2\n")
|
"2\n")
|
||||||
|
|
||||||
|
(test '(displayln (integer-sqrt 4))
|
||||||
|
"2\n")
|
||||||
|
|
||||||
|
(test '(displayln (sgn 3))
|
||||||
|
"1\n")
|
||||||
|
|
||||||
|
|
||||||
|
(test '(displayln (number->string 42))
|
||||||
|
"42\n")
|
||||||
|
|
||||||
|
(test '(displayln (string->number "42"))
|
||||||
|
"42\n")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;; Knuth's Man-or-boy-test.
|
;; Knuth's Man-or-boy-test.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user