diff options
author | Darren Bane <darren.bane@gmail.com> | 2021-11-02 13:22:02 +0000 |
---|---|---|
committer | Darren Bane <darren.bane@gmail.com> | 2021-11-02 13:22:02 +0000 |
commit | 67ef9fbf276a3f1490910abfcb2f8387f0944a95 (patch) | |
tree | 5fbbcf557e000dd16d5bb352def9b4a3debff730 /shen/rms-defs.shen | |
parent | 534ce2037b4cef7d984307aecb0da47b982e7071 (diff) | |
download | lsp-67ef9fbf276a3f1490910abfcb2f8387f0944a95.tar.gz |
Some Shen code
Diffstat (limited to 'shen/rms-defs.shen')
-rw-r--r-- | shen/rms-defs.shen | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/shen/rms-defs.shen b/shen/rms-defs.shen new file mode 100644 index 0000000..7839a17 --- /dev/null +++ b/shen/rms-defs.shen @@ -0,0 +1,20 @@ +(define mean + { (list number) --> number } + Xs -> (/ (sum Xs) (length Xs))) + +(define square + { number --> number } + X -> (* X X)) + +(define rms + { (list number) --> number } + Xs -> (sqrt (mean (map (function square) Xs)))) + +(define iota-h + { number --> number --> (list number) } + X X -> [X] + X Lim -> (cons X (iota-h (+ X 1) Lim))) + +(define iota + { number --> (list number) } + Lim -> (iota-h 1 Lim)) |