Mercurial > hg > jslab
view src/scheme/signals.scm @ 1:5df24c91468d
Oh my what a mess.
author | samer |
---|---|
date | Fri, 05 Apr 2019 16:26:00 +0100 |
parents | bf79fb79ee13 |
children |
line wrap: on
line source
;;; extract one component of a vector and put it in a VDouble (define-method (signal name) (VDouble. name)) (define-method (signal vec i) (node (.getNode vec) (let ((sig (VDouble. (.toString i)))) (addtask (VectorToDouble. vec i sig)) sig ) ) ) ;;; lagged signal histogram (define (sig:hist sig) (define sigwin (SignalWindow. sig 4 1)) (define hist (JointHistogram. (.output sigwin) 0 4)) (addtasks sigwin (.flushTask sigwin) hist) (put "jointhist" hist) hist ) (define (sig:- bigE smallE dE) (addtask (GenerateDouble. dE (Difference. bigE smallE))) dE ) ;;; make a task to write all sigs in siglist (define (sig:write base siglist) ;;; map a VDouble to a DoubleWriter (define (sig->writer x) (.mkdirs (java.io.File. base)) (DoubleWriter. x (buffer (ofstream (cat base "/" (.getLabel x) ".txt"))) #f)) ;;; now map all signals to writers and make CompoundTask (apply seq (map sig->writer siglist)) )