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
John Benediktsson
b653360299
math.primes.safe: fix docs.
2011-09-12 10:56:39 -07:00
Joe Groff
003271f2b8
math.statistics: declare polymorphic effects on sequence>* combinators now that #88 is fixed
2011-09-09 18:13:17 -07:00
Joe Groff
c57c26b3be
math.statistics: add higher-order stack effect annotations to sequence>* words; factor out a "histogram-by" word from "histogram" that takes an additional binning quotation
2011-09-08 19:07:33 -07:00
John Benediktsson
9f34c9c676
Spelling fixes to documentation.
2011-08-26 16:20:31 -07:00
Joe Groff
efe79cf6d3
math.functions: make sure zero zero ^ is always nan, regardless of the type of zero
2011-08-01 10:26:53 -07:00
Joe Groff
40c45e08ca
Merge remote branch 'erikc/master'
2011-06-13 11:28:02 -07:00
Joe Groff
b6cf76b547
Merge branch 'master' of factorcode.org:/git/factor
2011-06-07 09:44:35 -07:00
Joe Groff
e4b1417dd2
math.functions: fix documentation for 10^
2011-06-06 16:27:56 -07:00
Erik Charlebois
64252dbdbc
32 and 64 bit Linux PPC support
2011-05-23 23:36:14 -04:00
Erik Charlebois
305dcf1551
Use .factor-rc etc on Windows too, files can begin with dots just fine
2011-05-23 23:36:13 -04:00
Samuel Tardieu
23fe76160a
Add math.primes:nprimes
2011-05-20 12:38:27 +02:00
Slava Pestov
d58555d6f5
Merge branch 'cleanup' of git://github.com/mrjbq7/factor
2011-05-06 20:27:59 -07:00
John Benediktsson
1778757fa2
Update references to "1 tail" to use "rest".
2011-05-03 20:50:23 -07:00
John Benediktsson
eb6c986cd6
Merge branch 'master' into sorting
...
Conflicts:
basis/heaps/heaps-tests.factor
2011-04-12 18:09:36 -07:00
Doug Coleman
7aa7b08d42
Change how sequence>assoc and friends work. Now they take two quotations, the first of which prepares the key/value pair and the second insert it into the assoc. mrjbq7's group-by, formerly collect-values, is now called collect-by.
2011-04-09 23:51:14 -05:00
John Benediktsson
d58bc08aa0
Update code that did ">alist sort-" to just "sort-".
2011-04-07 09:01:21 -07:00
Doug Coleman
979e487fef
Merge branch 'master' of git://factorcode.org/git/factor
2011-02-26 11:44:50 -06:00
Keita Haga
5a71a0d671
math.combinatorics: fix typo in docs
2011-02-20 03:08:01 +09:00
Doug Coleman
fd7e5ffee8
More efficient polyval algorithm in math.polynomials
2011-02-12 22:41:13 -06:00
Keita Haga
073eda332a
In several documentation, remove whitespace before or after the colon or period
2011-02-10 01:51:13 +09:00
Keita Haga
5043611252
math.polynomials: fix typo in description of pextend-conv word
2011-01-18 23:35:52 +09:00
Keita Haga
cb06cba857
math.statistics: in some words, interchanging the positions of the $examples and a $description
2011-01-18 23:20:06 +09:00
Keita Haga
8b1fbbf3b7
math.statistics: fix a few typos in docs
2011-01-18 22:32:45 +09:00
Keita Haga
e8ce62c64e
math.intervals: fix some typos in docs
2011-01-18 21:18:35 +09:00
Keita Haga
8d2ceda8f3
assocs, math.bitwise: remove first blank line and useless whitespace in a few usage examples
2011-01-17 00:12:28 +09:00
Keita Haga
92b9b92f38
math.libm: add missing right parenthesis in description of fexp word
2011-01-16 10:48:06 +09:00
Jon Harper
f60f13c675
math.primes.erato doc fixes.
2010-11-02 17:34:28 +01:00
Rupert Swarbrick
cd28c7a219
math.primes.erato: Fix off-by-one error
...
The sieve bit vector deals with numbers in chunks of 30. Therefore,
the number 90 (say) is the 91st 'element' of the vector. Each byte
deals with some range {0,1,...,29}+30n so to have the number 90, you
need four bytes.
Rather pleasingly, I bumped into this bug and it reduced to the
incantation:
2010 2010 sieve marked-prime?
2010-11-02 17:34:24 +01:00
Doug Coleman
67c37591ca
Remove <uint> *uint and friends. Hopefully remove the last usages of these words
2010-10-25 15:54:42 -05:00
Slava Pestov
ee1520f683
math.primes.erato: fix typo in docs
2010-10-22 18:26:08 -07:00
Slava Pestov
04be762fac
math.rectangles: add infinite recursion check in case somebody does something stupid
2010-09-16 21:27:18 -07:00
Slava Pestov
1818bcb780
Fix three problems discovered by running math.floats.env tests in a loop:
...
- Crash if allocating error triggers a GC from a signal/SEH handler
- Crash if GC runs with floating point traps enabled on Windows
- Floating point traps didn't prettyprint properly
2010-09-02 22:57:14 -05:00
Slava Pestov
720d634388
math.floats.env.x86: make sure the x87 stack is cleared after the overflow test, otherwise random things screw up later
2010-08-28 12:01:09 -05:00
Slava Pestov
6e0cb74b13
math.vectors.simd: docs mention obsolete 'test-mr mr.' words
2010-08-20 18:00:03 -07:00
Slava Pestov
1985705413
compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths
2010-08-13 23:59:19 -07:00
Joe Groff
7384793287
math.floats.env.x86: more direct test for stack fault detection
2010-08-13 22:20:16 -07:00
John Benediktsson
ae17190909
math.combinatorics: Fixing selections bug with nested sequences.
2010-08-13 14:34:14 -07:00
Joe Groff
8347a9ead8
math.floats.env: detect +fp-x87-stack-fault+ during collect-fp-exceptions block
2010-08-12 23:23:00 -07:00
Slava Pestov
42b858b3f0
math.libm: fix regression: fsqrt intrinsic was not working ever since change was made to inline FUNCTION: bodies
2010-08-12 21:41:57 -07:00
Jon Harper
4fcdb2fbd5
divisors returns empty list for 0
...
This is mainly for consistency with other words
(factors, group-factors, unique-factors)
2010-08-09 22:54:35 -07:00
Slava Pestov
68da8c48d5
Merge branch 'master' of http://github.com/mrjbq7/factor
2010-07-26 15:10:50 -04:00
John Benediktsson
f1eb6a9d6e
math.combinatorics: improve all-subsets and selections words.
2010-07-26 08:12:36 -07:00