#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/gconst.scm,v 3.1 1987/04/25 20:06:59 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/gconst.scm,v 3.2 1987/05/09 20:02:49 cph Rel $
Copyright (c) 1987 Massachusetts Institute of Technology
TRUNCATE ROUND FLOOR CEILING
SQRT EXP LOG SIN COS
+ ;; Fixnum Arithmetic
+ FIX:ZERO? FIX:NEGATIVE? FIX:POSITIVE? FIX:= FIX:< FIX:>
+ FIX:1+ FIX:-1+ FIX:+ FIX:- FIX:* FIX:DIVIDE FIX:GCD
+
;; Basic Compound Datatypes
CONS PAIR? CAR CDR SET-CAR! SET-CDR! GENERAL-CAR-CDR
NULL? LENGTH MEMQ ASSQ FIRST HEAD EMPTY-STREAM?
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/usiexp.scm,v 3.1 1987/05/04 23:50:20 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/usiexp.scm,v 3.2 1987/05/09 20:04:56 cph Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
\f
;;;; Miscellaneous Arithmetic
-(define (divide-component-expansion selector)
+(define (divide-component-expansion divide selector)
(lambda (operands if-expanded if-not-expanded)
(if-expanded
(make-combination selector
- (list (make-combination integer-divide operands))))))
+ (list (make-combination divide operands))))))
(define quotient-expansion
- (divide-component-expansion car))
+ (divide-component-expansion integer-divide car))
(define remainder-expansion
- (divide-component-expansion cdr))
+ (divide-component-expansion integer-divide cdr))
+
+(define fix:quotient-expansion
+ (divide-component-expansion fixnum-divide car))
+
+(define fix:remainder-expansion
+ (divide-component-expansion fixnum-divide cdr))
\f
;;;; N-ary List Operations
;;;; Tables
(define usual-integrations/expansion-names
- '(= < > <= >= + - * / quotient remainder
+ '(= < > <= >= + - * / quotient remainder fix:quotient fix:remainder
apply cons* list vector
caar cadr cdar cddr
caaar caadr cadar caddr cdaar cdadr cddar cdddr
(list =-expansion <-expansion >-expansion <=-expansion >=-expansion
+-expansion --expansion *-expansion /-expansion
quotient-expansion remainder-expansion
+ fix:quotient-expansion fix:remainder-expansion
apply*-expansion cons*-expansion list-expansion vector-expansion
caar-expansion cadr-expansion cdar-expansion cddr-expansion
caaar-expansion caadr-expansion cadar-expansion caddr-expansion