Commit Graph

50 Commits (7ff587858e8722485ad6defad6428a1a7a8ed15e)

Author SHA1 Message Date
Joe Groff c72a3c452b update math.vectors docs for simd changes 2009-12-04 13:21:18 -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 90cd1b47f7 make math.vectors.simd tests pass again 2009-11-24 18:30:12 -08:00
Joe Groff db1ae26801 sever lingering dependencies on simd from compiler 2009-11-11 16:08:40 -06:00
Joe Groff 4da91ee689 genericize vector ops 2009-11-02 14:21:19 -06:00
Joe Groff d85432440f math.matrices: vectorizable definition of cross 2009-10-22 16:26:25 -05:00
Joe Groff 1a3ea6b6f5 vif combinator 2009-10-20 22:49:20 -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 aa31f7105a fix fallbacks for vall?, vany?, vnone? 2009-10-10 13:01:13 -05:00
Joe Groff 61befc8bb1 have vshuffle accept simd-128 variable byte shuffles 2009-10-10 11:30:11 -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 c5993dbb39 fix v? software fallback 2009-10-03 22:37:45 -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 e153d544eb implement vand, vor, vandn, and vxor as bitwise intrinsics for simd types 2009-10-02 14:17:01 -05: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 2303c0107e add software vall?, vany?, vnone? words 2009-10-01 13:21:10 -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 21e4b28b67 add a %blend-vector intrinsic for v? 2009-09-30 23:03:59 -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 3c497cd2b8 add a "vmask" vector op to selectively zero out elements 2009-09-29 18:10:36 -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 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 10c5fe5933 math.vectors.simd: add hlshift, hrshift (128-bit shift), vbitandn intrinsics 2009-09-28 02:17:46 -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 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 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 66871995c9 math.vectors.simd: add saturated arithmetic operations 2009-09-20 23:16:02 -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 9b4ffd65d3 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
Joe Groff 23ae3f4ab6 homogeneous coordinates coated in nurbsauce 2009-05-21 20:55:44 -05:00
Joe Groff 4dba6979da vector bilerp word 2009-05-20 10:26:55 -05:00
Joe Groff 1216ea2fd8 cut perlin-noise time in half 2009-05-10 10:41:50 -05:00
Joe Groff 1d58b94bf7 send bilerp upstream to spawn 2009-05-09 11:43:04 -05:00
Joe Groff e4c84a91f6 more vector operations; perlin noise vocab 2009-05-05 22:17:04 -05:00
Joe Groff ca0c8937ca lerp functions 2009-05-05 13:55:00 -05:00
Slava Pestov ae0da1cf98 Fix conflict 2009-02-05 22:29:15 -06:00
Joe Groff ccdd8999e1 swizzle word to swizzle sequences 2009-02-04 19:46:19 -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 9c27e9d61b Replace >r r> usage with dip in math.vectors 2008-11-17 18:17:14 -05:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -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 d66f887736 Create basis vocab root 2008-07-28 22:03:13 -05:00