Slava Pestov
302867c9a7
math.primes.erato: fix typo in docs
2010-10-22 18:26:08 -07:00
Slava Pestov
7d38319747
math.rectangles: add infinite recursion check in case somebody does something stupid
2010-09-16 21:27:18 -07:00
Slava Pestov
6617eca683
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
f514de48a4
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
f9ef26a910
math.vectors.simd: docs mention obsolete 'test-mr mr.' words
2010-08-20 18:00:03 -07:00
Slava Pestov
f3dfae04ba
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
41a6f62ca6
math.floats.env.x86: more direct test for stack fault detection
2010-08-13 22:20:16 -07:00
John Benediktsson
46c282ad8a
math.combinatorics: Fixing selections bug with nested sequences.
2010-08-13 14:34:14 -07:00
Joe Groff
939d602ad2
math.floats.env: detect +fp-x87-stack-fault+ during collect-fp-exceptions block
2010-08-12 23:23:00 -07:00
Slava Pestov
31ef4ad844
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
75a0e3397c
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
9cbff0c470
Merge branch 'master' of http://github.com/mrjbq7/factor
2010-07-26 15:10:50 -04:00
John Benediktsson
3fd8bd6649
math.combinatorics: improve all-subsets and selections words.
2010-07-26 08:12:36 -07:00
Slava Pestov
7fe6721993
math.matrices: move normal word from gpu.demos.bunny and reverse sign
2010-07-23 20:41:08 -07:00
Slava Pestov
cf6b910c9f
alien.data: remove second quotation parameter from with-out-parameters, now all values are copied properly and calling 'clone' on structs in this quotation is not necessary
2010-07-16 17:32:05 -04:00
Joe Groff
f3174e9ad0
math.combinatorics: all-subsets and selections words (contributed by John Benediktsson)
2010-07-14 09:10:51 -07:00
Joe Groff
ba34aaf4e9
math.polynomials: unclip drop => rest
2010-07-05 20:53:24 -07:00
Joe Groff
c9ecf3462d
math.polynomials: update pdiff for no-integers-as-sequences (reported by rswarbrick)
2010-07-04 09:23:43 -07:00
Joe Groff
bac801ef27
math.quaternions: typo in n*q
2010-06-17 19:23:52 -07:00
Joe Groff
19727f8ca5
math.vectors.simd.cords: add regression test for >A
2010-06-15 22:44:15 -07:00
Joe Groff
1f6070d48c
math.vectors.simd.cords: use head-slice/tail-slice to slice up input sequences for >A op so that e.g. float-4{ ... } >double-4 works
2010-06-15 21:55:26 -07:00
Slava Pestov
ea6f0066e3
Merge branch 'for-slava' of git://git.rfc1149.net/factor
2010-06-11 20:10:07 -04:00
Slava Pestov
f16e660805
mirrors: rename enumerated-sequence to inspected-sequence
2010-06-11 17:14:15 -04:00
Samuel Tardieu
3685a22c62
Fix "primes-between" and "primes-upto" with pathological bounds.
...
"primes-between" was buggy when bounds were given in the wrong order
or when the high bound was smaller than 3.
2010-06-11 16:07:52 +02:00
Joe Groff
45e635fa4e
math.vectors.simd.intrinsics: use unrolled loops for some software fallbacks
2010-05-24 18:39:06 -07:00
Joe Groff
7027838fda
math.vectors.simd.intrinsics: remove call( -- ) wrapper from fallbacks
2010-05-24 12:58:14 -07:00
Joe Groff
bceec9daeb
math.vectors.simd.intrinsics: use <direct-X-array> instead of X-array-cast to construct view over fallback byte-arrays to avoid redundant array size checking
2010-05-23 23:18:02 -07:00
Joe Groff
9977f66c01
math.vectors.simd.intrinsics: wrap intrinsic fallback bodies in call( -- ) so we can abuse macros in their normally-inlined bodies
2010-05-23 22:39:44 -07:00
Slava Pestov
b8ec5c6176
Stack allocation improvements
...
- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas
2010-05-22 02:37:00 -04:00
Doug Coleman
e559f1470b
Use keys/values where appropriate
2010-05-21 12:48:04 -05:00
Slava Pestov
40f58f27d6
specialized-arrays: rename byte-array>T-array to T-array-cast, and make it work with anything that responds to >c-ptr / byte-length
2010-05-18 23:09:34 -04:00
Slava Pestov
f70d89b145
Fixing fallout from sequences.generalizations change
2010-05-18 22:59:07 -04:00
Slava Pestov
c0f39aa99d
Move remaining sequence operations from generalizations to sequences.generalizations where they belong
2010-05-18 18:36:47 -04:00
Slava Pestov
35bd2bca06
FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing
2010-05-16 03:43:23 -04:00
Joe Groff
a7de341809
math.bitwise: factor M\ fixnum (bit-count) to a separate word so it can be made intrinsic
2010-05-15 13:27:26 -07:00
Joe Groff
40c75a996e
math.vectors.simd.intrinsics: fix scalar fallback for (simd-vshuffle2-elements)
2010-05-14 02:47:39 -07:00
Joe Groff
349397e67c
math.vectors, math.vectors.simd: add user-facing vshuffle2 word
2010-05-14 02:47:05 -07:00
Joe Groff
f202c97b52
math.vectors.simd.intrinsics: (simd-vshuffle2-elements) intrinsic that creates a vector by selecting elements from two input vectors. use ##shuffle-vector-halves-imm to implement for double-2s with SSE
2010-05-14 01:16:29 -07:00
Slava Pestov
4ad32f53fe
math.vectors.simd.cords: implement new-sequence and like methods on cords to make cross product work
2010-05-13 21:55:19 -04:00
Slava Pestov
d2d466de29
Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)
2010-05-06 17:21:02 -04:00
Slava Pestov
59ad41b6a3
Eliminate some -rot from the codebase
2010-05-03 18:31:01 -04:00
Slava Pestov
e70c09c690
compiler.cfg.linear-scan.assignment: spill slot representation logic was backwards, just like Factor
2010-05-03 17:34:29 -04:00
Doug Coleman
b11711ab0a
Fix help lint for math.polynomials
2010-04-30 14:04:45 -05:00
Doug Coleman
89bf69a7bd
Clean up math.polynomials some
2010-04-30 08:42:29 -05:00
Slava Pestov
4ae41d4032
math.vectors: (vmerge) shouldn't be generic
2010-04-29 02:28:05 -04:00
Slava Pestov
92277b94b5
math.vectors.simd.cords: a dash of inline sauce
2010-04-29 01:58:56 -04:00
Joe Groff
bec542f08d
rename half-floats vocab to math.floats.half
2010-04-28 15:48:47 -07:00
Daniel Ehrenberg
d9878f81d7
Changing require-when usages to the new syntax for require-when
2010-04-18 14:29:24 -05:00
Joe Groff
d441c2cfd5
Merge branch 'master' of git://factorcode.org/git/factor
2010-04-14 13:16:08 -07:00
Joe Groff
58aa8fe6d0
math.libm: use FUNCTION-ALIAS:
2010-04-14 12:25:22 -07:00
Slava Pestov
3b92172115
Replace 'untested' tag with 'not loaded' and 'not tested' tags
2010-04-13 18:43:01 -07:00
Joe Groff
ca9614e746
Merge branch 'master' into abi-symbols
2010-04-01 15:28:36 -07:00
Doug Coleman
636f2ed2e5
Use flags{ instead of flags all over the place
2010-04-01 14:44:03 -05:00
Joe Groff
ba062c1e5f
cpu.architecture: alter param-regs to take abi as an (ignored for now) argument
2010-04-01 02:53:40 -07:00
Joe Groff
d951be1832
"cdecl" -> cdecl
2010-03-31 19:20:35 -07:00
Doug Coleman
29a7f10a4c
Link a word in math docs
2010-03-31 15:09:51 -05:00
Daniel Ehrenberg
e9991a62fb
Making more vocabs use require-when
2010-03-18 01:39:30 -04:00
Daniel Ehrenberg
f2f80dadc7
Updating code to use require-when rather than vocab [ require ] when
2010-03-18 01:13:37 -04:00
Daniel Ehrenberg
1b61e2e5cf
Merge branch 'bags' of git://github.com/littledan/Factor
...
Conflicts:
basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor
basis/furnace/auth/auth.factor
basis/stack-checker/backend/backend.factor
2010-03-16 13:28:00 -04:00
Joe Groff
906a86ae2d
mop up compiler errors from macosx load-all
2010-03-09 00:56:07 -08:00
Joe Groff
d4a0a69eb1
generalize stack effects so we can bootstrap with the stricter stack effect checking
2010-03-08 23:38:10 -08:00
Daniel Ehrenberg
bf73129238
Changing some uses of prune to use members
2010-02-27 13:14:03 -05:00
Erik Charlebois
fc72a7c7c1
Add perp and angle-between words for vectors. Fix bug in cross product and add unit tests.
2010-02-25 16:46:02 -08:00
Slava Pestov
e5fc398dae
sequences: add cartesian-each, cartesian-map, cartesian-product words to eliminate some duplication throughout the codebase
2010-02-25 20:54:57 +13:00
Slava Pestov
c1e7a3ffc2
Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams
2010-02-24 20:18:41 +13:00
Joe Groff
08c2373576
math.blas: update string c-types
2010-02-21 16:49:58 -08:00
Slava Pestov
0aad3e6e12
vocabs.metadata: replace unportable tag with a platforms.txt file for more fine-grained control. Rename unportable tag to untested for remaining cases
2010-02-20 13:30:49 +13:00
Slava Pestov
74891bc02a
Update documentation for new help lint check
2010-02-19 12:31:52 +13:00
Slava Pestov
7a995794e2
Make specialized arrays and SIMD types final so that typed can unbox them
2010-02-18 02:39:40 +13:00
Joe Groff
4aa16b0802
math.blas.config: add deploy-blas? variable
2010-02-16 13:38:29 -08:00
Slava Pestov
974074d089
A few documentation fixes
2010-02-17 00:05:36 +13:00
Slava Pestov
913c949a5a
math.points: move to extra
2010-02-16 15:29:02 +13:00
Slava Pestov
4154742755
Small cleanups
2010-02-16 04:04:09 +13:00
Erik Charlebois
06c10df596
Made p^ more efficient by repeated squaring instead of repeated multiplication
2010-02-13 19:47:44 -08:00
Erik Charlebois
996125daa0
Add p^ to polynomial vocab for exponentiation of polynomials
2010-02-13 02:35:09 -08:00
Slava Pestov
1563fbcd70
math.functions: clean up
2010-02-10 15:04:58 +13:00
Slava Pestov
4ffcf8e50d
Remove math.floats.parser now that its no longer needed
2010-02-08 16:52:29 +13:00
Slava Pestov
9724a7d9d1
math.floats.parser: new vocabulary with old string>float word
2010-02-08 08:32:13 +13:00
Slava Pestov
419d954dc1
Fix unit test for math.parser change
2010-02-08 08:31:17 +13:00
Joe Groff
14477ba4c1
math.quaternions: slerp function
2010-02-04 20:08:37 -08:00
Joe Groff
5bbfd50a52
quaterion to matrix4 conversion
2010-02-04 11:25:45 -08:00
Joe Groff
fa95eaa454
Merge branch 'master' of git://factorcode.org/git/factor
2010-02-03 21:50:36 -08:00
Slava Pestov
6e745437d0
math.statistics: rename histogram* to histogram! and rename sequence>assoc* to sequence>assoc!
2010-02-03 23:11:33 +13:00
Joe Groff
abc28fedba
vector-friendlier math.quaternions
2010-02-02 00:30:21 -08:00
Doug Coleman
0ec2bf80da
Add [1,b) to math.ranges. Use [1,b] in random.sfmt
2010-01-31 14:48:01 -06:00
Slava Pestov
4f967f7515
math.ranges: doesn't need an equal? method, since sequence doesn't define one, and default tuple equal? is fine for ranges
2010-01-27 19:28:45 +13:00
Slava Pestov
0cbf9c9b50
Move compile-call and related words only meant to be used for debugging to compiler.test
2010-01-23 00:39:56 +13:00
Doug Coleman
33954a3837
NetBSD 64 blas abi changed
2010-01-21 05:02:39 -06:00
Slava Pestov
98f3eae5fe
Fix performance regression in vector ops on specialized arrays, tweak definition of <slice> and 2map-reduce to generate fewer conditionals
2010-01-19 17:48:10 +13:00
Doug Coleman
4895967acf
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
core/sequences/sequences-docs.factor
2010-01-14 17:22:02 -06:00
Doug Coleman
37d4e0c1eb
Fix a few integers-as-sequences in docs
2010-01-14 17:20:43 -06:00
Slava Pestov
27592b27c7
math.functions: fix memory protection error if exp called on a complex number with a rational real part (reported by prunedtree)
2010-01-15 08:23:48 +13:00
Slava Pestov
ceba36bfeb
Change [0,b) usages to iota
2010-01-15 08:05:50 +13:00
Doug Coleman
7521807b55
random is generic now -- iota random -> random
2010-01-14 12:48:57 -06:00
Slava Pestov
880fb747fc
Removing integers-as-sequences
2010-01-15 07:15:33 +13:00
Slava Pestov
005db61ad6
Rework min and max so that behavior with floats and NaNs is consistent between generic arithmetic and open-coded float intrinsics
2010-01-13 22:20:16 +13:00
Slava Pestov
fe919b5223
math.floats.env.x86: split off 32 and 64-bit code into sub-vocabularies
2010-01-07 20:44:28 +13:00
Slava Pestov
c6003305cd
math.floats.env: don't load cpu.x86.64 on x86.32
2010-01-07 20:13:42 +13:00
Slava Pestov
1e2c0327ee
Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S
2010-01-07 17:39:22 +13:00
Doug Coleman
8003b74abb
add MAIN: run-unix-factor to math.primes.factors
2009-12-12 23:39:59 -06:00
Doug Coleman
ed17c5a549
better minmax
2009-12-07 17:26:33 -06:00
Doug Coleman
3dafb80153
Merge branch 'master' of git://factorcode.org/git/factor
2009-12-06 02:28:46 -06:00
Joe Groff
d6c1137115
move simd operation methods onto simd-128 instead of concrete classes to save image space
2009-12-05 21:19:17 -08:00
Joe Groff
82bb560b00
Merge branch 'master' of git://factorcode.org/git/factor
2009-12-05 17:18:49 -08:00
Joe Groff
1ad9dc14b4
fix simd tests
2009-12-05 17:17:16 -08:00
Joe Groff
c09b20fdf5
add v*high, v*hs+, vsad, and vavg to simd fuzz tests
2009-12-05 15:42:41 -08:00
Joe Groff
5d911d41f5
missing USING:s
2009-12-05 15:38:57 -08:00
Slava Pestov
aa472ee281
math.combinatorics: remove 'mirrors' from using list since its not needed
2009-12-05 18:21:32 -05:00
Slava Pestov
9e5c44dd11
math.vectors.simd: ensure that set-alien-vector is open-coded in the actual set-nth-unsafe method on SIMD specialized arrays, not just inlined instances
2009-12-05 18:20:57 -05:00
Joe Groff
d674ff8191
simd intrinsic implementation for v*high, v*hs+, vavg, and vsad
2009-12-05 14:52:18 -08:00
Joe Groff
c7f4284710
add v*high, v*hs+, vavg, and vsad operations to math.vectors
2009-12-05 11:32:31 -08:00
Joe Groff
c23e3eb4ef
move sequence instance to individual SIMD types rather than simd-128 parent type so that "hashcode*" doesn't attempt to use the sequence implementation of hashcode on abstract simd-128 objects
2009-12-04 13:22:59 -08:00
Joe Groff
c72a3c452b
update math.vectors docs for simd changes
2009-12-04 13:21:18 -08:00
Doug Coleman
69817c0c38
Merge branch 'master' of git://factorcode.org/git/factor
2009-12-02 20:11:08 -06:00
Doug Coleman
9e6261ce7a
clean up math.combinatorics and add another combinator
2009-11-27 22:50:06 -06:00
Joe Groff
ebcaaa0d64
Merge branch 'master' into simd-cleanup
2009-11-26 16:14:46 -08:00
Joe Groff
ea7c5b6d86
fix buggy simd intrinsics
2009-11-26 13:28:40 -08:00
Joe Groff
6757c85189
remove SIMDS:
2009-11-26 11:15:46 -08:00
Joe Groff
da394d42c3
"norm" doesn't need to be generic, "norm-sq sqrt" always works
2009-11-26 11:15:35 -08:00
Joe Groff
4f10afa3e9
trick math.vectors.simd into making nicer quotations
2009-11-25 20:24:09 -08:00
Joe Groff
03bae7d316
remove SIMD:s
2009-11-25 20:21:54 -08:00
Joe Groff
84d49c8463
math.vectors.simd.cords vocab that defines vector cords
2009-11-25 18:01:58 -08:00
Joe Groff
148a7a90a1
move cords to sequences.cords
2009-11-24 22:56:42 -08:00
Joe Groff
9792a00e23
remove mentions of 256-bit vectors from math.vectors.simd
2009-11-24 22:26:16 -08:00
Joe Groff
bd7183478c
fix math.vectors.conversion help-lint
2009-11-24 22:20:43 -08:00
Joe Groff
b5f11ec120
update math.vectors.conversion
2009-11-24 20:53:40 -08:00
Doug Coleman
e8a064c8b7
revert math.matrices.elimintion until someone fixes it properly
2009-11-24 20:41:59 -06:00
Joe Groff
90cd1b47f7
make math.vectors.simd tests pass again
2009-11-24 18:30:12 -08:00
Joe Groff
faf4df9043
scalar fallbacks for simd intrinsics
2009-11-23 21:24:55 -08:00
Slava Pestov
08b6ebc7fa
Factor source files should not be executable
2009-11-21 17:50:43 -06:00
Joe Groff
fe03ff1a5d
typo
2009-11-19 12:17:14 -08:00
Joe Groff
3b17573c7c
break simd intrinsics into a separate vocab so they can be intrinsified before the simd methods compile
2009-11-19 11:53:46 -08:00
Joe Groff
ca40ddbf56
move methods back into simd functor so the intrinsics can compile
2009-11-19 11:29:15 -08:00
Joe Groff
46fa2fe880
fix effect of set-alien-vector
2009-11-18 22:18:42 -08:00
Joe Groff
b54a925d1e
enable simd intrinsics and fix first-pass compiler errors
2009-11-18 20:32:05 -08:00
Joe Groff
1030e16267
fixes for stronger stack checker
2009-11-14 22:25:00 -06:00
Joe Groff
993631e44c
Merge branch 'master' of git://factorcode.org/git/factor into simd-cleanup
...
Conflicts:
basis/math/vectors/simd/functor/functor.factor
2009-11-14 21:02:39 -06:00
Joe Groff
9efff4a322
backend fixups
2009-11-14 20:59:03 -06:00
Joe Groff
db1ae26801
sever lingering dependencies on simd from compiler
2009-11-11 16:08:40 -06:00
Slava Pestov
d630e1494c
Fix struct field alignment on PowerPC
2009-11-10 19:34:14 -06:00
Slava Pestov
0de1335d88
Fix some test failures
2009-11-10 16:48:06 -06:00
Joe Groff
b09b0f0686
Merge branch 'master' into simd-cleanup
2009-11-07 22:26:09 -06:00
Philipp Brüschweiler
4d185704d6
sequences: rename virtual-seq to virtual-exemplar
2009-11-07 00:06:26 +01:00
Slava Pestov
b46c055699
math: fix test failures on 32-bit
2009-11-06 04:50:41 -06:00
Joe Groff
078e999e37
Merge branch 'master' of git://factorcode.org/git/factor
2009-11-05 22:23:21 -06:00
Joe Groff
25d384abe4
remove non-primitive-related uses of tuck from basis
2009-11-05 17:03:24 -06:00
Joe Groff
131605be2e
eliminate spin from basis
2009-11-05 14:05:06 -06:00
Joe Groff
a279b360eb
Merge branch 'master' into simd-cleanup
...
Conflicts:
basis/math/vectors/simd/functor/functor.factor
2009-11-05 11:27:08 -06:00
Joe Groff
cf28782533
more intrinsic madness
2009-11-05 09:52:57 -06:00
Doug Coleman
ace4476232
Merge branch 'master' of git://factorcode.org/git/factor
2009-11-05 01:58:40 -06:00
Slava Pestov
39c192c829
Align stack pointer on non-Mac OS X x86-32 platforms, and use aligned loads/stores for SIMD values
2009-11-03 23:51:44 -06:00
Joe Groff
ecf7119fec
typos
2009-11-03 21:38:55 -06:00
Joe Groff
e01e417ae3
remove math.vectors .specialization, .simd.functor, .simd.intrinsics
2009-11-02 15:00:39 -06:00
Joe Groff
1f9dcf31e6
redo math.vectors.simd to use generics for specialization
2009-11-02 14:59:07 -06:00
Joe Groff
4da91ee689
genericize vector ops
2009-11-02 14:21:19 -06:00
Doug Coleman
c9d233052d
add sorted-histogram word
2009-11-01 23:16:26 -06:00
Joe Groff
f1ed3b1787
fix float integer^ for denormal results
2009-11-01 00:43:04 -05:00
Doug Coleman
c20a5166ad
fix help lint
2009-10-30 13:35:20 -05:00
Doug Coleman
74d8554ca1
move docs for nth-root, fix docs for minmax
2009-10-30 06:37:02 -05:00
Doug Coleman
846d9ba6c4
slightly better math.statistics docs
2009-10-30 03:06:03 -05:00
Doug Coleman
a39edf9500
move histogram to math.statistics, write a main article for math.statistics
2009-10-30 02:55:54 -05:00
Doug Coleman
897ef1aa62
move nth-root to math.functions, use exchange-unsafe in math.statistics
2009-10-30 02:35:51 -05:00
Joe Groff
11dd8720f4
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-30 00:42:37 -05:00
Joe Groff
ca8d4c15f4
add ##shl-vector-imm and ##shr-vector-imm insn variants. use merge/shr instead of compare/merge to do signed unpacks
2009-10-30 00:41:19 -05:00
Doug Coleman
1ee8c8f5eb
sigma -> map-sum
2009-10-29 14:34:04 -05:00
Joe Groff
c6761710a6
Merge branch 'master' of http://factorcode.org/git/factor
...
Conflicts:
basis/locals/locals.factor
basis/peg/peg.factor
extra/infix/infix.factor
2009-10-28 16:17:24 -05:00
Joe Groff
22a9be5ea5
update existing code to use :> ( ) when possible
2009-10-28 16:11:33 -05:00
Doug Coleman
b5fd809209
memq? -> member-eq?, sorted-memq? -> sorted-member-eq?
2009-10-28 15:02:00 -05:00
Doug Coleman
a57e990af7
parsed -> suffix!, add append!
2009-10-28 13:38:27 -05:00
Slava Pestov
34d3d4962a
change-each -> map!, deep-change-each -> deep-map!
2009-10-27 22:32:56 -05:00
Slava Pestov
ed3de4ae29
math.matrices: remove dead code
2009-10-23 07:01:57 -05:00
Slava Pestov
d9796a577c
mirrors: don't depend on specialized-arrays, it pulls in too much
2009-10-23 04:24:20 -05:00
Joe Groff
d85432440f
math.matrices: vectorizable definition of cross
2009-10-22 16:26:25 -05:00
Doug Coleman
4b5ed34fe8
fix more docs typos
2009-10-21 18:11:24 -05:00
Doug Coleman
aabaccff5e
fix a bunch of typos in docs
2009-10-21 17:40:43 -05:00
Joe Groff
1a3ea6b6f5
vif combinator
2009-10-20 22:49:20 -05:00
Joe Groff
a2976083be
generate unsigned vector comparison fallbacks using min/max or xor/signed compare
2009-10-20 22:30:57 -05:00
Joe Groff
a0a816e88a
generate better fallback code for vmin/vmax intrinsics
2009-10-20 19:22:38 -05:00
Joe Groff
d570e58374
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-20 17:42:29 -05:00
Joe Groff
d82546ee78
clean up vector lerp functions to be better vectorizable
2009-10-20 17:11:22 -05:00
Slava Pestov
d171a5ac20
math.vectors: fix behavioral difference between generic vector vmin vmax and float specialized versions thereof
2009-10-20 07:06:44 -05:00
Joe Groff
16038161d9
inline trilerp so that perlin-noise is pretty much instantaneous
2009-10-19 15:11:59 -05:00
Joe Groff
38e58fca39
make vshuffle-bytes intrinsic for any shuffle mask type
2009-10-19 12:25:55 -05:00
Joe Groff
1fb2b6b78f
math.vectors.conversion docs
2009-10-18 21:25:09 -05:00
Joe Groff
e32c18525b
update vshuffle docs
2009-10-18 16:34:44 -05:00
Joe Groff
bd9dd863dc
scuttle bogus math.vectors.simd test
2009-10-17 18:47:31 -05:00
Joe Groff
ecf7819710
fix sporadic "fall-through in cond" failure in float math.vectors.simd tests
2009-10-17 16:54:51 -05:00
Joe Groff
31cd3b9ec1
fix type propagation information put on non-SIMD specializations of vany?, vall?, vnone?
2009-10-17 11:21:08 -05:00
Joe Groff
0c8ad9f66c
make hlshift/hrshift simd tests endian agnostic
2009-10-17 00:34:35 -05:00
Slava Pestov
19e242e18f
syntax: fix docs for :
2009-10-16 23:45:10 -05:00
Joe Groff
764e451784
improve error reporting of failing simd fallbacks
2009-10-16 16:34:26 -05:00
Joe Groff
bff46b80a8
fix unsigned vector unpack
2009-10-16 14:25:33 -05:00
Slava Pestov
049ece7dff
math.vectors.simd: fix typos in docs reported by Ed Swartz
2009-10-13 05:13:22 -05:00
Joe Groff
aa31f7105a
fix fallbacks for vall?, vany?, vnone?
2009-10-10 13:01:13 -05:00
Joe Groff
6899b128c8
change the simd-struct tests to cover integer vector slots
2009-10-10 12:23:25 -05:00
Joe Groff
61befc8bb1
have vshuffle accept simd-128 variable byte shuffles
2009-10-10 11:30:11 -05:00
Joe Groff
5158a12d32
rename ##shuffle-vector to ##shuffle-vector-imm, and add a new ##shuffle-vector for dynamic shuffles. have vshuffle use ##shuffle-vector to do word and byte shuffles on x86
2009-10-09 21:26:27 -05:00
Joe Groff
2bfcd7ed81
generate better code for vabs when instruction isn't available instead of using software fallback (-0.0 andn for floats, x > 0 ? x : -x for signed ints, nop for unsigned ints)
2009-10-09 14:24:55 -05:00
Joe Groff
4972fbcbc9
implement vneg as an intrinsic in terms of load -0, subtract
2009-10-09 13:16:39 -05:00
Joe Groff
a083eb91c7
add SIMDS: ... ; and SPECIALIZED-ARRAYS: ... ; syntax
2009-10-09 10:43:37 -05:00
Joe Groff
f79d650c82
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-08 11:37:12 -05:00
Joe Groff
ac10ccd293
refactor math.vectors.conversion
2009-10-08 11:35:40 -05:00
Doug Coleman
db780c0848
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-07 20:53:04 -05:00
Joe Groff
43b51ef2eb
decompose %unpack-vector-head/tail into %compare-vector/%merge-vector-head/tail or %tail>head-vector/%unpack-vector-head insns when there isn't an actual unpack insn; get rid of fake x86 implementations
2009-10-07 14:09:46 -05:00
Doug Coleman
cc52544ef8
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-07 12:47:44 -05:00
Joe Groff
2d79729193
fix ##load-constant/##scalar>vector folding when constant is a fixnum
2009-10-07 12:46:08 -05:00
Doug Coleman
99458eb4fe
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-07 12:33:44 -05:00
Joe Groff
a13e75f4f4
don't generate a ##not-vector instruction if the cpu doesn't have one; instead, fall back to a ##fill-vector/##xor-vector combo. get rid of pretend %not-vector in cpu.x86
2009-10-07 11:59:36 -05:00
Joe Groff
867cc3e310
fix math.vectors.simd test load failure
2009-10-07 11:56:57 -05:00
Doug Coleman
f10f7e4815
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-07 11:52:34 -05:00
Joe Groff
9500976d29
break vector conversion intrinsics off to a math.vectors.conversion.backend vocab so the whole conversion vocab doesn't get sucked in by the compiler
2009-10-06 21:28:33 -05:00
Joe Groff
9c823b877b
add some math.vectors.conversion tests to cover some failing cases
2009-10-06 20:21:08 -05:00
Joe Groff
96cb1d5038
glue conversion intrinsics to instructions
2009-10-06 20:13:38 -05:00
Joe Groff
f103018580
assert that vconvert's inputs are of the right type
2009-10-06 17:42:36 -05:00
Joe Groff
0cbae3362f
math.vectors.conversion vocab with primitive words (to be mapped to intrinsics soon) and a super all-in-one "vconvert" macro wrapping the whole thing
2009-10-06 14:37:16 -05:00
Doug Coleman
f7c49961fb
fix a bug in bit-count that assumed 32bit fixnums, make bit-count work on byte-arrays, SIMD types, specialized-arrays, and aliens
2009-10-05 18:55:26 -05:00
Joe Groff
3e44e0bb02
rename SIMD vmerge and kids to (vmerge), make new vmerge more generally useful
2009-10-05 17:55:39 -05:00
Joe Groff
2d13aa8e6f
typo in vmerge-head, vmerge-tail docs
2009-10-05 11:14:14 -05:00
Joe Groff
f8a4469c5f
go back to using random instead of uniform-random-float in math.vectors.simd tests because the software and SIMD implementations of norm and v. can sporadically diverge when their different operation orders lead to cancellation of catastrophically small inputs
2009-10-03 22:57:04 -05:00
Joe Groff
c5993dbb39
fix v? software fallback
2009-10-03 22:37:45 -05:00
Joe Groff
dca9d3e535
add %merge-vector-head and %merge-vector-tail instructions to back vmerge
2009-10-03 21:48:53 -05:00
Joe Groff
398b460263
link vmerge into math.vectors docs
2009-10-03 21:48:16 -05:00
Joe Groff
a233acf1b2
software version of vmerge word (to be backed by UNPCK instructions on x86 and VMRG instructions on ppc)
2009-10-03 20:22:37 -05:00
Joe Groff
6c79f8e1e5
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-03 11:48:56 -05:00
Joe Groff
16cccffb71
sprinkle some NaNs onto math.vectors.simd fuzz tests to improve flavor
2009-10-03 11:47:02 -05:00
Joe Groff
335df20713
add intrinsics for v<=, v<, v=, v>, v>=, vunordered?
2009-10-03 11:29:34 -05:00
Slava Pestov
5dfe721e0c
math.floats.env: disable trap tests on OpenBSD i386 for now, until The World's Most Secure Operating System fixes a local DoS exploit
2009-10-03 10:59:54 -05:00
Joe Groff
e2e75c6b3a
add intrinsic for vnot/vbitnot
2009-10-02 20:04:28 -05:00
Doug Coleman
4b1b3ffbc7
i messed up a merge. weird
2009-10-02 16:05:00 -05:00
Doug Coleman
ff3ed1a3de
Merge branch 'master' of git://factorcode.org/git/factor into klazuka
...
Conflicts:
basis/math/vectors/vectors-docs.factor
2009-10-02 15:59:19 -05:00
Doug Coleman
c10b6d4ba7
Merge branch 'docs' of git://github.com/klazuka/factor into klazuka
...
Conflicts:
basis/math/vectors/vectors-docs.factor
2009-10-02 15:58:45 -05:00
Joe Groff
271e6ddde5
give math.vectors shuffle words their own docs subsection in anticipation of having more ops in there
2009-10-02 15:37:49 -05:00
Joe Groff
147a73441f
proofreading math.vectors docs
2009-10-02 15:18:42 -05:00
Joe Groff
a4f8f87a21
add notes to math.vectors docs about simd booleans
2009-10-02 15:11:06 -05:00
Joe Groff
e153d544eb
implement vand, vor, vandn, and vxor as bitwise intrinsics for simd types
2009-10-02 14:17:01 -05:00
Keith Lazuka
8f79ea91ba
docs: change $subsection to $subsections
2009-10-02 12:15:48 -04:00
Joe Groff
34eb7a9286
change vector logical words to reuse the input sequence types so that they work as simd fallbacks
2009-10-01 23:49:53 -05:00
Joe Groff
0bc690e749
define simd equal? methods as v= vall?
2009-10-01 23:46:37 -05:00
Joe Groff
9d424a1092
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
basis/compiler/codegen/codegen.factor
2009-10-01 23:14:16 -05:00
Joe Groff
c08cc860bf
create special intrinsic wrappers for 256-vector>scalar operations so that vall?, vany?, vnone? work on 256-vectors
2009-10-01 23:07:10 -05:00
Joe Groff
aaeaa9c506
add tests for v=, vany?, vall?, vnone?
2009-10-01 21:24:14 -05:00
Joe Groff
228ad950bb
%test-vector instruction for vany?, vall?, vnone?
2009-10-01 15:35:38 -05:00
Joe Groff
94070c11aa
%compare-vector instruction (only does v= for now)
2009-10-01 14:31:37 -05:00
Joe Groff
2303c0107e
add software vall?, vany?, vnone? words
2009-10-01 13:21:10 -05:00
Slava Pestov
16d08c01e3
math.vectors.simd.functor: don't open-code simd-nth and simd-with if we cannot generate double precision FP code. Should fix illegal instruction trap on CPUs with only SSE1
2009-10-01 07:36:50 -05:00
Joe Groff
ef9abec15a
write v? and vmask in terms of bitwise ops
2009-10-01 00:09:25 -05:00
Joe Groff
3ba79be651
Revert "add a %blend-vector intrinsic for v?"
...
This reverts commit 21e4b28b67 .
2009-09-30 23:40:37 -05:00
Joe Groff
37a091a188
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-30 23:04:04 -05:00
Joe Groff
21e4b28b67
add a %blend-vector intrinsic for v?
2009-09-30 23:03:59 -05:00
Slava Pestov
65421b111b
math.vectors.simd: use fallbacks for hlshift, hrshift, vshuffle if parameter is not a literal;al; element access in int-4 on x86-64 now sign-extends the value; don't throw error at compile time if parameter for vshuffle does not have enough elements
2009-09-30 20:04:37 -05:00