diff options
-rw-r--r-- | src/primmath.clj | 376 |
1 files changed, 188 insertions, 188 deletions
diff --git a/src/primmath.clj b/src/primmath.clj index 0dc85a93..87f78ccb 100644 --- a/src/primmath.clj +++ b/src/primmath.clj @@ -7,7 +7,7 @@ ; You must not remove this notice, or any other, from this software. (in-ns 'int) -(clojure/refer 'clojure :exclude '(+ - * / == < <= > >= zero? pos? neg? inc dec vec max min aget alength)) +(clojure/refer 'clojure :exclude '(+ - * / == < <= > >= zero? pos? neg? inc dec array max min aget alength)) (import '(clojure.lang Numbers$I)) (definline + [x y] `(. Numbers$I add ~x ~y)) @@ -29,61 +29,61 @@ (definline aget [xs i] `(. Numbers$I aget ~xs ~i)) (definline alength [xs] `(. Numbers$I alength ~xs)) -(defn vec +(defn array ([size-or-seq] (. Numbers$I vec size-or-seq)) ([size init] (. Numbers$I vec size init))) -(defn vmap +(defn amap ([f xs] (. Numbers$I vmap f xs)) ([f xs ys] (. Numbers$I vmap f xs ys))) -(definline v+n [xs y] `(. Numbers$I vsadd ~xs ~y)) -(definline v-n [xs y] `(. Numbers$I vssub ~xs ~y)) -(definline v|n [xs y] `(. Numbers$I vsdiv ~xs ~y)) -(definline v*n [xs y] `(. Numbers$I vsmul ~xs ~y)) -(definline n|v [x ys] `(. Numbers$I svdiv ~x ~ys)) - -(definline v*n+v [xs y zs] `(. Numbers$I vsmuladd ~xs ~y ~zs)) -(definline v*n-v [xs y zs] `(. Numbers$I vsmulsub ~xs ~y ~zs)) -(definline v*n+n [xs y z] `(. Numbers$I vsmuladd ~xs ~y ~z)) -(definline v*n-n [xs y z] `(. Numbers$I vsmulssub ~xs ~y ~z)) - -(definline vabs [xs] `(. Numbers$I vabs ~xs)) -(definline vnegateabs [xs] `(. Numbers$I vnegabs ~xs)) -(definline vnegate [xs] `(. Numbers$I vneg ~xs)) -(definline vsqr [xs] `(. Numbers$I vsqr ~xs)) -(definline vsignedsqr [xs] `(. Numbers$I vsignedsqr ~xs)) -(definline vreverse [xs] `(. Numbers$I vreverse ~xs)) -(definline vrunningsum [xs] `(. Numbers$I vrunningsum ~xs)) -(definline vsort [xs] `(. Numbers$I vsort ~xs)) -(definline vmax [xs] `(. Numbers$I vmax ~xs)) -(definline vmin [xs] `(. Numbers$I vmin ~xs)) -(definline vmean [xs] `(. Numbers$I vmean ~xs)) -(definline vrms [xs] `(. Numbers$I vrms ~xs)) -(definline vsum [xs] `(. Numbers$I vsum ~xs)) - -(definline vclip [xs low high] `(. Numbers$I vclip ~xs ~low ~high)) -(definline vclipcounts [xs low high] `(. Numbers$I vclipcounts ~xs ~low ~high)) -(definline vthresh [xs thresh otherwise] `(. Numbers$I vthresh ~xs ~thresh ~otherwise)) - -(definline vdot [xs ys] `(. Numbers$I vdot ~xs ~ys)) -(definline v== [xs ys] `(. Numbers$I vequiv ~xs ~ys)) -(definline v+v [xs ys] `(. Numbers$I vadd ~xs ~ys)) -(definline v-v [xs ys] `(. Numbers$I vsub ~xs ~ys)) -(definline v*v [xs ys] `(. Numbers$I vmul ~xs ~ys)) -(definline v|v [xs ys] `(. Numbers$I vdiv ~xs ~ys)) -(definline vmaxv [xs ys] `(. Numbers$I vmax ~xs ~ys)) -(definline vminv [xs ys] `(. Numbers$I vmin ~xs ~ys)) - -(definline v+v*v [xs ys zs] `(. Numbers$I vaddmul ~xs ~ys ~zs)) -(definline v-v*v [xs ys zs] `(. Numbers$I vsubmul ~xs ~ys ~zs)) - -(definline v+v*n [xs ys z] `(. Numbers$I vaddsmul ~xs ~ys ~z)) -(definline v-v*n [xs ys z] `(. Numbers$I vsubsmul ~xs ~ys ~z)) -(definline v*v+n [xs ys z] `(. Numbers$I vmulsadd ~xs ~ys ~z)) +(definline a+n [xs y] `(. Numbers$I vsadd ~xs ~y)) +(definline a-n [xs y] `(. Numbers$I vssub ~xs ~y)) +(definline a|n [xs y] `(. Numbers$I vsdiv ~xs ~y)) +(definline a*n [xs y] `(. Numbers$I vsmul ~xs ~y)) +(definline n|a [x ys] `(. Numbers$I svdiv ~x ~ys)) + +(definline a*n+a [xs y zs] `(. Numbers$I vsmuladd ~xs ~y ~zs)) +(definline a*n-a [xs y zs] `(. Numbers$I vsmulsub ~xs ~y ~zs)) +(definline a*n+n [xs y z] `(. Numbers$I vsmuladd ~xs ~y ~z)) +(definline a*n-n [xs y z] `(. Numbers$I vsmulssub ~xs ~y ~z)) + +(definline aabs [xs] `(. Numbers$I vabs ~xs)) +(definline anegateabs [xs] `(. Numbers$I vnegabs ~xs)) +(definline anegate [xs] `(. Numbers$I vneg ~xs)) +(definline asqr [xs] `(. Numbers$I vsqr ~xs)) +(definline asignedsqr [xs] `(. Numbers$I vsignedsqr ~xs)) +(definline areverse [xs] `(. Numbers$I vreverse ~xs)) +(definline arunningsum [xs] `(. Numbers$I vrunningsum ~xs)) +(definline asort [xs] `(. Numbers$I vsort ~xs)) +(definline amax [xs] `(. Numbers$I vmax ~xs)) +(definline amin [xs] `(. Numbers$I vmin ~xs)) +(definline amean [xs] `(. Numbers$I vmean ~xs)) +(definline arms [xs] `(. Numbers$I vrms ~xs)) +(definline asum [xs] `(. Numbers$I vsum ~xs)) + +(definline aclip [xs low high] `(. Numbers$I vclip ~xs ~low ~high)) +(definline aclipcounts [xs low high] `(. Numbers$I vclipcounts ~xs ~low ~high)) +(definline athresh [xs thresh otherwise] `(. Numbers$I vthresh ~xs ~thresh ~otherwise)) + +(definline adot [xs ys] `(. Numbers$I vdot ~xs ~ys)) +(definline a== [xs ys] `(. Numbers$I vequiv ~xs ~ys)) +(definline a+a [xs ys] `(. Numbers$I vadd ~xs ~ys)) +(definline a-a [xs ys] `(. Numbers$I vsub ~xs ~ys)) +(definline a*a [xs ys] `(. Numbers$I vmul ~xs ~ys)) +(definline a|a [xs ys] `(. Numbers$I vdiv ~xs ~ys)) +(definline amaxa [xs ys] `(. Numbers$I vmax ~xs ~ys)) +(definline amina [xs ys] `(. Numbers$I vmin ~xs ~ys)) + +(definline a+a*a [xs ys zs] `(. Numbers$I vaddmul ~xs ~ys ~zs)) +(definline a-a*a [xs ys zs] `(. Numbers$I vsubmul ~xs ~ys ~zs)) + +(definline a+a*n [xs ys z] `(. Numbers$I vaddsmul ~xs ~ys ~z)) +(definline a-a*n [xs ys z] `(. Numbers$I vsubsmul ~xs ~ys ~z)) +(definline a*a+n [xs ys z] `(. Numbers$I vmulsadd ~xs ~ys ~z)) (in-ns 'long) -(clojure/refer 'clojure :exclude '(+ - * / == < <= > >= zero? pos? neg? inc dec vec max min aget alength)) +(clojure/refer 'clojure :exclude '(+ - * / == < <= > >= zero? pos? neg? inc dec array max min aget alength)) (import '(clojure.lang Numbers$L)) (definline + [x y] `(. Numbers$L add ~x ~y)) @@ -105,61 +105,61 @@ (definline aget [xs i] `(. Numbers$L aget ~xs ~i)) (definline alength [xs] `(. Numbers$L alength ~xs)) -(defn vec +(defn array ([size-or-seq] (. Numbers$L vec size-or-seq)) ([size init] (. Numbers$L vec size init))) -(defn vmap +(defn amap ([f xs] (. Numbers$L vmap f xs)) ([f xs ys] (. Numbers$L vmap f xs ys))) -(definline v+n [xs y] `(. Numbers$L vsadd ~xs ~y)) -(definline v-n [xs y] `(. Numbers$L vssub ~xs ~y)) -(definline v|n [xs y] `(. Numbers$L vsdiv ~xs ~y)) -(definline v*n [xs y] `(. Numbers$L vsmul ~xs ~y)) -(definline n|v [x ys] `(. Numbers$L svdiv ~x ~ys)) - -(definline v*n+v [xs y zs] `(. Numbers$L vsmuladd ~xs ~y ~zs)) -(definline v*n-v [xs y zs] `(. Numbers$L vsmulsub ~xs ~y ~zs)) -(definline v*n+n [xs y z] `(. Numbers$L vsmuladd ~xs ~y ~z)) -(definline v*n-n [xs y z] `(. Numbers$L vsmulssub ~xs ~y ~z)) - -(definline vabs [xs] `(. Numbers$L vabs ~xs)) -(definline vnegateabs [xs] `(. Numbers$L vnegabs ~xs)) -(definline vnegate [xs] `(. Numbers$L vneg ~xs)) -(definline vsqr [xs] `(. Numbers$L vsqr ~xs)) -(definline vsignedsqr [xs] `(. Numbers$L vsignedsqr ~xs)) -(definline vreverse [xs] `(. Numbers$L vreverse ~xs)) -(definline vrunningsum [xs] `(. Numbers$L vrunningsum ~xs)) -(definline vsort [xs] `(. Numbers$L vsort ~xs)) -(definline vmax [xs] `(. Numbers$L vmax ~xs)) -(definline vmin [xs] `(. Numbers$L vmin ~xs)) -(definline vmean [xs] `(. Numbers$L vmean ~xs)) -(definline vrms [xs] `(. Numbers$L vrms ~xs)) -(definline vsum [xs] `(. Numbers$L vsum ~xs)) - -(definline vclip [xs low high] `(. Numbers$L vclip ~xs ~low ~high)) -(definline vclipcounts [xs low high] `(. Numbers$L vclipcounts ~xs ~low ~high)) -(definline vthresh [xs thresh otherwise] `(. Numbers$L vthresh ~xs ~thresh ~otherwise)) - -(definline vdot [xs ys] `(. Numbers$L vdot ~xs ~ys)) -(definline v== [xs ys] `(. Numbers$L vequiv ~xs ~ys)) -(definline v+v [xs ys] `(. Numbers$L vadd ~xs ~ys)) -(definline v-v [xs ys] `(. Numbers$L vsub ~xs ~ys)) -(definline v*v [xs ys] `(. Numbers$L vmul ~xs ~ys)) -(definline v|v [xs ys] `(. Numbers$L vdiv ~xs ~ys)) -(definline vmaxv [xs ys] `(. Numbers$L vmax ~xs ~ys)) -(definline vminv [xs ys] `(. Numbers$L vmin ~xs ~ys)) - -(definline v+v*v [xs ys zs] `(. Numbers$L vaddmul ~xs ~ys ~zs)) -(definline v-v*v [xs ys zs] `(. Numbers$L vsubmul ~xs ~ys ~zs)) - -(definline v+v*n [xs ys z] `(. Numbers$L vaddsmul ~xs ~ys ~z)) -(definline v-v*n [xs ys z] `(. Numbers$L vsubsmul ~xs ~ys ~z)) -(definline v*v+n [xs ys z] `(. Numbers$L vmulsadd ~xs ~ys ~z)) +(definline a+n [xs y] `(. Numbers$L vsadd ~xs ~y)) +(definline a-n [xs y] `(. Numbers$L vssub ~xs ~y)) +(definline a|n [xs y] `(. Numbers$L vsdiv ~xs ~y)) +(definline a*n [xs y] `(. Numbers$L vsmul ~xs ~y)) +(definline n|a [x ys] `(. Numbers$L svdiv ~x ~ys)) + +(definline a*n+a [xs y zs] `(. Numbers$L vsmuladd ~xs ~y ~zs)) +(definline a*n-a [xs y zs] `(. Numbers$L vsmulsub ~xs ~y ~zs)) +(definline a*n+n [xs y z] `(. Numbers$L vsmuladd ~xs ~y ~z)) +(definline a*n-n [xs y z] `(. Numbers$L vsmulssub ~xs ~y ~z)) + +(definline aabs [xs] `(. Numbers$L vabs ~xs)) +(definline anegateabs [xs] `(. Numbers$L vnegabs ~xs)) +(definline anegate [xs] `(. Numbers$L vneg ~xs)) +(definline asqr [xs] `(. Numbers$L vsqr ~xs)) +(definline asignedsqr [xs] `(. Numbers$L vsignedsqr ~xs)) +(definline areverse [xs] `(. Numbers$L vreverse ~xs)) +(definline arunningsum [xs] `(. Numbers$L vrunningsum ~xs)) +(definline asort [xs] `(. Numbers$L vsort ~xs)) +(definline amax [xs] `(. Numbers$L vmax ~xs)) +(definline amin [xs] `(. Numbers$L vmin ~xs)) +(definline amean [xs] `(. Numbers$L vmean ~xs)) +(definline arms [xs] `(. Numbers$L vrms ~xs)) +(definline asum [xs] `(. Numbers$L vsum ~xs)) + +(definline aclip [xs low high] `(. Numbers$L vclip ~xs ~low ~high)) +(definline aclipcounts [xs low high] `(. Numbers$L vclipcounts ~xs ~low ~high)) +(definline athresh [xs thresh otherwise] `(. Numbers$L vthresh ~xs ~thresh ~otherwise)) + +(definline adot [xs ys] `(. Numbers$L vdot ~xs ~ys)) +(definline a== [xs ys] `(. Numbers$L vequiv ~xs ~ys)) +(definline a+a [xs ys] `(. Numbers$L vadd ~xs ~ys)) +(definline a-a [xs ys] `(. Numbers$L vsub ~xs ~ys)) +(definline a*a [xs ys] `(. Numbers$L vmul ~xs ~ys)) +(definline a|a [xs ys] `(. Numbers$L vdiv ~xs ~ys)) +(definline amaxa [xs ys] `(. Numbers$L vmax ~xs ~ys)) +(definline amina [xs ys] `(. Numbers$L vmin ~xs ~ys)) + +(definline a+a*a [xs ys zs] `(. Numbers$L vaddmul ~xs ~ys ~zs)) +(definline a-a*a [xs ys zs] `(. Numbers$L vsubmul ~xs ~ys ~zs)) + +(definline a+a*n [xs ys z] `(. Numbers$L vaddsmul ~xs ~ys ~z)) +(definline a-a*n [xs ys z] `(. Numbers$L vsubsmul ~xs ~ys ~z)) +(definline a*a+n [xs ys z] `(. Numbers$L vmulsadd ~xs ~ys ~z)) (in-ns 'float) -(clojure/refer 'clojure :exclude '(+ - * / == < <= > >= zero? pos? neg? inc dec vec max min aget alength)) +(clojure/refer 'clojure :exclude '(+ - * / == < <= > >= zero? pos? neg? inc dec array max min aget alength)) (import '(clojure.lang Numbers$F)) (definline + [x y] `(. Numbers$F add ~x ~y)) @@ -181,61 +181,61 @@ (definline aget [xs i] `(. Numbers$F aget ~xs ~i)) (definline alength [xs] `(. Numbers$F alength ~xs)) -(defn vec +(defn array ([size-or-seq] (. Numbers$F vec size-or-seq)) ([size init] (. Numbers$F vec size init))) -(defn vmap +(defn amap ([f xs] (. Numbers$F vmap f xs)) ([f xs ys] (. Numbers$F vmap f xs ys))) -(definline v+n [xs y] `(. Numbers$F vsadd ~xs ~y)) -(definline v-n [xs y] `(. Numbers$F vssub ~xs ~y)) -(definline v|n [xs y] `(. Numbers$F vsdiv ~xs ~y)) -(definline v*n [xs y] `(. Numbers$F vsmul ~xs ~y)) -(definline n|v [x ys] `(. Numbers$F svdiv ~x ~ys)) - -(definline v*n+v [xs y zs] `(. Numbers$F vsmuladd ~xs ~y ~zs)) -(definline v*n-v [xs y zs] `(. Numbers$F vsmulsub ~xs ~y ~zs)) -(definline v*n+n [xs y z] `(. Numbers$F vsmuladd ~xs ~y ~z)) -(definline v*n-n [xs y z] `(. Numbers$F vsmulssub ~xs ~y ~z)) - -(definline vabs [xs] `(. Numbers$F vabs ~xs)) -(definline vnegateabs [xs] `(. Numbers$F vnegabs ~xs)) -(definline vnegate [xs] `(. Numbers$F vneg ~xs)) -(definline vsqr [xs] `(. Numbers$F vsqr ~xs)) -(definline vsignedsqr [xs] `(. Numbers$F vsignedsqr ~xs)) -(definline vreverse [xs] `(. Numbers$F vreverse ~xs)) -(definline vrunningsum [xs] `(. Numbers$F vrunningsum ~xs)) -(definline vsort [xs] `(. Numbers$F vsort ~xs)) -(definline vmax [xs] `(. Numbers$F vmax ~xs)) -(definline vmin [xs] `(. Numbers$F vmin ~xs)) -(definline vmean [xs] `(. Numbers$F vmean ~xs)) -(definline vrms [xs] `(. Numbers$F vrms ~xs)) -(definline vsum [xs] `(. Numbers$F vsum ~xs)) - -(definline vclip [xs low high] `(. Numbers$F vclip ~xs ~low ~high)) -(definline vclipcounts [xs low high] `(. Numbers$F vclipcounts ~xs ~low ~high)) -(definline vthresh [xs thresh otherwise] `(. Numbers$F vthresh ~xs ~thresh ~otherwise)) - -(definline vdot [xs ys] `(. Numbers$F vdot ~xs ~ys)) -(definline v== [xs ys] `(. Numbers$F vequiv ~xs ~ys)) -(definline v+v [xs ys] `(. Numbers$F vadd ~xs ~ys)) -(definline v-v [xs ys] `(. Numbers$F vsub ~xs ~ys)) -(definline v*v [xs ys] `(. Numbers$F vmul ~xs ~ys)) -(definline v|v [xs ys] `(. Numbers$F vdiv ~xs ~ys)) -(definline vmaxv [xs ys] `(. Numbers$F vmax ~xs ~ys)) -(definline vminv [xs ys] `(. Numbers$F vmin ~xs ~ys)) - -(definline v+v*v [xs ys zs] `(. Numbers$F vaddmul ~xs ~ys ~zs)) -(definline v-v*v [xs ys zs] `(. Numbers$F vsubmul ~xs ~ys ~zs)) - -(definline v+v*n [xs ys z] `(. Numbers$F vaddsmul ~xs ~ys ~z)) -(definline v-v*n [xs ys z] `(. Numbers$F vsubsmul ~xs ~ys ~z)) -(definline v*v+n [xs ys z] `(. Numbers$F vmulsadd ~xs ~ys ~z)) +(definline a+n [xs y] `(. Numbers$F vsadd ~xs ~y)) +(definline a-n [xs y] `(. Numbers$F vssub ~xs ~y)) +(definline a|n [xs y] `(. Numbers$F vsdiv ~xs ~y)) +(definline a*n [xs y] `(. Numbers$F vsmul ~xs ~y)) +(definline n|a [x ys] `(. Numbers$F svdiv ~x ~ys)) + +(definline a*n+a [xs y zs] `(. Numbers$F vsmuladd ~xs ~y ~zs)) +(definline a*n-a [xs y zs] `(. Numbers$F vsmulsub ~xs ~y ~zs)) +(definline a*n+n [xs y z] `(. Numbers$F vsmuladd ~xs ~y ~z)) +(definline a*n-n [xs y z] `(. Numbers$F vsmulssub ~xs ~y ~z)) + +(definline aabs [xs] `(. Numbers$F vabs ~xs)) +(definline anegateabs [xs] `(. Numbers$F vnegabs ~xs)) +(definline anegate [xs] `(. Numbers$F vneg ~xs)) +(definline asqr [xs] `(. Numbers$F vsqr ~xs)) +(definline asignedsqr [xs] `(. Numbers$F vsignedsqr ~xs)) +(definline areverse [xs] `(. Numbers$F vreverse ~xs)) +(definline arunningsum [xs] `(. Numbers$F vrunningsum ~xs)) +(definline asort [xs] `(. Numbers$F vsort ~xs)) +(definline amax [xs] `(. Numbers$F vmax ~xs)) +(definline amin [xs] `(. Numbers$F vmin ~xs)) +(definline amean [xs] `(. Numbers$F vmean ~xs)) +(definline arms [xs] `(. Numbers$F vrms ~xs)) +(definline asum [xs] `(. Numbers$F vsum ~xs)) + +(definline aclip [xs low high] `(. Numbers$F vclip ~xs ~low ~high)) +(definline aclipcounts [xs low high] `(. Numbers$F vclipcounts ~xs ~low ~high)) +(definline athresh [xs thresh otherwise] `(. Numbers$F vthresh ~xs ~thresh ~otherwise)) + +(definline adot [xs ys] `(. Numbers$F vdot ~xs ~ys)) +(definline a== [xs ys] `(. Numbers$F vequiv ~xs ~ys)) +(definline a+a [xs ys] `(. Numbers$F vadd ~xs ~ys)) +(definline a-a [xs ys] `(. Numbers$F vsub ~xs ~ys)) +(definline a*a [xs ys] `(. Numbers$F vmul ~xs ~ys)) +(definline a|a [xs ys] `(. Numbers$F vdiv ~xs ~ys)) +(definline amaxa [xs ys] `(. Numbers$F vmax ~xs ~ys)) +(definline amina [xs ys] `(. Numbers$F vmin ~xs ~ys)) + +(definline a+a*a [xs ys zs] `(. Numbers$F vaddmul ~xs ~ys ~zs)) +(definline a-a*a [xs ys zs] `(. Numbers$F vsubmul ~xs ~ys ~zs)) + +(definline a+a*n [xs ys z] `(. Numbers$F vaddsmul ~xs ~ys ~z)) +(definline a-a*n [xs ys z] `(. Numbers$F vsubsmul ~xs ~ys ~z)) +(definline a*a+n [xs ys z] `(. Numbers$F vmulsadd ~xs ~ys ~z)) (in-ns 'double) -(clojure/refer 'clojure :exclude '(+ - * / == < <= > >= zero? pos? neg? inc dec vec max min aget alength)) +(clojure/refer 'clojure :exclude '(+ - * / == < <= > >= zero? pos? neg? inc dec array max min aget alength)) (import '(clojure.lang Numbers$D)) (definline + [x y] `(. Numbers$D add ~x ~y)) @@ -257,55 +257,55 @@ (definline aget [xs i] `(. Numbers$D aget ~xs ~i)) (definline alength [xs] `(. Numbers$D alength ~xs)) -(defn vec +(defn array ([size-or-seq] (. Numbers$D vec size-or-seq)) ([size init] (. Numbers$D vec size init))) -(defn vmap +(defn amap ([f xs] (. Numbers$D vmap f xs)) ([f xs ys] (. Numbers$D vmap f xs ys))) -(definline v+n [xs y] `(. Numbers$D vsadd ~xs ~y)) -(definline v-n [xs y] `(. Numbers$D vssub ~xs ~y)) -(definline v|n [xs y] `(. Numbers$D vsdiv ~xs ~y)) -(definline v*n [xs y] `(. Numbers$D vsmul ~xs ~y)) -(definline n|v [x ys] `(. Numbers$D svdiv ~x ~ys)) - -(definline v*n+v [xs y zs] `(. Numbers$D vsmuladd ~xs ~y ~zs)) -(definline v*n-v [xs y zs] `(. Numbers$D vsmulsub ~xs ~y ~zs)) -(definline v*n+n [xs y z] `(. Numbers$D vsmuladd ~xs ~y ~z)) -(definline v*n-n [xs y z] `(. Numbers$D vsmulssub ~xs ~y ~z)) - -(definline vabs [xs] `(. Numbers$D vabs ~xs)) -(definline vnegateabs [xs] `(. Numbers$D vnegabs ~xs)) -(definline vnegate [xs] `(. Numbers$D vneg ~xs)) -(definline vsqr [xs] `(. Numbers$D vsqr ~xs)) -(definline vsignedsqr [xs] `(. Numbers$D vsignedsqr ~xs)) -(definline vreverse [xs] `(. Numbers$D vreverse ~xs)) -(definline vrunningsum [xs] `(. Numbers$D vrunningsum ~xs)) -(definline vsort [xs] `(. Numbers$D vsort ~xs)) -(definline vmax [xs] `(. Numbers$D vmax ~xs)) -(definline vmin [xs] `(. Numbers$D vmin ~xs)) -(definline vmean [xs] `(. Numbers$D vmean ~xs)) -(definline vrms [xs] `(. Numbers$D vrms ~xs)) -(definline vsum [xs] `(. Numbers$D vsum ~xs)) - -(definline vclip [xs low high] `(. Numbers$D vclip ~xs ~low ~high)) -(definline vclipcounts [xs low high] `(. Numbers$D vclipcounts ~xs ~low ~high)) -(definline vthresh [xs thresh otherwise] `(. Numbers$D vthresh ~xs ~thresh ~otherwise)) - -(definline vdot [xs ys] `(. Numbers$D vdot ~xs ~ys)) -(definline v== [xs ys] `(. Numbers$D vequiv ~xs ~ys)) -(definline v+v [xs ys] `(. Numbers$D vadd ~xs ~ys)) -(definline v-v [xs ys] `(. Numbers$D vsub ~xs ~ys)) -(definline v*v [xs ys] `(. Numbers$D vmul ~xs ~ys)) -(definline v|v [xs ys] `(. Numbers$D vdiv ~xs ~ys)) -(definline vmaxv [xs ys] `(. Numbers$D vmax ~xs ~ys)) -(definline vminv [xs ys] `(. Numbers$D vmin ~xs ~ys)) - -(definline v+v*v [xs ys zs] `(. Numbers$D vaddmul ~xs ~ys ~zs)) -(definline v-v*v [xs ys zs] `(. Numbers$D vsubmul ~xs ~ys ~zs)) - -(definline v+v*n [xs ys z] `(. Numbers$D vaddsmul ~xs ~ys ~z)) -(definline v-v*n [xs ys z] `(. Numbers$D vsubsmul ~xs ~ys ~z)) -(definline v*v+n [xs ys z] `(. Numbers$D vmulsadd ~xs ~ys ~z)) +(definline a+n [xs y] `(. Numbers$D vsadd ~xs ~y)) +(definline a-n [xs y] `(. Numbers$D vssub ~xs ~y)) +(definline a|n [xs y] `(. Numbers$D vsdiv ~xs ~y)) +(definline a*n [xs y] `(. Numbers$D vsmul ~xs ~y)) +(definline n|a [x ys] `(. Numbers$D svdiv ~x ~ys)) + +(definline a*n+a [xs y zs] `(. Numbers$D vsmuladd ~xs ~y ~zs)) +(definline a*n-a [xs y zs] `(. Numbers$D vsmulsub ~xs ~y ~zs)) +(definline a*n+n [xs y z] `(. Numbers$D vsmuladd ~xs ~y ~z)) +(definline a*n-n [xs y z] `(. Numbers$D vsmulssub ~xs ~y ~z)) + +(definline aabs [xs] `(. Numbers$D vabs ~xs)) +(definline anegateabs [xs] `(. Numbers$D vnegabs ~xs)) +(definline anegate [xs] `(. Numbers$D vneg ~xs)) +(definline asqr [xs] `(. Numbers$D vsqr ~xs)) +(definline asignedsqr [xs] `(. Numbers$D vsignedsqr ~xs)) +(definline areverse [xs] `(. Numbers$D vreverse ~xs)) +(definline arunningsum [xs] `(. Numbers$D vrunningsum ~xs)) +(definline asort [xs] `(. Numbers$D vsort ~xs)) +(definline amax [xs] `(. Numbers$D vmax ~xs)) +(definline amin [xs] `(. Numbers$D vmin ~xs)) +(definline amean [xs] `(. Numbers$D vmean ~xs)) +(definline arms [xs] `(. Numbers$D vrms ~xs)) +(definline asum [xs] `(. Numbers$D vsum ~xs)) + +(definline aclip [xs low high] `(. Numbers$D vclip ~xs ~low ~high)) +(definline aclipcounts [xs low high] `(. Numbers$D vclipcounts ~xs ~low ~high)) +(definline athresh [xs thresh otherwise] `(. Numbers$D vthresh ~xs ~thresh ~otherwise)) + +(definline adot [xs ys] `(. Numbers$D vdot ~xs ~ys)) +(definline a== [xs ys] `(. Numbers$D vequiv ~xs ~ys)) +(definline a+a [xs ys] `(. Numbers$D vadd ~xs ~ys)) +(definline a-a [xs ys] `(. Numbers$D vsub ~xs ~ys)) +(definline a*a [xs ys] `(. Numbers$D vmul ~xs ~ys)) +(definline a|a [xs ys] `(. Numbers$D vdiv ~xs ~ys)) +(definline amaxa [xs ys] `(. Numbers$D vmax ~xs ~ys)) +(definline amina [xs ys] `(. Numbers$D vmin ~xs ~ys)) + +(definline a+a*a [xs ys zs] `(. Numbers$D vaddmul ~xs ~ys ~zs)) +(definline a-a*a [xs ys zs] `(. Numbers$D vsubmul ~xs ~ys ~zs)) + +(definline a+a*n [xs ys z] `(. Numbers$D vaddsmul ~xs ~ys ~z)) +(definline a-a*n [xs ys z] `(. Numbers$D vsubsmul ~xs ~ys ~z)) +(definline a*a+n [xs ys z] `(. Numbers$D vmulsadd ~xs ~ys ~z)) |