Slava Pestov
b03eaf3c32
math: minor doc fixes
2009-09-15 15:42:46 -05:00
Slava Pestov
4f702de449
math.functions: more accurate log10 (fixes problem reported by OneEyed)
2009-09-14 16:19:58 -05:00
Joe Groff
77f0fbf497
missed a few PPC status bits that needed clearing
2009-09-14 15:17:36 -05:00
Joe Groff
2fdb16060b
vm-error>exception-flags word to extract exception flag information from a trap exception
2009-09-14 14:10:51 -05:00
Slava Pestov
0cadfcd7eb
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-14 02:39:24 -05:00
Slava Pestov
c4f3a42269
math.floats.env: Fix linux x86.64 some more
2009-09-14 02:39:12 -05:00
Joe Groff
8fe9bf5429
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-13 23:40:58 -05:00
Joe Groff
fb43ae2daf
save the FP status out of the signal context and use it as part of the fp trap factor exception. clear the FP status before continuing after an exception
2009-09-13 23:39:12 -05:00
Slava Pestov
05b51d2739
math.floats.env: modify tests to take buggy Linux/x86-64 pow() into account
2009-09-13 23:26:09 -05:00
Slava Pestov
abedea0ccb
math.functions: loosen tests up a bit since exp(1) on FreeBSD x86/64 differs from e in the last bit
2009-09-13 22:33:12 -05:00
Slava Pestov
3ab6dbac22
math.floats.env: fix compiled trap unit tests
2009-09-13 18:22:49 -05:00
Slava Pestov
d14f227905
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-13 00:09:09 -05:00
Slava Pestov
3a61107f1d
typos in altivec env
2009-09-12 22:30:11 -05:00
Slava Pestov
32b95c2cdf
math: add unordered comparison operators u< u<= u> u>= which behave exactly like < <= > >= except no floating point exceptions are set if one or both inputs are NaNs; also add efficient intrinsic for unordered? predicate, and fix propagation type functions for abs, absq, and bitnot
2009-09-12 22:20:13 -05:00
Joe Groff
53e23de104
set altivec denormal flag when with-denormal-mode is used
2009-09-12 20:39:41 -05:00
Joe Groff
54162af3fe
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-12 19:45:47 -05:00
Joe Groff
6d328be69b
all-fp-exceptions constant
2009-09-12 18:13:25 -05:00
Slava Pestov
1337f82ce6
math.order: better docs
2009-09-12 16:33:42 -05:00
Slava Pestov
51dd22b119
math.floats.env.ppc: fix ppc-fp-traps>bit
2009-09-12 12:57:15 -05:00
Slava Pestov
d5206b26ec
math.floats.env.ppc: fix ppc-fp-traps-bits
2009-09-12 12:49:51 -05:00
Joe Groff
d4ee121750
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-12 09:04:53 -05:00
Joe Groff
df4d1f8dd2
typos in math.floats.env.ppc
2009-09-12 09:03:27 -05:00
Slava Pestov
b61ff44b66
math.vectors.simd: don't run x86-specific tests on PPC
2009-09-11 21:38:40 -05:00
Joe Groff
1be4c3a6a7
typo
2009-09-11 20:31:06 -05:00
Joe Groff
ffcc630601
log1+ word (maps to C99 log1p function)
2009-09-11 20:28:15 -05:00
Slava Pestov
dfb07601fa
Merge branch 'for-slava' of git://git.rfc1149.net/factor
2009-09-10 13:15:18 -05:00
Joe Groff
bda5963c62
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-09 23:38:01 -05:00
Joe Groff
61851fcd7a
take the union of the x87 and sse exception flags when reporting fp-exception-flags. add back the unit tests i took out since this should fix the problem
2009-09-09 23:37:48 -05:00
Slava Pestov
7f2e2b1777
Specialized array overhaul
...
- Replace hand-written specialized-arrays.* subvocabularies with new system; instead of USE:ing specialized-arrays.T, do SPECIALIZED-ARRAY: T
- Ditto for specialized-vectors; use SPECIALIZED-VECTOR:
- io.mmap.functor: removed entirely, use <mapped-array> instead
- struct-arrays and struct-vectors have been removed because specialized arrays and vectors subsume them entirely
2009-09-09 22:33:34 -05:00
Joe Groff
3d49cc5a0d
change math.floats.env tests not to use any libm functions, which don't reliably set the right hardware exceptions on linux glibc
2009-09-09 18:00:38 -05:00
Joe Groff
01b5430fbf
make math.floats.env backends unportable
2009-09-09 17:32:26 -05:00
Samuel Tardieu
d23286a9ef
Do not repeat sanity tests at each iteration
2009-09-09 21:35:24 +02:00
Joe Groff
1c62a978d0
add some tests to help track down leaks in FP state changes
2009-09-08 23:07:33 -05:00
Slava Pestov
74fa73aeaf
Fix various test failures
2009-09-08 19:18:56 -05:00
Slava Pestov
c52ffebffe
math.rectangles.positioning: don't position popups off-screen
2009-09-08 16:23:02 -05:00
Joe Groff
1fcc0875ba
update math.floats.env.x86 for sse detection change
2009-09-08 15:47:03 -05:00
Joe Groff
2ad9459b85
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-08 15:37:32 -05:00
Joe Groff
0ec342a1c5
factor out x86 and ppc backends for math.floats.env; update both x87 and SSE state on x86
2009-09-08 15:36:53 -05:00
Slava Pestov
d596e3abe7
math.vectors.simd: fix help rendering
2009-09-08 14:49:27 -05:00
Slava Pestov
82a8ef7beb
math.vectors.simd: remove useless dependency
2009-09-08 13:55:56 -05:00
Slava Pestov
aa4307765b
Merge branch 'master' into simd
2009-09-08 13:38:14 -05:00
Slava Pestov
f5536bdde0
math.vectors.specialization: specialized vector words are now subwords of the generic vector word. This ensures that specializations get compiled correctly in all cases
2009-09-08 13:37:25 -05:00
Slava Pestov
c707ba5d61
Merge branch 'for-slava' of git://git.rfc1149.net/factor
2009-09-08 13:09:27 -05:00
Slava Pestov
0c936c14ca
Merge branch 'for-slava' of git://git.rfc1149.net/factor into simd
2009-09-08 13:02:00 -05:00
Slava Pestov
38c961cf6f
Fixes
2009-09-08 00:13:18 -05:00
Slava Pestov
bbca00e2ae
Fix conflicts
2009-09-07 23:51:25 -05:00
Joe Groff
e3509e7f11
tighten up math.floats.env docs
2009-09-07 10:50:40 -05:00
Joe Groff
25b45d6af0
test fp traps
2009-09-06 09:04:46 -05:00
Joe Groff
e705470d42
make public words for querying current rounding mode, denormal mode, and trap set
2009-09-06 08:50:54 -05:00
Joe Groff
96db254311
unit tests for math.floats.env
2009-09-06 07:50:56 -05:00
Joe Groff
36ec53a968
math.floats.env vocab with words to control the floating-point environment
...
add some functions to the VM to grab and set the fpu control register
2009-09-05 19:48:13 -05:00
Slava Pestov
a054ec3d64
specialized-arrays.direct is no more; instead, every specialized-array.<foo> vocabulary has a <direct-T-array> constructor
2009-09-04 22:01:55 -05:00
Slava Pestov
e11d1e37f5
math.vectors.simd: allow punning SIMD vectors between types
2009-09-04 02:35:58 -05:00
Slava Pestov
6494e7a53b
math.vectors.simd: slightly faster 'sum' on 256-bit vectors: add the two components then do horizontal add, instead of doing a horizontal add on each one and adding the results
2009-09-04 02:23:25 -05:00
Slava Pestov
1fc809b643
math.vectors.simd: docs
2009-09-04 01:22:18 -05:00
Slava Pestov
6b5e40b2fc
functors: support private words with DEFINES-PRIVATE; use this to make some words generated by math.vectors.simd.functor private
2009-09-04 01:21:59 -05:00
Slava Pestov
55c449c6e2
math.vectors.simd: define fallbacks for all vector constructors so that code can still work even if SIMD is not available
2009-09-03 21:37:55 -05:00
Slava Pestov
4d5a4222b6
More SIMD work
...
- Rename SIMD types and register representations: <type>-<count> rather than <count><type>-array
- Make a functor to define 256-bit vector types, use it to define float-8 type
- Make SIMD instructions pure-insns so that they participate in value numbering
2009-09-03 20:58:56 -05:00
Slava Pestov
bf81cb4259
math.vectors.simd: split off intrinsics into a sub-vocabulary, to avoid loading most of the SIMD code on bootstrap
2009-09-03 03:43:43 -05:00
Slava Pestov
906a0d212a
Detect SSE version and enable the correct set of SIMD intrinsics
2009-09-03 03:28:38 -05:00
Slava Pestov
ff8c70dbe0
Initial implementation of SSE vector intrinsics:
...
- cpu.architecture: add SSE vector representations
- compiler.cfg.intrinsics.alien: remove an attempt at optimization that value numbering handles now
- compiler.cfg.representations: support instructions where the representation is set in the 'rep' slot, and support conversions between single and double floats
- alien-float, set-alien-float now use the single float representation, and the conversion is implicit; this fixes a long-standing bug where a register could get clobbered because of how %set-alien-float was defined on x86
- math.vectors.specialization: add support for SIMD specialization (where the vector word's body is replaced by another quotation), also specialize the 'sum' word
- math.vectors.simd: 4float-array, 2double-array, 4double-array types, and specializers for the math.vectors words
2009-09-03 02:33:07 -05:00
Slava Pestov
e86a76a7d8
math.constants: add single float epsilon value
2009-09-03 02:23:22 -05:00
Samuel Tardieu
21a89bab0e
Make "divisors" work with 1 as well
2009-09-02 12:07:23 +02:00
Joe Groff
ccb27f81ea
update math.blas for <c-array> change
2009-08-30 22:37:58 -05:00
Slava Pestov
ec70e1d714
More minor documentation tweaks
2009-08-30 06:32:20 -05:00
Slava Pestov
7983b5515f
math.functions: some fixes
2009-08-30 06:19:14 -05:00
Slava Pestov
0db01f6d5f
compiler.cfg.linear-scan now supports partial sync-points where all registers are spilled; taking advantage of this, there are new trigonometric intrinsics which yield a 2x performance boost on benchmark.struct-arrays and a 25% boost on benchmark.partial-sums
2009-08-30 04:52:01 -05:00
Marc Fauconneau
2d4ba8de4d
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-30 17:31:30 +09:00
Marc Fauconneau
bf15648b4d
Merge branch 'master' of git@github.com:prunedtree/factor
...
Conflicts:
basis/math/matrices/matrices.factor
2009-08-30 17:24:25 +09:00
Samuel Tardieu
e5897d52b2
Ensure that random-prime result has the right size
...
As noted by Slava, choosing the next prime following a random number
with a specified number of bits may give a number one more bit long.
2009-08-29 21:42:15 +02:00
Slava Pestov
2bb6293217
compiler: add fixnum-min/max intrinsics; ~10% speedup on benchmark.yuv-to-rgb
2009-08-28 19:02:59 -05:00
Slava Pestov
d957ae4e44
Performance improvements to make struct-arrays benchmark faster
...
- improved optimization of ##unbox-any-c-ptr on ##box-displaced-alien; convert it to ##unbox-c-ptr where possible using class info stored in the ##bda instruction
- make fcos, fsin, etc inline again; everything in math.libm inline again, except for fsqrt which is an intrinsic
- convert min and max on floats to float-min and float-max
- make min and max not inline, so that the above can work
- struct-arrays: rice a bit so that more fixnums come up
2009-08-28 05:21:16 -05:00
Slava Pestov
0df8aadce2
cpu.x86: use SQRTSD instruction for math.libm:fsqrt word
2009-08-25 23:22:15 -05:00
Slava Pestov
f82627e736
math.intervals: comment out questionable unit tests
2009-08-22 19:39:32 -05:00
Slava Pestov
81b72cb5c5
Add some unit tests
2009-08-22 17:15:10 -05:00
Slava Pestov
770429a629
math.intervals: help lint fix
2009-08-19 16:08:52 -05:00
Slava Pestov
2bc38bf019
math.intervals: tighter interval arithmetic for intervals with infinities
2009-08-19 02:32:18 -05:00
Slava Pestov
030b1b816c
Add inline declarations for various assorted methods
2009-08-17 22:32:21 -05:00
Doug Coleman
7c92ab1ea5
move if-zero etc to math, remove 1-/1+ from math
2009-08-14 14:27:23 -05:00
Doug Coleman
3f3d57032b
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring
2009-08-13 19:21:44 -05:00
Slava Pestov
0df4436711
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-12 03:26:13 -05:00
Slava Pestov
4ecf5a904a
More accurate wrap-interval in compiler.tree.propagation.info fixes test regression; constructing an interval with endpoints at infinity now outputs full-interval
2009-08-12 03:25:53 -05:00
Doug Coleman
14e8abd563
even better error handling for division by zero
2009-08-11 22:30:16 -05:00
Doug Coleman
02becc26fc
add docs for if-zero etc, add docs for 10^
2009-08-11 18:45:01 -05:00
Doug Coleman
c12d6fe543
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-11 18:16:30 -05:00
Doug Coleman
4a3d63e00a
use if-zero in a few more places
2009-08-11 18:15:53 -05:00
Doug Coleman
4fef246ca4
add 10^ to math.functions and update usages
2009-08-11 18:00:24 -05:00
Slava Pestov
7bfbb0c5ac
math.intervals: fix interval-rem
2009-08-11 16:49:28 -05:00
Slava Pestov
7e35723db0
compiler.tree.propagation: be more careful with intervals, ensuring that the inferred interval of a value is a subset of the value class's interval. This improves accuracy, for example [ >fixnum 1 + >fixnum most-positive-fixnum <= ] constant-folds to true
2009-08-10 01:16:49 -05:00
Slava Pestov
d19c403fee
alien.structs: struct-type now has a class slot; fix specialized complex-float/double arrays
2009-08-09 16:10:11 -05:00
Slava Pestov
1cb0f3370b
math.vectors.specialization: first attempt at some call site splitting for vector ops. Specialized array types generate customized variants of all vector words, if input types are known at compile time, a call to the specialized version is inserted
2009-08-09 03:07:33 -05:00
Slava Pestov
e400d80d8b
More accurate interval inference for mod, rem, and propagation can now infer intervals in the case where a value might be f. so, [ [ 127 bitand ] [ drop f ] if dup [ 0 >= ] [ not ] if ] now constant-folds down to 't'!
2009-08-08 23:03:45 -05:00
Slava Pestov
61ea749bb6
More accurate interval-mod and interval-rem
2009-08-08 22:01:12 -05:00
Doug Coleman
78bbf96a6d
move signed-le> to io.binary, clean up using list for math.bitwise
2009-07-23 15:54:57 -05:00
Joe Groff
809b40d497
preserve sequence type in math.matrices:cross
2009-07-07 16:26:50 -05:00
Joe Groff
96ec54106b
for the FPS classicists... skew matrix constructor
2009-07-04 19:13:31 -05:00
Joe Groff
e39f454aa5
common 3d matrix constructors
2009-07-02 19:05:24 -05:00
Slava Pestov
612e4b99b0
compiler.cfg.linear-scan.assignment: insert-copy did the wrong thing if the second interval had been split. Fixes compilation of 'trilerp'
2009-06-30 21:07:39 -05:00
Samuel Tardieu
4d5392fe56
Add divisors to math.primes.factors
2009-06-29 16:56:00 +02:00
Samuel Tardieu
094c82c50b
Short circuit trivial composites
2009-06-24 15:53:50 +02:00
Samuel Tardieu
50191588e4
Get rid of vector reallocation by preallocating it
2009-06-24 15:53:46 +02:00
Samuel Tardieu
29b5a1dff5
Add extra tests for math.primes
2009-06-24 13:15:13 +02:00
Samuel Tardieu
41d804ddbd
Pack primes numbers by slices of 30
...
In any given 30 successive integers greater than 5, there are at most
8 prime numbers. Use this to tightly pack the result of the Eratostene
sieve. This lets us store more prime numbers than before in less space.
2009-06-24 13:15:12 +02:00
Joe Groff
037ed45339
give range models a step parameter; use it on sliders so the thumb can step by any interval
2009-06-18 20:57:02 -05:00
Joe Groff
76b3e5fea2
win32 support for window-controls
2009-06-18 11:41:34 -05:00
prunedtree
9ffbf32c6f
unit test for m^n
2009-06-12 01:35:25 -07:00
prunedtree
b426f28738
make m^n private
2009-06-12 01:29:34 -07:00
Doug Coleman
6a67f02f69
fix load error
2009-06-12 02:43:05 -05:00
Doug Coleman
7134236e46
Merge branch 'master' of git://github.com/prunedtree/factor
...
Conflicts:
basis/compression/inflate/inflate.factor
basis/math/matrices/matrices.factor
2009-06-12 02:33:49 -05:00
Joe Groff
a2640672d7
«0.0 1.0 ^» was returning 0 instead of 0.0
2009-06-11 17:47:52 -05:00
Doug Coleman
989cb7d5df
better implementation of zero-matrix
2009-06-07 20:12:18 -04:00
prunedtree
1c89045f0e
m^n binary exponentiation of matrices
2009-06-04 20:42:29 -07:00
Daniel Ehrenberg
52017e22f3
unbits word in math.bits vocab
2009-06-01 22:39:02 -05:00
Slava Pestov
e38e805015
math.functions: fix ^ for complex numbers
2009-05-31 23:28:29 -05:00
Doug Coleman
16b288aac8
remove whitespace
2009-05-25 21:25:56 -05:00
Doug Coleman
0cb7b408b4
remove clamp-to-range and associated words, update jamshred
2009-05-25 21:24:12 -05:00
Doug Coleman
407377fc98
rename peek -> last and update all usages
2009-05-25 16:38:33 -05:00
Doug Coleman
a54c78007b
add a clamp word to math.order, use clamp word throughout libraries
2009-05-24 21:35:50 -05:00
Doug Coleman
86a1b06034
add a mode word
2009-05-24 15:45:25 -05:00
Joe Groff
9685aea6fe
homogeneous coordinates coated in nurbsauce
2009-05-21 20:55:44 -05:00
Joe Groff
b73c8a0619
vector bilerp word
2009-05-20 10:26:55 -05:00
Doug Coleman
c045823182
remove old median, fix docs
2009-05-18 02:41:58 -05:00
Doug Coleman
54cb1b9686
median used the wrong algorithm. now it runs in O(n) time. add kth-smallest word, used to implement median
2009-05-18 02:16:03 -05:00
Slava Pestov
66a9416473
Update documentation for stricter vocabulary search path semantics
2009-05-16 00:29:21 -05:00
Doug Coleman
23e3c55d2f
dont load safe primes in miller rabin tests
2009-05-10 14:08:03 -05:00
Doug Coleman
e946777fbb
link to prime tests from prime docs
2009-05-10 14:01:21 -05:00
Doug Coleman
bfb3507456
make a new vocabulary for safe primes
2009-05-10 13:49:40 -05:00
Doug Coleman
8f51f87a8f
more docs for math.primes, move words out of miller-rabin
2009-05-10 13:47:51 -05:00
Doug Coleman
18add4b769
add next-odd etc to math.bitwise
2009-05-10 13:42:41 -05:00
Doug Coleman
0801dbc694
add lucas-lehmer primality test
2009-05-10 12:59:35 -05:00
Doug Coleman
79265b50d9
update usages of miller-rabin
2009-05-10 12:24:43 -05:00
Doug Coleman
6b1f60f550
move math.miller-rabin to math.primes.miller-rabin
2009-05-10 12:24:19 -05:00
Doug Coleman
61fdb6f435
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-10 12:19:39 -05:00
Joe Groff
946602b8d7
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-10 10:44:10 -05:00
Joe Groff
d90bb0f336
cut perlin-noise time in half
2009-05-10 10:41:50 -05:00
Slava Pestov
cda3685c4d
Eliminate prettyprinter dependency from UI
2009-05-09 20:24:17 -05:00
Doug Coleman
3be7034b5e
64-bit add/subtract/multiply
2009-05-09 13:54:42 -05:00
Joe Groff
dd9af334a9
send bilerp upstream to spawn
2009-05-09 11:43:04 -05:00
Slava Pestov
ea85f298d1
math.combinatorics: fix unit test and help lint
2009-05-08 18:00:53 -05:00
Slava Pestov
5cbaa1d4fd
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-08 16:27:36 -05:00
Joe Groff
cc05a90900
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-08 13:13:00 -07:00
Joe Groff
9992817c65
input grabbing support
2009-05-08 15:07:15 -05:00
Aaron Schaefer
d5a028c507
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
basis/math/miller-rabin/miller-rabin.factor
2009-05-07 22:20:53 -04:00
Slava Pestov
5099046f9f
math.miller-rabin: make some utilities not private since math.primes uses them
2009-05-07 20:52:16 -05:00
Aaron Schaefer
f465a013d7
Speed up best-hands a bit using reduce and add a test
2009-05-07 21:23:58 -04:00
Aaron Schaefer
7f6998a815
Make next-odd public again as it's used elsewhere
2009-05-07 18:33:55 -04:00
Aaron Schaefer
f0ceb33906
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-07 16:44:15 -04:00
Doug Coleman
605068df93
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-07 13:09:45 -05:00
Slava Pestov
d7b40d72a0
Code cleanups
2009-05-07 12:33:31 -05:00
Aaron Schaefer
83e7516666
Use iota where necessary in tests
2009-05-06 21:31:37 -04:00
Aaron Schaefer
b84a3158fa
Add docs for combination words
2009-05-06 21:27:04 -04:00
Aaron Schaefer
78037d8d05
Use binary-search instead of find-last for combinations
2009-05-06 20:46:41 -04:00
Aaron Schaefer
678f603aa5
Clean up combinations a bit
2009-05-06 20:18:21 -04:00
Aaron Schaefer
c9b97f3f92
Add tests for combinations
2009-05-06 19:33:58 -04:00
Doug Coleman
6a19cae302
Document miller-rabin, more unit tests for some corner cases
2009-05-06 16:26:06 -05:00
Doug Coleman
8b4815c01e
fix miller-rabin
2009-05-06 14:10:29 -05:00
Joe Groff
4cb6ecbc3c
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-06 13:23:05 -05:00
Joe Groff
fdab677ef5
add 2pi constant
2009-05-06 12:38:14 -05:00
Joe Groff
2bb7b287f7
make ^n foldable
2009-05-06 12:36:34 -05:00
Doug Coleman
75a71c0bd9
fix miller-rabin, safe primes
2009-05-06 12:21:30 -05:00
Doug Coleman
5a4270f777
fix miller-rabin, it's correct but a little ugly still. bed time
2009-05-06 00:54:14 -05:00
Aaron Schaefer
eaeda30bb1
Combinations now map to input sequences directly
2009-05-06 01:17:35 -04:00
Doug Coleman
d168f76ab0
remove 1-, 1+, use iota somewhere
2009-05-05 23:32:23 -05:00
Doug Coleman
ffbd19faba
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-05 23:26:58 -05:00
Doug Coleman
3e16463f28
_finally_ cleaned up miller-rabin. it's passable now
2009-05-05 23:25:26 -05:00
Joe Groff
4b64d9a5e5
more vector operations; perlin noise vocab
2009-05-05 22:17:04 -05:00
Aaron Schaefer
71022f9940
Add combination support to math.combinatorics
2009-05-05 22:43:07 -04:00
Joe Groff
ec1918aaa8
Merge branch 'master' of /cygdrive/z/Documents/Code/others/factor
2009-05-05 18:40:08 -07:00
Slava Pestov
4ee5815843
math.polynomials: use <repetition> instead of <array>
2009-05-05 18:34:52 -05:00
Joe Groff
2a00f10d1a
lerp functions
2009-05-05 13:55:00 -05:00
Joe Groff
49674dc8ad
Merge branch 'master' of git://factorcode.org/git/factor
2009-04-30 21:36:54 -05:00
Slava Pestov
fc4894fbdf
Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags
2009-04-30 00:27:35 -05:00
Joe Groff
c3b63821b9
literal syntax for rects
2009-04-29 14:58:55 -05:00
Samuel Tardieu
18abc8b9f1
Add q+ and q- to math.quaternions
...
This makes the quaternions library self-contained and more independent
of the underlying representation.
2009-04-27 17:24:39 +02:00
Slava Pestov
66b4d42e13
math.blas: use gfortran by default on linux-x86-64 since latest ubuntu blas packages are compiled with gfortran abi
2009-04-25 17:03:50 -05:00
Slava Pestov
77c56e55a3
Oops
2009-04-23 03:57:05 -05:00
Slava Pestov
c2fe2a4fea
Improve stack checker documentation
2009-04-23 03:48:32 -05:00
Slava Pestov
3353a777f7
Fixing some unit test failures
2009-04-22 07:05:00 -05:00
Slava Pestov
05f3f9dcb9
Fixing unit tests for stack effect inference changes
2009-04-20 21:15:19 -05:00
Slava Pestov
9add08c200
Move math.matrices to basis
2009-04-18 04:09:16 -05:00
Doug Coleman
364ea217ef
fix more compiler errors
2009-04-17 14:44:08 -05:00
sheeple
a4e62dfdba
Fix for math.parser syntax change
2009-04-13 14:47:39 -05:00
Slava Pestov
0ffd43e2e3
1.0/0.0 => 1/0.
2009-04-13 19:48:08 -05:00
Slava Pestov
41e3e0acb4
Fix alien.fortran for NetBSD x86.64
2009-04-07 18:49:54 -05:00
Slava Pestov
99b8400e56
Documentation updates
2009-04-06 03:00:46 -05:00
Doug Coleman
7e0f271cf3
fix typo in docs
2009-04-02 17:00:29 -05:00
Aaron Schaefer
ed9a63311c
Fix typo and update a combinator usage in calendar
2009-04-01 22:03:45 -04:00
Aaron Schaefer
ca9fb1fcf1
Update usages of divisor? where appropriate
2009-04-01 21:53:18 -04:00
Aaron Schaefer
c698a83a12
Add divisor? math function
2009-04-01 19:29:19 -04:00
Joe Groff
432ff9b07f
Make math.blas library and ABI choice configurable
2009-04-01 14:52:43 -05:00
Doug Coleman
e37627fa8f
fix linux64 blas
2009-04-01 04:28:53 -05:00
Doug Coleman
e5ffc202f2
fix blas ffi on linux64
2009-03-28 14:17:24 -05:00
Doug Coleman
4f428f6404
Merge branch 'master' of git://factorcode.org/git/factor
2009-03-27 21:57:27 -05:00
Doug Coleman
92bd390c9b
use a different abi on linux for fortran
2009-03-27 21:57:10 -05:00
Slava Pestov
6c0986f8b2
Add definition mixin in definitions vocab to replace hard-coded union in ui.tools.operations; add ?execute to kernel to replace dup word? [ execute ] when calls in unicode.breaks and opengl
2009-03-26 21:27:45 -05:00
Doug Coleman
b771758ff7
fix load errors, help lint
2009-03-26 10:45:52 -05:00
Slava Pestov
8385e9d9f5
Fixing compile errors, test failures and help lint failures
2009-03-23 17:12:41 -05:00
Slava Pestov
ea60f8ae93
Changing : foo ; parsing to SYNTAX: foo ;
2009-03-21 01:27:50 -05:00
Slava Pestov
c468ed8962
integer/integer partial dispatch ops now use both-fixnums?
2009-03-16 00:44:44 -05:00
Slava Pestov
b6f6e880bf
Make partially dispatched integer ops foldable
2009-03-11 13:57:13 -05:00
Slava Pestov
df95c2a5b4
Merge branch 'master' into new_ui
2009-03-05 13:59:55 -06:00
Samuel Tardieu
b5e08a8e3e
When a factor has been found, check if the remainder is a prime number
...
Performances are greatly increased when a large prime number is involved.
Also, mark some words as flushable, even if it is unlikely that they
will be invoked if their result is discarded.
2009-03-02 19:05:54 +01:00
Slava Pestov
25a877e50b
Merge OneEyed's patch
2009-02-28 17:06:55 -06:00
Slava Pestov
cd53c2bd37
produce and produce-as: don't need third quotation either
2009-02-28 15:31:34 -06:00
Slava Pestov
78ce670101
Merge branch 'for-slava' of git://git.rfc1149.net/factor
2009-02-28 14:42:56 -06:00
Slava Pestov
ce1bc1d6ed
Fixing conflicts from stack checker changes
2009-02-24 01:21:10 -06:00
Slava Pestov
91d0c4ed1f
Fix conflict
2009-02-22 20:02:13 -06:00
Slava Pestov
0c090699c2
Merge branch 'master' of git://factorcode.org/git/factor
2009-02-22 19:52:06 -06:00
Slava Pestov
127f9b3578
Add unit tests for bignum bug
2009-02-22 19:41:47 -06:00
Doug Coleman
990513db60
use CONSTANT: in basis
2009-02-22 19:13:08 -06:00
Daniel Ehrenberg
70d931d0b2
Creating math.bits
2009-02-20 20:14:54 -06:00
Slava Pestov
15b5d696c1
Merge branch 'master' into new_ui
2009-02-19 18:25:59 -06:00
Jason Merrill
4e0db1332c
Merge branch 'master' of git://factorcode.org/git/factor
2009-02-19 18:55:27 -05:00
Jason Merrill
90b6b38fd1
Changed math.dual to define words as dword instead of overloading generic words on dual numbers.
2009-02-19 18:49:13 -05:00
Slava Pestov
58e55d4f45
Working on documentation
2009-02-19 16:54:27 -06:00
Slava Pestov
b4a61114e1
Merge branch 'master' into new_ui
2009-02-19 13:36:32 -06:00
Slava Pestov
60134eeb98
Documentation fixes
2009-02-19 13:35:53 -06:00
Slava Pestov
31553f5d50
Clean up math.complex
2009-02-19 00:56:30 -06:00
Slava Pestov
5e19766330
Fix conflict
2009-02-18 22:20:05 -06:00
Jason Merrill
6f735fd763
Merge branch 'master' of git://factorcode.org/git/factor
2009-02-18 19:58:55 -05:00
Samuel Tardieu
087d931c36
Remove the tail argument from do/until/while
2009-02-18 02:41:14 +01:00
Slava Pestov
73dfa2ae65
Fix conflict
2009-02-16 21:47:35 -06:00
Doug Coleman
bff66cd47b
remove empty file
2009-02-16 21:27:32 -06:00
Slava Pestov
421ee726b8
Merge branch 'master' into new_ui
2009-02-16 21:22:12 -06:00
Slava Pestov
6b25e99470
Add summary for heaps more vocabs
2009-02-16 21:05:13 -06:00
Slava Pestov
d26ae3d141
new set-rect-bounds word for when you're setting loc and dim at the same time
2009-02-15 23:39:27 -06:00
Slava Pestov
abe0f4bdf4
math.rectangles.positioning: New popup-rect word
2009-02-15 23:14:47 -06:00
Slava Pestov
f8ab4be9da
Line gadgets now support min/max rows/cols; this obsoletes limited-scroller
2009-02-15 04:01:57 -06:00
Slava Pestov
83bf59422b
Merge branch 'master' into new_ui
2009-02-14 00:46:16 -06:00
Doug Coleman
b638a35fd7
move >signed to math.bitwise
2009-02-14 00:31:17 -06:00
Slava Pestov
d186f10f52
Don't position popups at negative x co-ordinates
2009-02-13 19:16:37 -06:00
Jason Merrill
fe55e939f9
Added math.dual and math.derivatives for computing with dual numbers. Also
...
made a few more methods in math.functions generic in order to specialize them
on dual numbers.
2009-02-12 23:13:16 -05:00
Slava Pestov
52df401f8a
Factor out menu and popup positioning into math.rectangles.positioning, and write tests for it
2009-02-12 21:46:49 -06:00
Slava Pestov
e068400e54
Merge branch 'master' into new_ui
2009-02-12 02:22:09 -06:00
Joe Groff
0bc16d0cf8
documentation ambiguity
2009-02-11 20:11:33 -06:00
Joe Groff
633ffaa9dd
play horseshoes in math.blas.vectors tests to deal with excessively accurate x87 math
2009-02-11 14:06:46 -06:00
Slava Pestov
ab386d01aa
Merge branch 'master' into new_ui
2009-02-10 16:23:14 -06:00
Joe Groff
0279270dda
un-unportable the blas stuff
2009-02-10 15:11:39 -06:00
Joe Groff
8a144b7b94
support different fortran ABIs
2009-02-10 13:11:06 -06:00
Slava Pestov
6235e95052
Fix conflict
2009-02-10 00:44:23 -06:00
Joe Groff
204f5195f7
mark blas libs unportable till i sort out all the fortran abis
2009-02-09 22:08:35 -06:00
Slava Pestov
8654bfe921
Merge branch 'master' into new_ui
2009-02-09 20:30:44 -06:00
Joe Groff
4e1748febd
Merge branch 'master' of git://factorcode.org/git/factor
2009-02-09 18:46:21 -06:00
Slava Pestov
0684a9b7b0
Merge branch 'master' into new_ui
2009-02-09 18:16:14 -06:00
Slava Pestov
efc88c5b69
Remove nipd, 3nip, 4nip and tuckd from basis/shuffle
2009-02-09 18:11:42 -06:00
Joe Groff
fecc989098
get rid of underlying>>s, again
2009-02-09 17:23:56 -06:00
Joe Groff
bfc2af7ea1
remove unnecessary calls to underlying>> from math.blas
2009-02-09 17:22:43 -06:00
Joe Groff
4325f5a7a9
kill math.blas.cblas
2009-02-09 17:04:37 -06:00
Joe Groff
d160b80dac
convert math.blas.matrices to use fortran calls
2009-02-09 16:59:26 -06:00
Joe Groff
35c54a91ac
oops, leftover ORDER arguments from converting from CBLAS
2009-02-09 16:59:00 -06:00
Joe Groff
ad843a1bcf
iXamax returns a 1-based array index. decrement that shit
2009-02-09 16:37:45 -06:00
Joe Groff
4623e9bd68
another typo
2009-02-09 16:37:01 -06:00
Joe Groff
08b02fadc9
typos
2009-02-09 15:51:59 -06:00
Joe Groff
85620fc741
C CONVERT VECTORS TO USE FORTRAN BLAS BINDINGS
...
C INSTEAD OF CBLAS
2009-02-09 15:51:47 -06:00
Joe Groff
42265cbc62
start hacking on math.blas.vectors to switch to fortran
2009-02-09 14:35:44 -06:00
Joe Groff
3b83d9f760
fortran ffi for blas
2009-02-09 14:20:52 -06:00
Slava Pestov
043b77c702
Fix conflict
2009-02-08 00:07:59 -06:00
Daniel Ehrenberg
9890ee27f4
Merge branch 'for-slava' of git://git.rfc1149.net/factor
2009-02-06 14:36:37 -06:00
Slava Pestov
dd9cf39467
Fix conflict in libc
2009-02-06 05:10:41 -06:00
Slava Pestov
4adef7db09
Fix functors bug where changing a hand-written method into one generated by a functor would forget the method; also associate functor-generated methods with the source file they're in.
...
Add DEFINES-CLASS, to parallel DEFINES.
Update math.blas and specialized-arrays/vectors to use DEFINES-CLASS where appropriate
2009-02-06 02:45:21 -06:00
Slava Pestov
ae0da1cf98
Fix conflict
2009-02-05 22:29:15 -06:00
Slava Pestov
ef8d622b54
UI documentation and test fixes
2009-02-05 05:16:22 -06:00
Slava Pestov
88b401b383
Rename math.geometry.rect to math.rectangles
...
Remove math.geometry.points
Remove rect-loc and rect-dim words
2009-02-05 03:28:41 -06:00
Joe Groff
ccdd8999e1
swizzle word to swizzle sequences
2009-02-04 19:46:19 -06:00
Samuel Tardieu
0069547e90
Fix suboptimal prime number factoring
2009-02-03 00:33:12 +01:00
Slava Pestov
a5116d0b5d
Remove two swapd usages
2009-02-02 14:26:54 -06:00
Slava Pestov
669548e62e
Clean up some usages of tuck, and add Joe's curried cleave/spread/apply combinators to kernel vocabulary
2009-02-02 13:43:54 -06:00
Slava Pestov
83116c6439
Change example to unchecked-example since on netbsd math functions return 0 instead of NaN on domain errors
2009-01-31 21:02:13 -06:00
Doug Coleman
12ca0eec41
blas from netbsd pkgsrc depends on f2c runtime libs
2009-01-30 22:42:36 -06:00
Joe Groff
e701e66399
Load right blas libraries on netbsd
2009-01-30 21:46:47 -06:00
Joe Groff
f1182ef800
use CONSTANT: for cblas constants
2009-01-30 17:28:06 -06:00
Joe Groff
8b68e80254
load libblas before libcblas on openbsd
2009-01-30 17:13:40 -06:00
Doug Coleman
a60e11b89e
add RTLD_GLOBAL to dlopen flags. load atlas before cblas on freebsd
2009-01-30 16:45:30 -06:00
Doug Coleman
f31cf8e9a9
fix empty description
2009-01-30 15:21:46 -06:00
Joe Groff
ebf6cbaa0d
remove math.blas.syntax and merge parsing words into math.blas.vectors/matrices
2009-01-30 11:42:43 -06:00
Doug Coleman
3c408342ef
renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail
2009-01-29 22:19:07 -06:00
Slava Pestov
87e0110ff1
O(1) equal? and hashcode* for ranges
2009-01-28 23:33:26 -06:00
Slava Pestov
16181f818b
Clean up functors so that the generated code looks sane with 'see'
2009-01-28 15:07:16 -06:00
Slava Pestov
eaad0c7660
Updating code to use CONSTANT: instead of : foo 123 ; inline
2009-02-23 21:40:17 -06:00
Slava Pestov
a9ef525aed
Help lint fixes for stricter help lint
2009-01-27 04:12:37 -06:00
Slava Pestov
f34c14a0f5
Remove some usages of tuck
2009-01-23 18:20:47 -06:00
Slava Pestov
d6e7eefde3
Fix mnestic's bug and remove math.complex.prettyprint hack
2009-01-14 01:02:27 -06:00
Doug Coleman
932631c901
use combinators.smart for bit-count
2009-01-08 18:57:07 -06:00
Samuel Tardieu
6a2f46ed7f
Move math.primes.factors from extra to basis
2009-01-07 23:01:27 +01:00
Samuel Tardieu
594bd3aee8
Move math.primes from extra to basis
2009-01-07 21:12:48 +01:00
Samuel Tardieu
e6a5ac4acd
Remove useless with-scope and unneeded uses
2008-12-27 23:13:03 +01:00
Samuel Tardieu
7716ac276e
Mark parts of math.miller-rabin as private
2008-12-26 20:58:46 +01:00
Slava Pestov
058ba127cb
Cleaning up more -rot usages
2008-12-22 05:41:01 -06:00
Slava Pestov
6fb57d821f
Move math.blas to basis
2008-12-17 23:23:43 -06:00
Slava Pestov
d108d58058
Move math.miller-rabin to basis
2008-12-17 19:53:19 -06:00
Slava Pestov
411ba7473b
Clean up some code to not use combinators.lib and sequences.lib
2008-12-17 19:52:47 -06:00
Slava Pestov
34792a9f23
Remove >r/r>
2008-12-17 19:17:37 -06:00
Slava Pestov
63fda570bf
Fixing assorted compile errors and help lint warnings
2008-12-16 01:12:36 -06:00
U-SLAVA-DFB8FF805\Slava
53db40ba13
Add more stack declarations
2008-12-13 05:06:28 -06:00
Slava Pestov
09c60f7e90
Fix some vocabularies for new requirement that inline words have a stack effect declaration
2008-12-15 20:31:55 -06:00
Slava Pestov
daf2857d7b
define-inline now takes an effect parameter
...
C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words
2008-12-15 19:44:56 -06:00
Slava Pestov
4f0a9f311e
Untangling some dependencies
2008-12-08 14:58:00 -06:00
Slava Pestov
e4f8448eb1
Fix some problems with arithmetic type inference, exposed by recent changes to log2 word
...
- declared input type for bignum-shift was stricter than the runtime behavior, leading to bad propagation of type info if shift count was a bignum
- types inferred for type functions which used number-valued/integer-valued/real-valued were not always precise, eg bignum bignum bitxor => integer
- add interval-log2, type function for (log2)
- remove math-class-min, it was useless
2008-12-07 19:44:49 -06:00
Slava Pestov
145b635eb6
More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser
...
- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR
2008-12-06 11:17:19 -06:00
Slava Pestov
a56d480aa6
Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
...
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
2008-12-06 09:16:29 -06:00