#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/gconst.scm,v 4.8 1990/07/15 22:57:43 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/gconst.scm,v 4.9 1990/10/16 21:06:53 cph Rel $
Copyright (c) 1987, 1989, 1990 Massachusetts Institute of Technology
FIX:-1+
FIX:1+
FIX:<
- FIX:=
+ ;; FIX:= handled by expanding it to EQ?
FIX:>
FIX:AND
FIX:ANDC
FIX:QUOTIENT
FIX:REMAINDER
FIX:XOR
- FIX:ZERO?
+ ;; FIX:ZERO? handled by expanding it to (EQ? x 0)
FLO:*
FLO:+
FLO:-
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/make.scm,v 4.14 1990/06/25 18:54:16 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/make.scm,v 4.15 1990/10/16 21:07:02 cph Rel $
Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
(package/system-loader "sf" '() 'QUERY)
((package/reference (find-package '(SCODE-OPTIMIZER))
'USUAL-INTEGRATIONS/CACHE!))
-(add-system! (make-system "SF" 4 14 '()))
\ No newline at end of file
+(add-system! (make-system "SF" 4 15 '()))
\ No newline at end of file
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/usiexp.scm,v 4.4 1989/10/26 06:28:19 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/usiexp.scm,v 4.5 1990/10/16 21:07:11 cph Exp $
-Copyright (c) 1988, 1989 Massachusetts Institute of Technology
+Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
(ucode-primitive negative?)
(ucode-primitive positive?)))
-(define <=-expansion
- (pairwise-test-inverse >-expansion))
+(define <=-expansion (pairwise-test-inverse >-expansion))
+(define >=-expansion (pairwise-test-inverse <-expansion))
+\f
+;;;; Fixnum Operations
-(define >=-expansion
- (pairwise-test-inverse <-expansion))
+(define (fix:zero?-expansion operands if-expanded if-not-expanded block)
+ block if-not-expanded
+ (if (not (and (pair? operands) (null? (cdr operands))))
+ (error "wrong number of operands" operands))
+ (if-expanded
+ (make-combination (ucode-primitive eq?) (list (car operands) 0))))
+
+(define (fix:=-expansion operands if-expanded if-not-expanded block)
+ block if-not-expanded
+ (if (not (and (pair? operands)
+ (pair? (cdr operands))
+ (null? (cddr operands))))
+ (error "wrong number of operands" operands))
+ (if-expanded (make-combination (ucode-primitive eq?) operands)))
+
+(define (fix:<=-expansion operands if-expanded if-not-expanded block)
+ block if-not-expanded
+ (if (not (and (pair? operands)
+ (pair? (cdr operands))
+ (null? (cddr operands))))
+ (error "wrong number of operands" operands))
+ (if-expanded
+ (make-combination
+ (ucode-primitive not)
+ (list (make-combination (ucode-primitive greater-than-fixnum?)
+ operands)))))
+
+(define (fix:>=-expansion operands if-expanded if-not-expanded block)
+ block if-not-expanded
+ (if (not (and (pair? operands)
+ (pair? (cdr operands))
+ (null? (cddr operands))))
+ (error "wrong number of operands" operands))
+ (if-expanded
+ (make-combination
+ (ucode-primitive not)
+ (list (make-combination (ucode-primitive less-than-fixnum?) operands)))))
\f
;;;; N-ary Arithmetic Field Operations
exact-integer?
exact-rational?
fifth
+ fix:<=
+ fix:=
+ fix:>=
fix:fixnum?
+ fix:zero?
flo:flonum?
fourth
int:integer?
exact-integer?-expansion
exact-rational?-expansion
fifth-expansion
+ fix:<=-expansion
+ fix:=-expansion
+ fix:>=-expansion
fix:fixnum?-expansion
+ fix:zero?-expansion
flo:flonum?-expansion
fourth-expansion
exact-integer?-expansion
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/sf/make.scm,v 4.14 1990/06/25 18:54:16 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/sf/make.scm,v 4.15 1990/10/16 21:07:02 cph Rel $
Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
(package/system-loader "sf" '() 'QUERY)
((package/reference (find-package '(SCODE-OPTIMIZER))
'USUAL-INTEGRATIONS/CACHE!))
-(add-system! (make-system "SF" 4 14 '()))
\ No newline at end of file
+(add-system! (make-system "SF" 4 15 '()))
\ No newline at end of file