Commit Graph

797 Commits (2bc643cb84ac720042a6ee48414b4b4b64caac72)

Author SHA1 Message Date
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