home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d09xx / d0963.lha / SIOD / scm / matrix.scm < prev    next >
Text File  |  1993-08-19  |  669b  |  21 lines

  1. (define (matrix  . args)
  2.         (if (null? (cdr args))
  3.             (car args)
  4.             (do ((res (make-vector (car args)))
  5.                  (ind (-1+ (car args)) (-1+ ind)))
  6.                 ((< ind 0) res)
  7.                 (vector-set! res ind (apply matrix (cdr args))))))
  8.  
  9.  
  10. (define (matrix-ref m . args)
  11.         (do ((res m))
  12.             ((null? args) res)
  13.             (set! res  (vector-ref res (car args)))
  14.             (set! args (cdr args))))
  15.  
  16. (define (matrix-set! m . args)
  17.         (do ((res m))
  18.             ((null? (cddr args)) (vector-set! res (car args) (cadr args)))
  19.             (set! res  (vector-ref res (car args)))
  20.             (set! args (cdr args))))
  21.