source: project/ode/trunk/extensions/stalin-qprint.scm @ 8365

Last change on this file since 8365 was 8365, checked in by Ivan Raikov, 13 years ago

Added stalin-related extension.

File size: 960 bytes
Line 
1
2(define (qprint)
3  (if (and (pair? prtitems) (or (not prtfrom) (>= prti prtfrom)))
4      (if (or (not prtevery) (zero? (modulo prti prtevery)))
5          (begin
6            (display "***")
7            (for-each
8             (lambda (prtitem)
9               (let ((tag (car prtitem)) (q (cadr prtitem)))
10                 (let ((svec (vector-ref solve-env (qsym-i q))))
11                   (if (vector? svec)
12                       (case tag
13                         ((value) 
14                          (display (vector-ref svec svec-value-idx))
15                          (display " "))
16                         ((prime) 
17                          (display (vector-ref svec svec-deriv-idx))
18                          (display " "))
19                         ((abserr) 
20                          (display (vector-ref svec svec-abserr-idx))
21                          (display " "))
22                         ((relerr) 
23                          (display (vector-ref svec svec-relerr-idx))
24                          (display " "))
25                         (else (error "invalid print item")))
26                       (case tag
27                         ((value) 
28                          (display (car svec)))
29                         (else (error "invalid print item")))))))
30             prtitems)
31            (display #\newline)
32            (set! prti (if prtfrom (+ 1 prtfrom) 1)))
33          (set! prti (+ 1 prti)))))
34
Note: See TracBrowser for help on using the repository browser.