diff options
| author | James LewisMoss <dres@debian.org> | 1999-12-06 19:32:57 -0500 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:28 -0800 | 
| commit | c394920caedf3dac1981bb6b10eeb47fd6e4bb21 (patch) | |
| tree | f21194653a3554f747dde3df908df993c48db5a0 /charplot.scm | |
| parent | 926b1b647ac830660933a5e63eb52d4a2552e264 (diff) | |
| parent | bd9733926076885e3417b74de76e4c9c7bc56254 (diff) | |
| download | slib-c394920caedf3dac1981bb6b10eeb47fd6e4bb21.tar.gz slib-c394920caedf3dac1981bb6b10eeb47fd6e4bb21.zip  | |
Import Debian changes 2c7-1debian/2c7-1
slib (2c7-1) unstable; urgency=low
  * New upstream.
  * Add slibconfig back in.
slib (2c6-2) unstable; urgency=low
  * Remove the slib$(VERSION).info file.  Cut the diff back down to
    size. 
slib (2c6-1) unstable; urgency=low
  * New upstream.
  * Move docs to /usr/share. Up standards version. add /usr/doc symlink.
    Move info files.  Remove undocumented link.
slib (2c5-6) unstable; urgency=low
  * Lowercase two vars in yasyn.scm (Fixes bug #37222)
slib (2c5-5) unstable; urgency=low
  * Fix it so string-index isn't defined (now there is a
    strsrch:string-index) (Fixes #38812)
slib (2c5-4) unstable; urgency=low
  * Don't run slibconfig in postinst.  (Fixes bug #38253, #37733, #37715,
    #37746,  #37809, #37917, #38123, #38462)
slib (2c5-3) unstable; urgency=low
  * Run slibconfig in postinst.  It was commented out there, but I don't
    see any old bug reports on why it was commented out, so let's try
    again. :)  (Fixes bug #37221)
slib (2c5-2) unstable; urgency=low
  * Link mklibcat.scm to mklibcat.  Fixes a problem with using slib with
    guile. 
slib (2c5-1) unstable; urgency=low
  * New upstream.
slib (2c3-4) unstable; urgency=low
  * New maintainer.
Diffstat (limited to 'charplot.scm')
| -rw-r--r-- | charplot.scm | 26 | 
1 files changed, 22 insertions, 4 deletions
diff --git a/charplot.scm b/charplot.scm index 2a2a49a..2c64615 100644 --- a/charplot.scm +++ b/charplot.scm @@ -18,6 +18,7 @@  ;each case.  (require 'sort) +(require 'printf)  (define charplot:rows 24)  (define charplot:columns (output-port-width (current-output-port))) @@ -43,6 +44,9 @@      (display str)      (charplot:printn! (- width (+ (string-length  str) lpad)) #\ ))) +(define (charplot:number->string x) +  (sprintf #f "%g" x)) +  (define (scale-it z scale)    (if (and (exact? z) (integer? z))        (quotient (* z (car scale)) (cadr scale)) @@ -86,8 +90,8 @@  	(string-set! a (caar data) charplot:curve1)  	(set! data (cdr data)))        (if (zero? (modulo (- ht xaxis) ystep)) -	  (let* ((v (number->string (/ (* (- ht xaxis) (cadr yscale)) -				       (car yscale)))) +	  (let* ((v (charplot:number->string (/ (* (- ht xaxis) (cadr yscale)) +						(car yscale))))  		 (l (string-length v)))  	    (if (> l 10)  		(display (substring v 0 10)) @@ -119,12 +123,16 @@      (charplot:center-print! xlabel (+ 12 fudge (- xstep/2)))      (do ((i fudge (+ i xstep)))  	((> (+ i xstep) charplot:width)) -      (charplot:center-print! (number->string (/ (* (- i yaxis) (cadr xscale)) -						 (car xscale))) +      (charplot:center-print! (charplot:number->string +			       (/ (* (- i yaxis) (cadr xscale)) +				  (car xscale)))  			      xstep))      (newline)))  (define (charplot:plot! data xlabel ylabel) +  (cond ((array? data) +	 (set! data (map (lambda (lst) (cons (car lst) (cadr lst))) +			 (array->list data)))))    (let* ((xmax (apply max (map car data)))  	 (xmin (apply min (map car data)))  	 (xscale (find-scale charplot:width (- xmax xmin))) @@ -139,4 +147,14 @@  			  data)  		     xlabel ylabel xmin xscale ymin yscale))) +(define (plot-function func vlo vhi . npts) +  (set! npts (if (null? npts) 100 (car npts))) +  (let ((dats (make-array 0.0 npts 2))) +    (array-index-map! (make-shared-array dats (lambda (idx) (list idx 0)) npts) +		      (lambda (idx) (+ vlo (* (- vhi vlo) (/ idx npts))))) +    (array-map! (make-shared-array dats (lambda (idx) (list idx 1)) npts) +		func +		(make-shared-array dats (lambda (idx) (list idx 0)) npts)) +    (charplot:plot! dats "" ""))) +  (define plot! charplot:plot!)  | 
