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
Joe Groff
36918a03d9
accept f and t as elements of literal simd vectors, storing binary all-zeroes or all-ones
2009-09-30 19:04:02 -05:00
Joe Groff
d065203df4
break math.vectors docs into subsections
2009-09-30 13:21:25 -05:00
Joe Groff
ddcbdae778
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-30 00:07:45 -05:00
Joe Groff
f38107c4cd
docs for new math.vectors logical ops
2009-09-30 00:07:37 -05:00
Slava Pestov
14e82bcd7a
math.vectors.simd: fix bad comparison logic in unit tests
2009-09-29 23:46:21 -05:00
Slava Pestov
f1ce5ca191
math.functions: ~ now raises an invalid operation FP trap if one of the inputs is NaN
2009-09-29 23:41:08 -05:00
Slava Pestov
88d1488f1f
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-29 22:59:58 -05:00
Slava Pestov
1c8662ce4a
math.vectors.simd: add vbroadcast intrinsic, fix integer overflow issues
2009-09-29 22:58:20 -05:00
Joe Groff
f6bf60ec4e
math.matrices.simd versions of frustum-matrix4 and rotation-matrix4
2009-09-29 22:54:11 -05:00
Joe Groff
3c497cd2b8
add a "vmask" vector op to selectively zero out elements
2009-09-29 18:10:36 -05:00
Slava Pestov
2b13245704
math.vectors.simd: add fast intrinsic for 'nth', replace broadcast primitive with shuffles
2009-09-29 04:48:11 -05:00
Slava Pestov
a6e8277b2c
math.vectors.simd: add vshuffle intrinsic
2009-09-28 23:12:13 -05:00
Slava Pestov
db217295b0
Work in progress
2009-09-28 17:31:34 -05:00
Slava Pestov
e8243f7504
Fix some load errors in various places
2009-09-28 16:33:39 -05:00
Slava Pestov
f08521bf83
Fixing various test failures caused by C type parser change, and clarify C type docs some more
2009-09-28 08:48:39 -05:00
Slava Pestov
1109fb5725
math.vectors.simd: add intrinsic for int-4-boa, uint-4-boa, fix tests for C type parser change, fix software fallback for horizontal shifts
2009-09-28 06:34:22 -05:00
Slava Pestov
4df307fdae
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-28 02:19:05 -05:00
Slava Pestov
10c5fe5933
math.vectors.simd: add hlshift, hrshift (128-bit shift), vbitandn intrinsics
2009-09-28 02:17:46 -05:00
Joe Groff
ebaa9d1dd7
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-27 22:21:42 -05:00
Joe Groff
e8cefe07b3
take a shot at making other platform vocabs c-type-string-free
2009-09-27 19:25:34 -05:00
Slava Pestov
23ec1b85e8
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-27 17:18:16 -05:00
Slava Pestov
31cb338fc9
math.vectors.simd: add *-cast words for converting between representations
2009-09-27 17:18:02 -05:00
Joe Groff
ac2f3763e0
update vocabs so a load-all on macosx works without parsing c-type strings
2009-09-27 15:11:21 -05:00
Joe Groff
4035bf88a1
software implementations of vector logical ops (vand, vor, vxor, vnot, v</=/>, vunordered?, v?)
2009-09-27 13:19:22 -05:00
Slava Pestov
be214f9142
math.vectors: remove special handling for negative shifts, now we just say the behavior of vlshift and vrshift with negative shifts is undefined
2009-09-26 02:26:31 -05:00
Slava Pestov
26c83d262c
math.vectors: fix SIMD unit tests
2009-09-25 21:44:14 -05:00
Slava Pestov
d518bed6b7
math.vectors: change vlshift and vrshift to mask the shift count by HEX: ff, to make them behave consistently with their SIMD counterparts
2009-09-25 18:50:44 -05:00
Slava Pestov
e5b94b11d7
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
24039cb56a
math.vectors.simd: add v<< and v>> intrinsics for bitwise shifts on elements
2009-09-24 03:32:39 -05:00
Slava Pestov
eb5d30e724
Fix conflict
2009-09-23 20:52:04 -05:00
Slava Pestov
165496d2f2
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
ebbcfd7ffc
fix using
2009-09-23 12:47:20 -05:00
Doug Coleman
abb8a221db
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
7cc383614c
math.vectors.simd: Improved documentation
2009-09-23 03:14:06 -05:00
Slava Pestov
8d84bcb61a
math and math.vectors: improved documentation
2009-09-23 03:08:45 -05:00
Slava Pestov
abac963882
math.vectors.simd: new operations: vabs vsqrt vbitand vbitor vbitxor
2009-09-23 02:47:14 -05:00
Slava Pestov
863ccb61d6
math.vectors.simd: fix all tests
2009-09-23 01:05:19 -05:00
Keith Lazuka
293b9704d2
docs: updated some docs to use new markup
2009-09-22 15:22:34 -04:00
Doug Coleman
28e5a27c3f
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
8c2f5543cc
Merge branch 'master' into integer-simd
2009-09-22 03:24:52 -05:00
Slava Pestov
3a4465f6ae
math.functions: fix ~ with negative (relative) tolerance
2009-09-22 03:19:47 -05:00
Doug Coleman
e8502d1ebc
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-21 17:59:48 -05:00
Slava Pestov
e6cddf1fa7
Merge branch 'master' of git://factorcode.org/git/factor into integer-simd
2009-09-21 17:58:24 -05:00
Slava Pestov
85c916fedc
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
66871995c9
math.vectors.simd: add saturated arithmetic operations
2009-09-20 23:16:02 -05:00
Doug Coleman
026761ed62
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
47fab85a00
replace usages of <" with """
2009-09-20 22:42:40 -05:00
Slava Pestov
78c949b9b7
math.vectors: add v+- word which is accelerated by SSE3
2009-09-20 17:43:16 -05:00
Slava Pestov
dfb43bd2ca
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
ea2bcd69c7
math.vectors.simd: redesign to be more flexible, integer SIMD work in progress
2009-09-20 02:08:32 -05:00
Joe Groff
4a1422e7fe
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
21a0722752
fix more ambiguities
2009-09-17 09:29:23 -05:00
Joe Groff
9fbdfc9a54
fix "float" ambiguities in math.blas, opengl vocabs
2009-09-16 21:25:46 -05:00
Joe Groff
334e93bbbf
get things to a point where they bootstrap again
2009-09-15 21:43:18 -05:00
Slava Pestov
ef353b5eff
math: minor doc fixes
2009-09-15 15:42:46 -05:00
Slava Pestov
1b5614f974
math.functions: more accurate log10 (fixes problem reported by OneEyed)
2009-09-14 16:19:58 -05:00
Joe Groff
eadf1bc9d5
missed a few PPC status bits that needed clearing
2009-09-14 15:17:36 -05:00
Joe Groff
016caed095
vm-error>exception-flags word to extract exception flag information from a trap exception
2009-09-14 14:10:51 -05:00
Slava Pestov
6c3ef91642
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-14 02:39:24 -05:00
Slava Pestov
cab8638ab5
math.floats.env: Fix linux x86.64 some more
2009-09-14 02:39:12 -05:00
Joe Groff
4c16765f29
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-13 23:40:58 -05:00
Joe Groff
0284a4b6f8
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
8385bac126
math.floats.env: modify tests to take buggy Linux/x86-64 pow() into account
2009-09-13 23:26:09 -05:00
Slava Pestov
5de5f5e430
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
db9b2897dd
math.floats.env: fix compiled trap unit tests
2009-09-13 18:22:49 -05:00
Slava Pestov
b6e3336e02
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-13 00:09:09 -05:00
Slava Pestov
bdcc6ec66e
typos in altivec env
2009-09-12 22:30:11 -05:00
Slava Pestov
427bfb4ab8
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
1a19221159
set altivec denormal flag when with-denormal-mode is used
2009-09-12 20:39:41 -05:00
Joe Groff
da55501094
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-12 19:45:47 -05:00
Joe Groff
95d5697792
all-fp-exceptions constant
2009-09-12 18:13:25 -05:00
Slava Pestov
e6c551a652
math.order: better docs
2009-09-12 16:33:42 -05:00
Slava Pestov
a094d27edf
math.floats.env.ppc: fix ppc-fp-traps>bit
2009-09-12 12:57:15 -05:00
Slava Pestov
6191072712
math.floats.env.ppc: fix ppc-fp-traps-bits
2009-09-12 12:49:51 -05:00
Joe Groff
78d747fa59
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-12 09:04:53 -05:00
Joe Groff
a0f39d2235
typos in math.floats.env.ppc
2009-09-12 09:03:27 -05:00
Slava Pestov
18cb09a115
math.vectors.simd: don't run x86-specific tests on PPC
2009-09-11 21:38:40 -05:00
Joe Groff
be3f7824ed
typo
2009-09-11 20:31:06 -05:00
Joe Groff
c31791d470
log1+ word (maps to C99 log1p function)
2009-09-11 20:28:15 -05:00
Slava Pestov
1a0d9efa0f
Merge branch 'for-slava' of git://git.rfc1149.net/factor
2009-09-10 13:15:18 -05:00
Joe Groff
1a209d4ddb
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-09 23:38:01 -05:00
Joe Groff
4d5e547ba9
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
527db8995a
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
2a576f370b
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
3c9b2c327a
make math.floats.env backends unportable
2009-09-09 17:32:26 -05:00
Samuel Tardieu
5919ee8a79
Do not repeat sanity tests at each iteration
2009-09-09 21:35:24 +02:00
Joe Groff
8fff76fce2
add some tests to help track down leaks in FP state changes
2009-09-08 23:07:33 -05:00
Slava Pestov
3e90786bc1
Fix various test failures
2009-09-08 19:18:56 -05:00
Slava Pestov
3845472832
math.rectangles.positioning: don't position popups off-screen
2009-09-08 16:23:02 -05:00