Commit Graph

865 Commits (f06bfef276ea07ff6208d341f8996406cd6bf92a)

Author SHA1 Message Date
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