annotate src/scheme/signals.scm @ 8:5e3cbbf173aa tip

Reorganise some more
author samer
date Fri, 05 Apr 2019 22:41:58 +0100
parents bf79fb79ee13
children
rev   line source
samer@0 1 ;;; extract one component of a vector and put it in a VDouble
samer@0 2 (define-method (signal name) (VDouble. name))
samer@0 3 (define-method (signal vec i)
samer@0 4 (node (.getNode vec)
samer@0 5 (let ((sig (VDouble. (.toString i))))
samer@0 6 (addtask (VectorToDouble. vec i sig))
samer@0 7 sig
samer@0 8 )
samer@0 9 )
samer@0 10 )
samer@0 11
samer@0 12 ;;; lagged signal histogram
samer@0 13 (define (sig:hist sig)
samer@0 14 (define sigwin (SignalWindow. sig 4 1))
samer@0 15 (define hist (JointHistogram. (.output sigwin) 0 4))
samer@0 16 (addtasks sigwin (.flushTask sigwin) hist)
samer@0 17 (put "jointhist" hist)
samer@0 18 hist
samer@0 19 )
samer@0 20
samer@0 21 (define (sig:- bigE smallE dE)
samer@0 22 (addtask (GenerateDouble. dE
samer@0 23 (Difference. bigE smallE)))
samer@0 24 dE
samer@0 25 )
samer@0 26
samer@0 27 ;;; make a task to write all sigs in siglist
samer@0 28 (define (sig:write base siglist)
samer@0 29 ;;; map a VDouble to a DoubleWriter
samer@0 30 (define (sig->writer x)
samer@0 31 (.mkdirs (java.io.File. base))
samer@0 32 (DoubleWriter. x
samer@0 33 (buffer (ofstream (cat base "/" (.getLabel x) ".txt")))
samer@0 34 #f))
samer@0 35
samer@0 36 ;;; now map all signals to writers and make CompoundTask
samer@0 37 (apply seq (map sig->writer siglist))
samer@0 38 )
samer@0 39
samer@0 40
samer@0 41