diff options
author | dos-reis <gdr@axiomatics.org> | 2012-04-29 21:37:23 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2012-04-29 21:37:23 +0000 |
commit | 0ef117f547d2bb254c69c21078d3ad0b42a65b1e (patch) | |
tree | cc70cc26b9efcd0776dd4690205deb9e926bc335 /src/boot/strap | |
parent | 9dbd3ec86d35a386d291fd59612ef7bb9a5b9ecf (diff) | |
download | open-axiom-0ef117f547d2bb254c69c21078d3ad0b42a65b1e.tar.gz |
* boot/ast.boot (bfNumber?): Rename from bfSmintable. Check for
floating point literals too. Adjust callers.
(bfLessp): Check for integer or floating pointer numbers.
* interp/vmlisp.lisp (complex?): New.
(complex): Likewise.
(realPart): Likewise.
(imagPart): Likewise.
(conjugate): Likewise.
(sqrt): Likewise.
Diffstat (limited to 'src/boot/strap')
-rw-r--r-- | src/boot/strap/ast.clisp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/boot/strap/ast.clisp b/src/boot/strap/ast.clisp index 8d1d93f4..092da1dd 100644 --- a/src/boot/strap/ast.clisp +++ b/src/boot/strap/ast.clisp @@ -1431,8 +1431,8 @@ (OR (CHARACTERP |x|) (AND (CONSP |x|) (|symbolMember?| (CAR |x|) '(|char| CODE-CHAR SCHAR))))) -(DEFUN |bfSmintable| (|x|) - (OR (INTEGERP |x|) +(DEFUN |bfNumber?| (|x|) + (OR (INTEGERP |x|) (FLOATP |x|) (AND (CONSP |x|) (|symbolMember?| (CAR |x|) '(SIZE LENGTH CHAR-CODE MAXINDEX + -))))) @@ -1443,7 +1443,7 @@ (DEFUN |bfQ| (|l| |r|) (COND ((OR (|bfChar?| |l|) (|bfChar?| |r|)) (LIST 'CHAR= |l| |r|)) - ((OR (|bfSmintable| |l|) (|bfSmintable| |r|)) (LIST 'EQL |l| |r|)) + ((OR (|bfNumber?| |l|) (|bfNumber?| |r|)) (LIST 'EQL |l| |r|)) ((OR (|defQuoteId| |l|) (|defQuoteId| |r|)) (LIST 'EQ |l| |r|)) ((NULL |l|) (LIST 'NULL |r|)) ((NULL |r|) (LIST 'NULL |l|)) ((OR (EQ |l| T) (EQ |r| T)) (LIST 'EQ |l| |r|)) @@ -1452,7 +1452,8 @@ (T (LIST 'EQUAL |l| |r|)))) (DEFUN |bfLessp| (|l| |r|) - (COND ((EQL |l| 0) (LIST 'PLUSP |r|)) ((EQL |r| 0) (LIST 'MINUSP |l|)) + (COND ((AND (OR (INTEGERP |l|) (FLOATP |l|)) (EQL |l| 0)) (LIST 'PLUSP |r|)) + ((AND (OR (INTEGERP |r|) (FLOATP |r|)) (EQL |r| 0)) (LIST 'MINUSP |l|)) ((OR (|bfChar?| |l|) (|bfChar?| |r|)) (LIST 'CHAR< |l| |r|)) ((OR (|bfString?| |l|) (|bfString?| |r|)) (LIST 'STRING< |l| |r|)) (T (LIST '< |l| |r|)))) |