Joe Groff
af83a9341c
math.vectors.simd.intrinsics: wrap intrinsic fallback bodies in call( -- ) so we can abuse macros in their normally-inlined bodies
2010-05-23 22:39:44 -07:00
Slava Pestov
ba7cb61133
Stack allocation improvements
...
- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas
2010-05-22 02:37:00 -04:00
Doug Coleman
bdecd564a3
Use keys/values where appropriate
2010-05-21 12:48:04 -05:00
Slava Pestov
a8098e3182
specialized-arrays: rename byte-array>T-array to T-array-cast, and make it work with anything that responds to >c-ptr / byte-length
2010-05-18 23:09:34 -04:00
Slava Pestov
e30a429985
Fixing fallout from sequences.generalizations change
2010-05-18 22:59:07 -04:00
Slava Pestov
ea726f5680
Move remaining sequence operations from generalizations to sequences.generalizations where they belong
2010-05-18 18:36:47 -04:00
Slava Pestov
5b48cd2a63
FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing
2010-05-16 03:43:23 -04:00
Joe Groff
7c6c4ef8ae
math.bitwise: factor M\ fixnum (bit-count) to a separate word so it can be made intrinsic
2010-05-15 13:27:26 -07:00
Joe Groff
8f1751cd54
math.vectors.simd.intrinsics: fix scalar fallback for (simd-vshuffle2-elements)
2010-05-14 02:47:39 -07:00
Joe Groff
2744816209
math.vectors, math.vectors.simd: add user-facing vshuffle2 word
2010-05-14 02:47:05 -07:00
Joe Groff
9f9e145819
math.vectors.simd.intrinsics: (simd-vshuffle2-elements) intrinsic that creates a vector by selecting elements from two input vectors. use ##shuffle-vector-halves-imm to implement for double-2s with SSE
2010-05-14 01:16:29 -07:00
Slava Pestov
fe30355ec7
math.vectors.simd.cords: implement new-sequence and like methods on cords to make cross product work
2010-05-13 21:55:19 -04:00
Slava Pestov
627295f094
Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)
2010-05-06 17:21:02 -04:00
Slava Pestov
60299f6d74
Eliminate some -rot from the codebase
2010-05-03 18:31:01 -04:00
Slava Pestov
38bafd2be8
compiler.cfg.linear-scan.assignment: spill slot representation logic was backwards, just like Factor
2010-05-03 17:34:29 -04:00
Doug Coleman
f67c62b0e4
Fix help lint for math.polynomials
2010-04-30 14:04:45 -05:00
Doug Coleman
e15c02f308
Clean up math.polynomials some
2010-04-30 08:42:29 -05:00
Slava Pestov
cea21f6a3d
math.vectors: (vmerge) shouldn't be generic
2010-04-29 02:28:05 -04:00
Slava Pestov
4ee9e5336f
math.vectors.simd.cords: a dash of inline sauce
2010-04-29 01:58:56 -04:00
Joe Groff
0ab9046300
rename half-floats vocab to math.floats.half
2010-04-28 15:48:47 -07:00
Daniel Ehrenberg
aa6158b366
Changing require-when usages to the new syntax for require-when
2010-04-18 14:29:24 -05:00
Joe Groff
1dadc4efed
Merge branch 'master' of git://factorcode.org/git/factor
2010-04-14 13:16:08 -07:00
Joe Groff
efbc3033da
math.libm: use FUNCTION-ALIAS:
2010-04-14 12:25:22 -07:00
Slava Pestov
da6bcbedfc
Replace 'untested' tag with 'not loaded' and 'not tested' tags
2010-04-13 18:43:01 -07:00
Joe Groff
ef884ef7f2
Merge branch 'master' into abi-symbols
2010-04-01 15:28:36 -07:00
Doug Coleman
026499e64f
Use flags{ instead of flags all over the place
2010-04-01 14:44:03 -05:00
Joe Groff
4fd61f0b5c
cpu.architecture: alter param-regs to take abi as an (ignored for now) argument
2010-04-01 02:53:40 -07:00
Joe Groff
65c3259761
"cdecl" -> cdecl
2010-03-31 19:20:35 -07:00
Doug Coleman
b39e3f4700
Link a word in math docs
2010-03-31 15:09:51 -05:00
Daniel Ehrenberg
4af88ff9ff
Making more vocabs use require-when
2010-03-18 01:39:30 -04:00
Daniel Ehrenberg
eb060443db
Updating code to use require-when rather than vocab [ require ] when
2010-03-18 01:13:37 -04:00
Daniel Ehrenberg
512fe14e4e
Merge branch 'bags' of git://github.com/littledan/Factor
...
Conflicts:
basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor
basis/furnace/auth/auth.factor
basis/stack-checker/backend/backend.factor
2010-03-16 13:28:00 -04:00
Joe Groff
e7968ceffc
mop up compiler errors from macosx load-all
2010-03-09 00:56:07 -08:00
Joe Groff
191ac353fd
generalize stack effects so we can bootstrap with the stricter stack effect checking
2010-03-08 23:38:10 -08:00
Daniel Ehrenberg
434605c0b5
Changing some uses of prune to use members
2010-02-27 13:14:03 -05:00
Erik Charlebois
cebabdc323
Add perp and angle-between words for vectors. Fix bug in cross product and add unit tests.
2010-02-25 16:46:02 -08:00
Slava Pestov
7826543d2e
sequences: add cartesian-each, cartesian-map, cartesian-product words to eliminate some duplication throughout the codebase
2010-02-25 20:54:57 +13:00
Slava Pestov
af0ddd5985
Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams
2010-02-24 20:18:41 +13:00
Joe Groff
92e1ca8b61
math.blas: update string c-types
2010-02-21 16:49:58 -08:00
Slava Pestov
95bfc8a240
vocabs.metadata: replace unportable tag with a platforms.txt file for more fine-grained control. Rename unportable tag to untested for remaining cases
2010-02-20 13:30:49 +13:00
Slava Pestov
220dd88a2c
Update documentation for new help lint check
2010-02-19 12:31:52 +13:00
Slava Pestov
ff172f4132
Make specialized arrays and SIMD types final so that typed can unbox them
2010-02-18 02:39:40 +13:00
Joe Groff
08a20f9478
math.blas.config: add deploy-blas? variable
2010-02-16 13:38:29 -08:00
Slava Pestov
f01487eb83
A few documentation fixes
2010-02-17 00:05:36 +13:00
Slava Pestov
361de6c470
math.points: move to extra
2010-02-16 15:29:02 +13:00
Slava Pestov
4893ebf183
Small cleanups
2010-02-16 04:04:09 +13:00
Erik Charlebois
8f86cc6e51
Made p^ more efficient by repeated squaring instead of repeated multiplication
2010-02-13 19:47:44 -08:00
Erik Charlebois
52230d6c4d
Add p^ to polynomial vocab for exponentiation of polynomials
2010-02-13 02:35:09 -08:00
Slava Pestov
6e34de5588
math.functions: clean up
2010-02-10 15:04:58 +13:00
Slava Pestov
48373a6c4c
Remove math.floats.parser now that its no longer needed
2010-02-08 16:52:29 +13:00
Slava Pestov
38ca12e9d8
math.floats.parser: new vocabulary with old string>float word
2010-02-08 08:32:13 +13:00
Slava Pestov
db4a1f7536
Fix unit test for math.parser change
2010-02-08 08:31:17 +13:00
Joe Groff
60561dd490
math.quaternions: slerp function
2010-02-04 20:08:37 -08:00
Joe Groff
2381e9bf24
quaterion to matrix4 conversion
2010-02-04 11:25:45 -08:00
Joe Groff
4ba8c6e0b5
Merge branch 'master' of git://factorcode.org/git/factor
2010-02-03 21:50:36 -08:00
Slava Pestov
87665c8f40
math.statistics: rename histogram* to histogram! and rename sequence>assoc* to sequence>assoc!
2010-02-03 23:11:33 +13:00
Joe Groff
8cf05e9909
vector-friendlier math.quaternions
2010-02-02 00:30:21 -08:00
Doug Coleman
4a7845e52c
Add [1,b) to math.ranges. Use [1,b] in random.sfmt
2010-01-31 14:48:01 -06:00
Slava Pestov
7fe96f3eff
math.ranges: doesn't need an equal? method, since sequence doesn't define one, and default tuple equal? is fine for ranges
2010-01-27 19:28:45 +13:00
Slava Pestov
f804c9c422
Move compile-call and related words only meant to be used for debugging to compiler.test
2010-01-23 00:39:56 +13:00
Doug Coleman
97668156d9
NetBSD 64 blas abi changed
2010-01-21 05:02:39 -06: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
Doug Coleman
4e6a5a772f
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
9356da6fb3
Fix a few integers-as-sequences in docs
2010-01-14 17:20:43 -06:00
Slava Pestov
df40d92216
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
ad6d8556e0
Change [0,b) usages to iota
2010-01-15 08:05:50 +13:00
Doug Coleman
4c71d71907
random is generic now -- iota random -> random
2010-01-14 12:48:57 -06:00
Slava Pestov
df4fb4a3ee
Removing integers-as-sequences
2010-01-15 07:15:33 +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
Slava Pestov
d84f132589
math.floats.env.x86: split off 32 and 64-bit code into sub-vocabularies
2010-01-07 20:44:28 +13:00
Slava Pestov
dd5452053a
math.floats.env: don't load cpu.x86.64 on x86.32
2010-01-07 20:13:42 +13:00
Slava Pestov
235f3238f5
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
ae9bca2b1e
add MAIN: run-unix-factor to math.primes.factors
2009-12-12 23:39:59 -06:00
Doug Coleman
8b38997e55
better minmax
2009-12-07 17:26:33 -06:00
Doug Coleman
313f70dbd6
Merge branch 'master' of git://factorcode.org/git/factor
2009-12-06 02:28:46 -06:00
Joe Groff
6b9c4254ad
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
2b2be5f121
Merge branch 'master' of git://factorcode.org/git/factor
2009-12-05 17:18:49 -08:00
Joe Groff
3e40a36c50
fix simd tests
2009-12-05 17:17:16 -08:00
Joe Groff
d412845b41
add v*high, v*hs+, vsad, and vavg to simd fuzz tests
2009-12-05 15:42:41 -08:00
Joe Groff
af39e5d52c
missing USING:s
2009-12-05 15:38:57 -08:00
Slava Pestov
0a5826c123
math.combinatorics: remove 'mirrors' from using list since its not needed
2009-12-05 18:21:32 -05:00
Slava Pestov
abe72ae7ae
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
104c29aabc
simd intrinsic implementation for v*high, v*hs+, vavg, and vsad
2009-12-05 14:52:18 -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
36b0b65320
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
53ca7f208b
update math.vectors docs for simd changes
2009-12-04 13:21:18 -08:00
Doug Coleman
0a48b946b6
Merge branch 'master' of git://factorcode.org/git/factor
2009-12-02 20:11:08 -06:00
Doug Coleman
a1bb120498
clean up math.combinatorics and add another combinator
2009-11-27 22:50:06 -06:00
Joe Groff
67cc1c01be
Merge branch 'master' into simd-cleanup
2009-11-26 16:14:46 -08:00
Joe Groff
66d0cafa94
fix buggy simd intrinsics
2009-11-26 13:28:40 -08:00
Joe Groff
ac5d3d5652
remove SIMDS:
2009-11-26 11:15:46 -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
7da80f65e7
trick math.vectors.simd into making nicer quotations
2009-11-25 20:24:09 -08:00
Joe Groff
4027002db7
remove SIMD:s
2009-11-25 20:21:54 -08:00
Joe Groff
578a0e3fd5
math.vectors.simd.cords vocab that defines vector cords
2009-11-25 18:01:58 -08:00
Joe Groff
46f0aa6421
move cords to sequences.cords
2009-11-24 22:56:42 -08:00
Joe Groff
9128f1f160
remove mentions of 256-bit vectors from math.vectors.simd
2009-11-24 22:26:16 -08:00
Joe Groff
3f5b3c2c1b
fix math.vectors.conversion help-lint
2009-11-24 22:20:43 -08:00
Joe Groff
d344023b1c
update math.vectors.conversion
2009-11-24 20:53:40 -08:00
Doug Coleman
7a00f24d6b
revert math.matrices.elimintion until someone fixes it properly
2009-11-24 20:41:59 -06:00
Joe Groff
c98eb84943
make math.vectors.simd tests pass again
2009-11-24 18:30:12 -08:00
Joe Groff
d94ffe6d78
scalar fallbacks for simd intrinsics
2009-11-23 21:24:55 -08:00
Slava Pestov
0612bc6177
Factor source files should not be executable
2009-11-21 17:50:43 -06:00
Joe Groff
6794d14652
typo
2009-11-19 12:17:14 -08:00
Joe Groff
152b0d2df5
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
736be27162
move methods back into simd functor so the intrinsics can compile
2009-11-19 11:29:15 -08:00
Joe Groff
c07f3212f9
fix effect of set-alien-vector
2009-11-18 22:18:42 -08:00
Joe Groff
a3e4ecfc7d
enable simd intrinsics and fix first-pass compiler errors
2009-11-18 20:32:05 -08:00
Joe Groff
243e5b43ce
fixes for stronger stack checker
2009-11-14 22:25:00 -06:00
Joe Groff
f544982fda
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
8a8699ac98
backend fixups
2009-11-14 20:59:03 -06:00
Joe Groff
e323071c44
sever lingering dependencies on simd from compiler
2009-11-11 16:08:40 -06:00
Slava Pestov
e9a7191050
Fix struct field alignment on PowerPC
2009-11-10 19:34:14 -06:00
Slava Pestov
425e9d0dde
Fix some test failures
2009-11-10 16:48:06 -06:00
Joe Groff
8894e9047c
Merge branch 'master' into simd-cleanup
2009-11-07 22:26:09 -06:00
Philipp Brüschweiler
8163c47b4a
sequences: rename virtual-seq to virtual-exemplar
2009-11-07 00:06:26 +01:00
Slava Pestov
a089163a40
math: fix test failures on 32-bit
2009-11-06 04:50:41 -06:00
Joe Groff
4b0edb34d3
Merge branch 'master' of git://factorcode.org/git/factor
2009-11-05 22:23:21 -06:00
Joe Groff
61d579360d
remove non-primitive-related uses of tuck from basis
2009-11-05 17:03:24 -06:00
Joe Groff
fa6d7b7069
eliminate spin from basis
2009-11-05 14:05:06 -06:00
Joe Groff
75d04922b9
Merge branch 'master' into simd-cleanup
...
Conflicts:
basis/math/vectors/simd/functor/functor.factor
2009-11-05 11:27:08 -06:00
Joe Groff
4d54f27cd1
more intrinsic madness
2009-11-05 09:52:57 -06:00
Doug Coleman
2df2c1a339
Merge branch 'master' of git://factorcode.org/git/factor
2009-11-05 01:58:40 -06:00
Slava Pestov
2b1a26228b
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
b98742be30
typos
2009-11-03 21:38:55 -06:00
Joe Groff
73d2a75644
remove math.vectors .specialization, .simd.functor, .simd.intrinsics
2009-11-02 15:00:39 -06:00
Joe Groff
9cf3ab3da1
redo math.vectors.simd to use generics for specialization
2009-11-02 14:59:07 -06:00
Joe Groff
e0ba0c5539
genericize vector ops
2009-11-02 14:21:19 -06:00
Doug Coleman
092dd9fc39
add sorted-histogram word
2009-11-01 23:16:26 -06:00
Joe Groff
fab5cbc6b9
fix float integer^ for denormal results
2009-11-01 00:43:04 -05:00
Doug Coleman
89a426d797
fix help lint
2009-10-30 13:35:20 -05:00
Doug Coleman
44acd45f2a
move docs for nth-root, fix docs for minmax
2009-10-30 06:37:02 -05:00
Doug Coleman
32a51b584c
slightly better math.statistics docs
2009-10-30 03:06:03 -05:00
Doug Coleman
320128c7eb
move histogram to math.statistics, write a main article for math.statistics
2009-10-30 02:55:54 -05:00
Doug Coleman
003787113f
move nth-root to math.functions, use exchange-unsafe in math.statistics
2009-10-30 02:35:51 -05:00
Joe Groff
1cf45abf06
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-30 00:42:37 -05:00
Joe Groff
b858860a67
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
1d12a6707d
sigma -> map-sum
2009-10-29 14:34:04 -05:00
Joe Groff
3fbe722561
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
6e1bffb1c5
update existing code to use :> ( ) when possible
2009-10-28 16:11:33 -05:00
Doug Coleman
bd13e018dd
memq? -> member-eq?, sorted-memq? -> sorted-member-eq?
2009-10-28 15:02:00 -05:00
Doug Coleman
7ce4b746e5
parsed -> suffix!, add append!
2009-10-28 13:38:27 -05:00
Slava Pestov
08e7d25dc5
change-each -> map!, deep-change-each -> deep-map!
2009-10-27 22:32:56 -05:00
Slava Pestov
1e13f94e9f
math.matrices: remove dead code
2009-10-23 07:01:57 -05:00
Slava Pestov
bbedd03f6b
mirrors: don't depend on specialized-arrays, it pulls in too much
2009-10-23 04:24:20 -05:00
Joe Groff
84f203afcc
math.matrices: vectorizable definition of cross
2009-10-22 16:26:25 -05:00
Doug Coleman
1b4e3cb7a6
fix more docs typos
2009-10-21 18:11:24 -05:00
Doug Coleman
0d4b9132d7
fix a bunch of typos in docs
2009-10-21 17:40:43 -05:00
Joe Groff
bedfc8f13c
vif combinator
2009-10-20 22:49:20 -05:00
Joe Groff
8a6b0a1453
generate unsigned vector comparison fallbacks using min/max or xor/signed compare
2009-10-20 22:30:57 -05:00