diff options
Diffstat (limited to 'src/algebra/strap/FPS.lsp')
-rw-r--r-- | src/algebra/strap/FPS.lsp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/algebra/strap/FPS.lsp b/src/algebra/strap/FPS.lsp new file mode 100644 index 00000000..75e426f7 --- /dev/null +++ b/src/algebra/strap/FPS.lsp @@ -0,0 +1,81 @@ + +(/VERSIONCHECK 2) + +(DEFPARAMETER |FloatingPointSystem;AL| 'NIL) + +(DEFUN |FloatingPointSystem| () + (LET (#:G1387) + (COND + (|FloatingPointSystem;AL|) + (T (SETQ |FloatingPointSystem;AL| (|FloatingPointSystem;|)))))) + +(DEFUN |FloatingPointSystem;| () + (PROG (#0=#:G1385) + (RETURN + (PROG1 (LETT #0# + (|Join| (|RealNumberSystem|) + (|mkCategory| '|domain| + '(((|float| ($ (|Integer|) (|Integer|))) + T) + ((|float| ($ (|Integer|) (|Integer|) + (|PositiveInteger|))) + T) + ((|order| ((|Integer|) $)) T) + ((|base| ((|PositiveInteger|))) T) + ((|exponent| ((|Integer|) $)) T) + ((|mantissa| ((|Integer|) $)) T) + ((|bits| ((|PositiveInteger|))) T) + ((|digits| ((|PositiveInteger|))) T) + ((|precision| ((|PositiveInteger|))) + T) + ((|bits| ((|PositiveInteger|) + (|PositiveInteger|))) + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + ((|digits| + ((|PositiveInteger|) + (|PositiveInteger|))) + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + ((|precision| + ((|PositiveInteger|) + (|PositiveInteger|))) + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + ((|increasePrecision| + ((|PositiveInteger|) (|Integer|))) + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + ((|decreasePrecision| + ((|PositiveInteger|) (|Integer|))) + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + ((|min| ($)) + (AND (|not| + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + (|not| + (|has| $ + (ATTRIBUTE + |arbitraryExponent|))))) + ((|max| ($)) + (AND (|not| + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + (|not| + (|has| $ + (ATTRIBUTE + |arbitraryExponent|)))))) + '((|approximate| T)) + '((|PositiveInteger|) (|Integer|)) NIL)) + |FloatingPointSystem|) + (SETELT #0# 0 '(|FloatingPointSystem|)))))) + +(MAKEPROP '|FloatingPointSystem| 'NILADIC T) |