Commit Graph

70 Commits (cb4ca7cca410fcd9c3a76b633f47e5475e442024)

Author SHA1 Message Date
Doug Coleman 7c7bb93c55 factor: Rename GENERIC# to GENERIC#:.
Fixes #1670.
2017-06-01 13:58:58 -05:00
Björn Lindqvist cb39da4b31 math.vectors: new word vclamp for clamping vectors 2016-08-22 14:22:26 +02:00
Alexander Iljin fc7b70a17e Rename variables in some stack declarations for consistency.
It doesn't look great when a word is called "v/n", but the declared
parameters are "u" and "n". Better to have the parameters "v" and "n".
Also for consistency all input parameters are named "v" for "vector" (or
"u" and "v" in the alphabetical order), and the result vector is always
"w".
2015-11-04 07:47:57 -08:00
Björn Lindqvist 001acde590 math.vectors: new word v>integer = [ >integer ] map 2014-11-17 19:02:12 -08:00
Doug Coleman fb60673840 math.vectors: Don't use macro with locals and cond in vif. Stack-checker/locals/macros/smart-combinators all need some work (a rewrite?), but meanwhile don't let it get in the way. Add tests. 2013-01-03 09:49:31 -08:00
Doug Coleman 2ab5607670 math.vectors: Fix spacing. 2013-01-02 00:09:21 -08:00
Doug Coleman 6c9a6122de math.vectors: Implement infinity p-norm and special-case l1-norm and l2-norm. 2012-08-30 16:47:45 -07:00
John Benediktsson aed6825b4a math.vectors: implement v^, v^n, n^v. 2012-07-30 16:15:00 -07:00
John Benediktsson 95b82eecfa math.vectors: adding p-norm. 2012-05-03 13:27:00 -07:00
John Benediktsson 4f046a2339 math.vectors: separate "dot product" from "Hermitian inner product". Fixes #484. 2012-03-29 10:56:39 -07:00
Joe Groff aa1ad21d72 fix help-lint failures 2011-12-14 11:33:17 -08:00
Joe Groff fe767253a1 math.vectors: add higher-order stack effect to vif 2011-12-13 19:46:44 -08:00
Joe Groff d79b462f75 compiler: add intrinsic for PMOVMSKB/MOVMSKP[SD]
Combined with a fast bit-count this will let us rice byte-counting.
2011-11-13 16:10:20 -08:00
John Benediktsson fb2aab3545 Remove unused words. Fixes #132. 2011-10-19 11:01:16 -07:00
Joe Groff 2744816209 math.vectors, math.vectors.simd: add user-facing vshuffle2 word 2010-05-14 02:47:05 -07:00
Slava Pestov cea21f6a3d math.vectors: (vmerge) shouldn't be generic 2010-04-29 02:28:05 -04:00
Slava Pestov 8836ce2581 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
Slava Pestov 47a5e96547 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
Joe Groff af39e5d52c missing USING:s 2009-12-05 15:38:57 -08:00
Joe Groff 1845915dc6 add v*high, v*hs+, vavg, and vsad operations to math.vectors 2009-12-05 11:32:31 -08:00
Joe Groff 53ca7f208b update math.vectors docs for simd changes 2009-12-04 13:21:18 -08:00
Joe Groff 0795c60b83 "norm" doesn't need to be generic, "norm-sq sqrt" always works 2009-11-26 11:15:35 -08:00
Joe Groff c98eb84943 make math.vectors.simd tests pass again 2009-11-24 18:30:12 -08:00
Joe Groff e323071c44 sever lingering dependencies on simd from compiler 2009-11-11 16:08:40 -06:00
Joe Groff e0ba0c5539 genericize vector ops 2009-11-02 14:21:19 -06:00
Joe Groff 84f203afcc math.matrices: vectorizable definition of cross 2009-10-22 16:26:25 -05:00
Joe Groff bedfc8f13c vif combinator 2009-10-20 22:49:20 -05:00
Joe Groff 6f72c3ca24 Merge branch 'master' of git://factorcode.org/git/factor 2009-10-20 17:42:29 -05:00
Joe Groff 34344be636 clean up vector lerp functions to be better vectorizable 2009-10-20 17:11:22 -05:00
Slava Pestov 248f178e64 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 b212e8edd0 inline trilerp so that perlin-noise is pretty much instantaneous 2009-10-19 15:11:59 -05:00
Joe Groff b411f1701a make vshuffle-bytes intrinsic for any shuffle mask type 2009-10-19 12:25:55 -05:00
Joe Groff 588899a1b3 fix fallbacks for vall?, vany?, vnone? 2009-10-10 13:01:13 -05:00
Joe Groff d9002127fa have vshuffle accept simd-128 variable byte shuffles 2009-10-10 11:30:11 -05:00
Joe Groff fbe810fc3b rename SIMD vmerge and kids to (vmerge), make new vmerge more generally useful 2009-10-05 17:55:39 -05:00
Joe Groff 626954a071 fix v? software fallback 2009-10-03 22:37:45 -05:00
Joe Groff d3c51baf91 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 aa3392e50f implement vand, vor, vandn, and vxor as bitwise intrinsics for simd types 2009-10-02 14:17:01 -05:00
Joe Groff 8b7a813a08 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 0c8a4717f2 add software vall?, vany?, vnone? words 2009-10-01 13:21:10 -05:00
Joe Groff 5ac5a74cc6 write v? and vmask in terms of bitwise ops 2009-10-01 00:09:25 -05:00
Joe Groff a93f8f66f9 Revert "add a %blend-vector intrinsic for v?"
This reverts commit 21e4b28b67.
2009-09-30 23:40:37 -05:00
Joe Groff 7db7b63552 add a %blend-vector intrinsic for v? 2009-09-30 23:03:59 -05:00
Slava Pestov 80e84a357d math.vectors.simd: add vbroadcast intrinsic, fix integer overflow issues 2009-09-29 22:58:20 -05:00
Joe Groff 5e16592596 add a "vmask" vector op to selectively zero out elements 2009-09-29 18:10:36 -05:00
Slava Pestov e40a95c1e1 math.vectors.simd: add vshuffle intrinsic 2009-09-28 23:12:13 -05:00
Slava Pestov a8ea929ad9 Work in progress 2009-09-28 17:31:34 -05:00
Slava Pestov 9a06e6f424 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 b2ea3afd84 math.vectors.simd: add hlshift, hrshift (128-bit shift), vbitandn intrinsics 2009-09-28 02:17:46 -05:00
Joe Groff c2145c933b software implementations of vector logical ops (vand, vor, vxor, vnot, v</=/>, vunordered?, v?) 2009-09-27 13:19:22 -05:00