Doug Coleman
ffe1c510ae
math.matrices: rename van-der-monde to vandermonde
2012-07-30 16:44:08 -07:00
John Benediktsson
088dfa4861
math.matrices: adding van-der-monde matrix.
2012-07-30 16:15:21 -07:00
John Benediktsson
aed6825b4a
math.vectors: implement v^, v^n, n^v.
2012-07-30 16:15:00 -07:00
John Benediktsson
1a73e79ef7
cleanup some use of with-scope.
2012-07-19 13:55:34 -07:00
John Benediktsson
0359a4e823
math.intervals: using short-circuit logic.
2012-07-17 20:08:12 -07:00
John Benediktsson
bdf02bfd2b
math.statistics: faster and simpler entropy word.
2012-07-11 12:26:20 -07:00
John Benediktsson
0c5f895371
math.statistics: minor style cleanup.
2012-07-10 17:03:01 -07:00
John Benediktsson
9063235994
math.functions: minor cleanup.
2012-06-22 08:38:34 -07:00
John Benediktsson
55525a8ba4
math.combinatorics: 100%+ faster combinations.
2012-06-01 14:07:39 -07:00
John Benediktsson
d10fd71cb3
math.functions: implement copysign.
2012-06-01 08:24:35 -07:00
John Benediktsson
f090967d77
math.matrices: adding docs for a few words.
2012-05-25 12:19:23 -07:00
Doug Coleman
aad94d711b
math.matrices: Add another test to make sure we calculate kron correctly.
2012-05-24 09:02:47 -07:00
Doug Coleman
78f1ca9f14
math.matrices: Add stitch. Add Kronecker product.
2012-05-24 08:53:47 -07:00
John Benediktsson
07b0d52f55
math.statistics: adding winsorized-mean.
2012-05-08 08:48:15 -07:00
John Benediktsson
4c2d01c5ec
math.statistics: adding trim-mean and signal-to-noise.
2012-05-08 08:24:57 -07:00
Doug Coleman
0a5a2a74a7
math.statistics: Add sum-of-squares word, add sum-of-squared-errors/sum-of-absolute-errors words.
2012-05-07 15:04:37 -07:00
John Benediktsson
495637a087
math.matrices: adding hilbert-matrix, toeplitz-matrix, hankel-matrix, and box-matrix.
2012-05-04 18:01:21 -07:00
Doug Coleman
9a4e66c8a6
math.statistics: Add power-mean and quadratic-mean.
2012-05-04 15:27:46 -07:00
John Benediktsson
7ab521f0ba
math.statistics: simpler (faster) version of rescale.
2012-05-04 14:51:38 -07:00
John Benediktsson
87686a9a31
math.statistics: adding contraharmonic-mean.
2012-05-04 14:43:29 -07:00
John Benediktsson
4339b14d77
math.statistics: adding mean-dev and median-dev.
2012-05-04 14:40:24 -07:00
John Benediktsson
bacdd691fc
math.statistics: separate "sample-" and "full-" versions of var, std, ste, and corr.
2012-05-04 14:31:26 -07:00
John Benediktsson
0435098bd8
math.statistics: adding standardize, differences, rescale.
2012-05-04 14:18:45 -07:00
Doug Coleman
6f3fe950a7
math.matrices: Add a diagonal-matrix word that makes an nxn matrix from a sequence.
...
Optimize identity-matrix word -- 2-3x faster using diagonal-matrix.
Add an eye word that makes an mxn diagonal matrix with a diagonal offset by k.
2012-05-04 11:31:05 -07:00
John Benediktsson
31c7bd8e86
math.functions: adding generalized signum function. Fixes #509 .
2012-05-03 14:44:10 -07:00
John Benediktsson
95b82eecfa
math.vectors: adding p-norm.
2012-05-03 13:27:00 -07:00
Doug Coleman
f6398365bd
math.functions: rename exp to e^ to be consistent with 2^ and 10^. update things.
2012-05-02 10:22:23 -07:00
Doug Coleman
fee4d76b73
math.functions: Add e^ and sigmoid functions.
2012-05-02 09:21:34 -07:00
John Benediktsson
5878b6982b
math.statistics: adding entropy function.
2012-04-26 18:40:59 -07:00
John Benediktsson
6f89c1824d
change to in-place reverse.
2012-04-24 18:51:46 -07:00
John Benediktsson
817b45ee03
math.combinatorics: minor performance improvements.
2012-04-24 18:42:34 -07:00
John Benediktsson
f24e40800a
math.combinatorics: faster version of factorial.
2012-04-24 10:06:00 -07:00
Doug Coleman
cd9394f8c6
math.statistics: Add eight methods for calculating quantiles. Add quartile. Add kth-smallests et al, refactor medians.
2012-04-24 03:17:50 -07:00
Doug Coleman
7cb094d521
math.statistics: Make a safe version of kth-object. Bounds check k w/ regards to seq.
2012-04-23 13:55:25 -07:00
John Benediktsson
b9bcfdab8e
math.combinatorics: adding <combinations> and <permutations> sequences.
2012-04-23 08:30:22 -07:00
Doug Coleman
7ad089b682
math.statistics: Generalize kth-smallest into kth-object, add kth-largest. Add count-relative and minmax-relative for counting the number of lt, eq, gt elements, and getting the max lt and min gt in one pass.
2012-04-22 23:41:13 -07:00
John Benediktsson
c00ddde434
math.combinatorics: fix failed find combinations/permutations.
2012-04-21 20:11:47 -07:00
John Benediktsson
bada993f78
math.combinatorics: adding find-combination and find-permutation.
2012-04-20 23:31:40 -07:00
John Benediktsson
7a15418cf4
math.functions: adding another test for roots.
2012-04-19 13:34:42 -07:00
John Benediktsson
adc7b22997
math.functions: adding "roots" word to get arbitrary roots from numbers.
2012-04-19 12:19:14 -07:00
John Benediktsson
1e8eb18216
math.functions: adding docs and tests for ^mod.
2012-04-19 08:20:11 -07:00
Doug Coleman
0322b4d028
math.combinators: Add filter-permutations/combinations. Minor cleanup.
2012-04-18 15:18:54 -07:00
Doug Coleman
229d0e0549
math.combinators: Add map-permutation
2012-04-18 15:18:54 -07:00
John Benediktsson
e9ffd2da37
math.statistics: adding cumulative versions of sum, product, min, and max.
2012-04-12 10:30:16 -07:00
Doug Coleman
021e0f2ce6
math.statistics: Fix docs for help-lint.
2012-04-10 08:52:12 -07:00
John Benediktsson
236dd2cc97
math.combinatorics: fix help-lint.
2012-04-09 11:43:22 -07:00
John Benediktsson
214195e56a
Revert "math.functions: simpler without "simple-gcd"."
...
This reverts commit aa7f60ebbc
.
2012-04-05 10:34:50 -07:00
John Benediktsson
b240519bff
math.functions: simpler without "simple-gcd".
2012-04-05 10:31:46 -07:00
John Benediktsson
b2ffda32ca
math: adding a fast-gcd that speeds up all ratio operations by up to 10 times for bignum ratios.
2012-04-05 09:17:52 -07:00
John Benediktsson
57231bfef4
math.statistics: change 'var' to 'sample-var' and implement variance, covariance, and correlation.
2012-04-02 17:12:32 -07:00
John Benediktsson
4f046a2339
math.vectors: separate "dot product" from "Hermitian inner product". Fixes #484 .
2012-03-29 10:56:39 -07:00
John Benediktsson
7a07e8742c
math.combinatorics: fix tests for next-permutation.
2012-03-02 10:05:57 -08:00
John Benediktsson
7bb807d441
math.combinatorics: fix docs for next-permutation.
2012-03-02 09:55:22 -08:00
John Benediktsson
8d56193edd
math.combinatorics: implementing "next-permutation".
2012-03-02 09:54:35 -08:00
John Benediktsson
de74b98278
math.vectors: fix some $examples in docs.
2011-12-29 17:31:55 -08:00
Joe Groff
aa1ad21d72
fix help-lint failures
2011-12-14 11:33:17 -08:00
Joe Groff
fe767253a1
math.vectors: add higher-order stack effect to vif
2011-12-13 19:46:44 -08:00
Joe Groff
3deae96995
math.vectors.simd.intrinsics: fix deploy bug
...
If not called with a known-at-compile-time SIMD type, the intrinsic definitions were leaving behind runtime quotations that referenced the c-array words after c-type information had been stripped, causing deployed applications that used SIMD to fail.
2011-12-07 12:47:38 -08:00
Doug Coleman
abc953ecea
help-lint fixes for recent changes
2011-12-07 12:26:35 -08:00
Joe Groff
8cb78d5bd2
math.complex: pass tests even if number-base set
2011-11-26 17:46:38 -08:00
Joe Groff
943596575a
use radix literals
2011-11-23 19:03:40 -08:00
Joe Groff
54dcd8a4ea
math.vectors.simd: don't try distance on int types
...
"v- norm" doesn't work right for uint-4s because of underflow, but who's going to call "distance" on a uint vector?
2011-11-13 16:10:27 -08:00
Joe Groff
dd8bb5b673
math.vectors.simd: unencrypt check-optimizer
...
And make it report real information about what values were tested and how they failed
2011-11-13 16:10:27 -08:00
Joe Groff
248066c710
code beautification
2011-11-13 16:10:26 -08:00
Joe Groff
a10fa68218
math.vectors.simd: add vcount to the tests
...
Also add a base case to (approx=) for integer returns. vcount returns an integer even for float vector inputs, but the test machinery isn't smart enough to figure that out and uses (approx=) on the outputs anyway.
2011-11-13 16:10:26 -08:00
Joe Groff
32b7dc116f
math.vectors.simd.intrinsics: fix double-2 vcount
...
Turns out we use MOVMSKPS for double vectors too. Gotta save that extra instruction byte!
2011-11-13 16:10:25 -08:00
Joe Groff
dd8dda4f48
math.vectors.simd: make vcount work for all ints
2011-11-13 16:10:23 -08:00
Joe Groff
5411a67b22
math.vectors.simd.intrinsics: better fake vgetmask
...
More accurate simulacrum of PMOVMSKB/MOVMSKPS/MOVMSKPD for non-intrinsic definition
2011-11-13 16:10:22 -08:00
Joe Groff
da81cb9035
math.bitwise: don't count the same bits over&over
2011-11-13 16:10:22 -08:00
Joe Groff
706c9ee3b9
math.bitwise: hotrod nonintrinsic fixnum-bit-count
2011-11-13 16:10:21 -08:00
Joe Groff
d79b462f75
compiler: add intrinsic for PMOVMSKB/MOVMSKP[SD]
...
Combined with a fast bit-count this will let us rice byte-counting.
2011-11-13 16:10:20 -08:00
Doug Coleman
60f928ddbf
math.functions: flushable and foldable don't do anything on inline words because flushable and foldable work on call sites (#call nodes), and inlined words are inlined into another word's call site; they don't generate their own #call node.
2011-11-06 19:25:53 -08:00
Doug Coleman
c731dc6edb
Rename lookup to lookup-word.
2011-11-06 16:00:00 -08:00
Joe Groff
8cf18d1a82
remove BSD,solaris,etc. misc platform support code
2011-11-02 17:13:51 -07:00
Joe Groff
38a5184fdf
math.statistics: fix stack effect on collect-by
2011-11-02 13:23:13 -07:00
Doug Coleman
94db86a6db
Make "foo.private" require load foo instead.
...
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201 .
2011-11-02 11:50:03 -07:00
Slava Pestov
b31ffdfcb4
math.vectors.simd: vlshift, vrshift, hlshift and hrshift were being miscompiled if the shift count was a bignum. Fixes #264
2011-10-30 21:50:17 -07:00
Doug Coleman
51c033a1f6
Fix all failures in the linux64 build email
2011-10-24 19:33:09 -07:00
John Benediktsson
fb2aab3545
Remove unused words. Fixes #132 .
2011-10-19 11:01:16 -07:00
John Benediktsson
80e1c8e3f2
Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed.
2011-10-18 13:19:39 -07:00
John Benediktsson
cf54ce8e42
math.functions: when gcd is inlined, "gcd nip" is almost as good as "gcd*".
2011-10-18 10:30:39 -07:00
John Benediktsson
38a54cb8df
math.functions: improve stack effect names for gcd*.
2011-10-17 20:37:36 -07:00
John Benediktsson
ac98269f53
math.functions: faster gcd means faster ratios.
2011-10-17 20:36:28 -07:00
John Benediktsson
81714b8dc3
More lint cleanups.
2011-10-16 19:33:16 -07:00
John Benediktsson
6f1c44b46d
Cleanup some lint warnings.
2011-10-15 19:19:44 -07:00
John Benediktsson
cc49bbfb27
math.bitwise: bits is clearer this way.
2011-10-14 13:54:08 -07:00
Doug Coleman
181f11faa8
Make M\ throw an error upon lookup failure. Change method -> ?lookup-method, lookup-method is the throwing version of ?lookup-method. Fixes #229 .
2011-10-03 15:49:49 -07:00
Doug Coleman
f4da6f366c
Make histogram example unchecked since hashtables print differently now that hashcodes are more optimized
2011-10-02 22:21:12 -07:00
John Benediktsson
3b72b641e0
Fix help-lint errors for recent hashtable changes.
2011-10-02 17:49:11 -07:00
Doug Coleman
76580da5d5
Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.
...
CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes #183 .
Fixes #209 .
2011-09-29 11:28:28 -07:00
John Benediktsson
4f42c72012
specialized-arrays: performed some cleanup.
...
Specifically,
• Created >c-array to be replacement for >T-array.
• Created cast-array to be generic replacement for all T-array-cast words.
• Created c-array@ to be generic replacement for T-array@ words.
• Replaced usages of <T-array> with T <c-array>
• Replaced usages of <direct-T-array> with T <c-direct-array>
• Replaced usages of >T-array with T >c-array
• Replaced usages of T-array-cast with T cast-array
• Replaced usages of malloc-T-array with T malloc-array.
• Removed malloc-T-array.
• Removed T-array-cast.
• Removed T-array@.
• Removed >T-array.
I also added (but didn't change any code to use):
• T c-array-type, returns T-array
• T c-array?, returns T-array?
• c-array{ T ... }, returns T-array{ ... }
Bootstraps just find on Mac OS X. Also `load-all test-all` works for me.
2011-09-26 11:37:51 -07:00
Joe Groff
81b12adcad
math.blas, alien.fortran: move to unmaintained cuz I'm getting too old for this shit. closes #171
2011-09-24 20:59:21 -07:00
Joe Groff
954bf89c40
math.functions: clean up some more to trim back load-time dependencies; alter tests to avoid inexact float constants where possible and hex-ify inexact constants otherwise
2011-09-22 16:04:49 -07:00
John Benediktsson
96c710a7b7
math.functions: inline 'on-bits' per Joe Groff's suggestion.
2011-09-22 13:44:30 -07:00
John Benediktsson
aa880f46ca
math.functions: rename 'bignum-log-helper'.
2011-09-22 12:38:33 -07:00
John Benediktsson
820b54d0f7
math.functions: duplicate on-bits to avoid circular dependency on math.bitwise.
2011-09-22 12:23:16 -07:00
John Benediktsson
90dbb84663
math.functions: test log with negative (really) bignums.
2011-09-22 11:15:06 -07:00
John Benediktsson
7f4604318a
math.functions: add forgotten imports and fix between? check.
2011-09-22 10:00:22 -07:00
John Benediktsson
077ef8ed5b
math.functions: implement "frexp" and support log of really big numbers. Fixes #160 .
2011-09-22 09:42:28 -07:00
Doug Coleman
eedc1e185f
Add more unit-tests and docs for math.bitwise. Fix a bug with >signed so that it truncates a number to however many bits you tell it the number is before doing the calculation.
2011-09-21 14:55:50 -05:00