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