Commit Graph

759 Commits (2f20ee6fb0ff0a03c96c4f3bb00c2e3a4cc45ac3)

Author SHA1 Message Date
Slava Pestov bbbb207dab Some fixes and cleanups in math.vectors
- Tighten up type inference for operations on complex float arrays
- Fix v. to have correct behavior with complex numbers
- Rename v<< and v>> to vlshift and vrshift to avoid clashing with v>> accessor
2009-09-24 06:58:33 -05:00
Slava Pestov 7b6128dd03 math.vectors.simd: add v<< and v>> intrinsics for bitwise shifts on elements 2009-09-24 03:32:39 -05:00
Slava Pestov 0836e79e66 Fix conflict 2009-09-23 20:52:04 -05:00
Slava Pestov dfc9fd071e Add longlong-2, ulonglong-2, longlong-4, ulonglong-4 SIMD types, fix int-4 multiplication on SSE2 2009-09-23 20:23:25 -05:00
Doug Coleman 402e770296 fix using 2009-09-23 12:47:20 -05:00
Doug Coleman 810bd63820 Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
	basis/math/vectors/simd/simd-docs.factor
2009-09-23 10:11:49 -05:00
Slava Pestov f017f8904b math.vectors.simd: Improved documentation 2009-09-23 03:14:06 -05:00
Slava Pestov e1efb189a4 math and math.vectors: improved documentation 2009-09-23 03:08:45 -05:00
Slava Pestov 43fa252af5 math.vectors.simd: new operations: vabs vsqrt vbitand vbitor vbitxor 2009-09-23 02:47:14 -05:00
Slava Pestov 15ba7e299b math.vectors.simd: fix all tests 2009-09-23 01:05:19 -05:00
Keith Lazuka bea4aa7662 docs: updated some docs to use new markup 2009-09-22 15:22:34 -04:00
Doug Coleman 51ddc963b8 Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
	core/generic/generic-tests.factor
2009-09-22 10:25:42 -05:00
Slava Pestov 629fd1fc82 Merge branch 'master' into integer-simd 2009-09-22 03:24:52 -05:00
Slava Pestov fe0701deb1 math.functions: fix ~ with negative (relative) tolerance 2009-09-22 03:19:47 -05:00
Doug Coleman b86314ec39 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-21 17:59:48 -05:00
Slava Pestov 0f0bf667b5 Merge branch 'master' of git://factorcode.org/git/factor into integer-simd 2009-09-21 17:58:24 -05:00
Slava Pestov 962d039852 Rename specific-method to method-for-class, rename (effective-method) to method-for-object, and make both much faster 2009-09-21 17:42:20 -05:00
Slava Pestov ea44ea3522 math.vectors.simd: add saturated arithmetic operations 2009-09-20 23:16:02 -05:00
Doug Coleman 5cb34724b7 Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
	basis/classes/struct/struct-tests.factor
	basis/functors/functors-tests.factor
	basis/specialized-arrays/specialized-arrays-tests.factor
2009-09-20 23:02:49 -05:00
Doug Coleman eceed177d6 replace usages of <" with """ 2009-09-20 22:42:40 -05:00
Slava Pestov acea55c692 math.vectors: add v+- word which is accelerated by SSE3 2009-09-20 17:43:16 -05:00
Slava Pestov 47d8763340 More integer SIMD work
- move generated vocab support from specialized-arrays to vocabs.generated
- add fuzz testing to math.vectors.simd
- add alien type support for integer SIMD vectors
- SIMD: parsing word generates a SIMD type, instead of pre-generating them all in math.vectors.simd
2009-09-20 16:48:17 -05:00
Slava Pestov e77341b90c math.vectors.simd: redesign to be more flexible, integer SIMD work in progress 2009-09-20 02:08:32 -05:00
Joe Groff 076ab42dc3 move some allocation words that don't really have much to do with c types out of alien.c-types into a new alien.data vocab 2009-09-17 22:36:05 -05:00
Joe Groff 1f04ed01fe fix more ambiguities 2009-09-17 09:29:23 -05:00
Joe Groff fa60d96ae4 fix "float" ambiguities in math.blas, opengl vocabs 2009-09-16 21:25:46 -05:00
Joe Groff 3b4330fcf6 get things to a point where they bootstrap again 2009-09-15 21:43:18 -05:00
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
Aaron Schaefer 1296e3c792 Move math.blas back to extra due to multimethods usage 2008-12-04 01:35:53 -05:00
Aaron Schaefer 13781ee48c Merge branch 'master' of git://factorcode.org/git/factor 2008-12-04 00:42:34 -05:00
Slava Pestov e5ed7447ed Removing more >r/r> usages 2008-12-03 08:46:16 -06:00
Aaron Schaefer 0ef3ff4058 Merge branch 'master' of git://factorcode.org/git/factor 2008-12-01 17:29:36 -05:00
Aaron Schaefer 451771ab77 Merge branch 'master' of git://factorcode.org/git/factor 2008-12-01 10:31:28 -05:00
Slava Pestov 52c5b53e27 Refactoring usages of >r, r>, -rot, rot 2008-11-30 22:21:37 -06:00
Slava Pestov 1361bb7d5c derived-ops for shift didn't include fixnum-shift 2008-11-30 04:44:52 -06:00
Slava Pestov 4f5b0e5cd6 Oops 2008-11-29 13:44:38 -06:00
Slava Pestov f79041545a New distance word in math.vectors, replaces distance in math.points, more efficient 2008-11-29 10:19:23 -06:00
Aaron Schaefer be7bae07d3 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-29 10:46:32 -05:00
Slava Pestov 52f1ff3a95 Fix conflict 2008-11-29 04:23:23 -06:00
Slava Pestov 2798de019a Faster <range> 2008-11-29 04:09:16 -06:00
Slava Pestov e1578b5848 Tweak math.functions to inline better 2008-11-29 03:49:24 -06:00
Doug Coleman a4860c3173 add toggle-bit word to math.bitwise 2008-11-29 00:37:36 -06:00
Aaron Schaefer db20629a0f Merge branch 'master' of git://factorcode.org/git/factor 2008-11-26 17:48:47 -05:00
Slava Pestov c7d86ebd55 Oops 2008-11-26 05:24:35 -06:00
Slava Pestov d927ed5620 Better hints 2008-11-26 04:20:25 -06:00
Aaron Schaefer b14995f7ed Merge branch 'master' of git://factorcode.org/git/factor 2008-11-21 03:16:48 -05:00
Slava Pestov ae4f9a2809 Add fixnum/mod-fast and fixnum/i-fast subprimitives 2008-11-21 02:11:36 -06:00
Aaron Schaefer 4828ab1a4b Merge branch 'master' of git://factorcode.org/git/factor 2008-11-20 21:07:19 -05:00
Slava Pestov 3d8f432856 Clarify math.bitwise -vs- bitwise-arithmetic docs 2008-11-19 19:23:11 -06:00
Slava Pestov 6681d4bca3 Add an ABOUT: to math.geometry.rect 2008-11-19 17:13:10 -06:00
Slava Pestov 6aff81052e Doc update 2008-11-19 17:10:19 -06:00
Aaron Schaefer a1a79aac16 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-18 16:05:54 -05:00
Slava Pestov aee589190b Add signed-le> and signed-be> wordS 2008-11-18 14:10:21 -06:00
Aaron Schaefer 197bb70893 Move math.statistics to extra 2008-11-18 10:31:07 -05:00
Aaron Schaefer c3f05eaaa1 Move math.quaternions to extra 2008-11-18 10:22:48 -05:00
Aaron Schaefer 1ffc6051cd Move math.blas to basis 2008-11-18 10:22:16 -05:00
Aaron Schaefer 5869a1aab4 Move math.combinatorics to basis 2008-11-18 10:20:44 -05:00
Aaron Schaefer f59071189c Moved math.polynomials to extra 2008-11-18 10:19:29 -05:00
Aaron Schaefer e17f519480 Minor documentation fixes 2008-11-17 22:51:57 -05:00
Aaron Schaefer 000d84a871 Replace pick pick with 2over in math.functions 2008-11-17 18:20:34 -05:00
Aaron Schaefer 9c27e9d61b Replace >r r> usage with dip in math.vectors 2008-11-17 18:17:14 -05:00
Aaron Schaefer d2a67c78b2 Replace >r r> usage with dip in math.ranges 2008-11-17 18:14:29 -05:00
Aaron Schaefer fa88f8825b Replace >r r> usage with dip in math.ratios 2008-11-17 18:13:42 -05:00
Aaron Schaefer d328589b87 Cleanup partial-dispatch by removing >r r> usage 2008-11-17 17:59:15 -05:00
Aaron Schaefer 5d8b3c3fb1 Cleanup math.intervals and eliminate >r r> usage 2008-11-17 17:20:56 -05:00
Aaron Schaefer abf4700af8 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-17 16:21:16 -05:00
Aaron Schaefer c7f5d53144 Cleanup math.functions and remove >r r> usages 2008-11-16 21:24:56 -05:00
Slava Pestov 9bf63b1613 New $quotation markup element 2008-11-16 09:03:30 -06:00
Slava Pestov 93e9e34175 Add $maybe markup element 2008-11-16 06:02:13 -06:00
Doug Coleman aff4c9bda3 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-11 13:07:26 -06:00
Doug Coleman 7aeeb2c9ce bitwise docs, fix some bugs in bitwise words 2008-11-11 13:03:08 -06:00
Slava Pestov 8a6ecec9f3 Fix broken link in ratios docs 2008-11-11 12:11:36 -06:00
Slava Pestov fed799a32c Fix circularity 2008-11-11 11:39:38 -06:00
Slava Pestov 4c0f2cc3f5 Move factor-2s from miller-rabin to math.functions; use it to make ^ more efficient 2008-11-11 11:30:47 -06:00
Slava Pestov 43335d9c36 Intervals now use a special singleton for the full interval to eliminate FP math in the common case; fix a bug in value-info<= 2008-11-11 08:30:14 -06:00
unknown cc7ab11881 Add more unit tests 2008-11-07 20:34:04 -06:00
Slava Pestov 751426f283 Remove dead code from math.intervals; we no longer need the operations to support f anymore 2008-11-06 11:57:31 -06:00
Slava Pestov 7f3282bb39 Better error reporting 2008-11-03 01:19:06 -06:00
Doug Coleman ccdcacfd04 remove unit tests 2008-10-05 16:41:51 -05:00
Doug Coleman 6d8bfa4bf4 remove some dead usings 2008-10-05 15:38:31 -05:00
Doug Coleman 4e88005bf4 remove random intervals for now 2008-10-05 15:14:18 -05:00
Doug Coleman ce7cf81224 add more unit tests 2008-10-04 12:45:10 -05:00
Doug Coleman 5ca60480c5 put a random method on intervals, works for float and integer intervals 2008-10-04 12:40:58 -05:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov 0ba1a1335e http.server documentation 2008-09-27 11:37:46 -05:00
Slava Pestov 10c68ebb21 New modular arithmetic optimization pass 2008-09-12 18:08:38 -05:00
Slava Pestov d5140cf248 Fix math.vectors unit tests 2008-09-12 15:52:43 -05:00
Slava Pestov f497c7e151 Move map-reduce combinator to core, re-implement norm-sq and v. for better performance 2008-09-12 11:29:12 -05:00
Slava Pestov 54232f80ca Adding identity optimization pass, tweak inlining heuristic 2008-09-12 08:18:44 -05:00
Slava Pestov f2721e0608 Help lint fixes 2008-09-11 05:04:49 -05:00
Slava Pestov cf80dd122a Updating code for make and fry changes 2008-09-10 22:11:40 -05:00
Slava Pestov 44f53de164 Move make to its own vocabulary, remove fry _ feature 2008-09-10 20:07:00 -05:00
Slava Pestov 05f47c1aaf Prettyprinter now emits assoc-form tuples unless boa-tuple? is on 2008-09-06 03:23:54 -05:00
Slava Pestov aea0fed14c Fixing basis -> extra dependencies 2008-09-05 19:29:14 -05:00
Doug Coleman 1e8358eff5 Merge branch 'master' of git://factorcode.org/git/factor 2008-09-02 02:09:54 -05:00
Slava Pestov 110a5e5162 Change equality semantics 2008-09-02 02:02:05 -05:00
Doug Coleman 0e80ac5460 new accessors 2008-09-01 22:46:49 -05:00
Slava Pestov 88aa1def35 More a UI dependency to basis 2008-08-31 20:13:06 -05:00
Doug Coleman 6452f75a3f fix docs 2008-08-29 17:03:36 -05:00
Slava Pestov efb5553950 More efficient interval-contains? 2008-08-26 19:47:55 -05:00
Slava Pestov 6f4af849e5 Fix problem in interval* and interval/ with zero 2008-08-26 00:19:40 -05:00