Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;#5
- (define (matrix a b c d)
- (cons a (cons b (cons c (cons d '())))))
- (define (value mat index)
- (cond ((equal? index 'a) (car mat))
- ((equal? index 'b) (cadr mat))
- ((equal? index 'c) (caddr mat))
- ((equal? index 'd) (cadddr mat))
- (else "No such element")))
- (define (compose-matrix mata matb)
- (define a (+
- (* (value mata 'a) (value matb 'a))
- (* (value mata 'b) (value matb 'c))))
- (define b (+
- (* (value mata 'a) (value matb 'b))
- (* (value mata 'b) (value matb 'd))))
- (define c (+
- (* (value mata 'c) (value matb 'a))
- (* (value mata 'd) (value matb 'c))))
- (define d (+
- (* (value mata 'c) (value matb 'b))
- (* (value mata 'd) (value matb 'd))))
- (cons a (cons b (cons c (cons d '())))))
- (define (add-matrix mata matb)
- (define a (+ (value mata 'a) (value matb 'a)))
- (define b (+ (value mata 'b) (value matb 'b)))
- (define c (+ (value mata 'c) (value matb 'c)))
- (define d (+ (value mata 'd) (value matb 'd)))
- (cons a (cons b (cons c (cons d '())))))
- (define (add-streams-matrix s1 s2)
- (cond ((null? s1) '())
- ((null? s2) '())
- (else (cons-stream (add-matrix (stream-car s1) (stream-car s2))
- (add-streams-matrix (stream-cdr s1)
- (stream-cdr s2))))))
- (define omat-stream (cons-stream (matrix 1 4 0 2) omat-stream))
- (define (pi o-stream)
- (define (action strm a a-list outpt)
- (define (produce)
- (action strm
- (define consume)
- )
- (action o-stream 2))))
Add Comment
Please, Sign In to add comment