Slava Pestov
0c40eb51ae
tools.profiler: fix tests
2009-10-22 05:40:31 -05:00
Joe Groff
6c1a70c218
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-22 00:18:16 -05:00
Joe Groff
9a91abe8a8
also print undocumented windows SSE exception codes
2009-10-22 00:18:01 -05:00
Joe Groff
c4fe86fa7d
tweak windows exception error printing
2009-10-21 23:59:37 -05:00
Joe Groff
432d4f79e9
give better error message for windows exceptions, and don't lop off the top end of the exception code when the vm throws the error
2009-10-21 23:37:51 -05:00
Joe Groff
66dc1c6311
oops, longlong comparison is sse4.2, not 4.1
2009-10-21 23:00:02 -05:00
Joe Groff
b89047b3d3
fix tools.deploy test
2009-10-21 22:12:28 -05:00
Joe Groff
c3b8847936
update a bunch of alien-callbacks and alien-indirects to use c-type words
2009-10-21 21:10:11 -05:00
Joe Groff
7fac3682a6
update some naked alien-invokes to use c-type words
2009-10-21 18:44:00 -05:00
Joe Groff
f9320e229f
update cocoa tests
2009-10-21 18:19:35 -05:00
Joe Groff
cc5f9ff98a
update cocoa bridge to use c-type words
2009-10-21 18:17:29 -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
Doug Coleman
83a442c30f
don't natural-sort the stack effects or $values in help-lint -- catches a lot more documentation errors
2009-10-21 17:39:53 -05:00
Doug Coleman
c5dd8d0b20
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-21 12:11:16 -05:00
Joe Groff
bedfc8f13c
vif combinator
2009-10-20 22:49:20 -05:00
Doug Coleman
9781e5180c
fix doc formatting for io.mmap
2009-10-20 22:43:11 -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
Joe Groff
cb36111a3c
generate better fallback code for vmin/vmax intrinsics
2009-10-20 19:22:38 -05:00
Joe Groff
6f72c3ca24
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-20 17:42:29 -05:00
Joe Groff
764e085004
value numbering rewrite rules for vector ops to convert "not and" to "andn" and "not andn" to "and"
2009-10-20 17:29:01 -05:00
Doug Coleman
5b4c1aea5d
run bootstrap and startup hooks inside a with-destructors. use &dispose instead of setting shutdown hooks in a couple of places
2009-10-20 18:26:10 -04:00
Joe Groff
34344be636
clean up vector lerp functions to be better vectorizable
2009-10-20 17:11:22 -05:00
Doug Coleman
f2b159529c
Merge branch 'master' into startup
2009-10-20 15:01:06 -04:00
Slava Pestov
d85d84697a
Change data heap alignment to 16 bytes
2009-10-20 12:45:00 -05:00
Slava Pestov
5c429fdfd9
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-20 07:07:16 -05:00
Slava Pestov
5346fb9f23
help.handbook: remove 'type index'
2009-10-20 07:07:03 -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
Slava Pestov
18be7e1f37
cpu.x86.32: only create 16-byte parameter area if the word calls into the VM
2009-10-20 05:02:42 -05:00
Slava Pestov
bcf57c5940
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-20 04:32:14 -05:00
Slava Pestov
1e7893b6ce
compiler: FFI is now slightly more efficient when unboxing parameters, only changes data stack height once
2009-10-20 04:31:48 -05:00
Slava Pestov
560b6f45cc
compiler, cpu.x86.32: clean up FFI implementation, in particular 32-bit x86-specific backend
2009-10-20 04:15:10 -05:00
Slava Pestov
5f3c94896f
specialized-arrays: fix unit test
2009-10-20 02:18:28 -05:00
Doug Coleman
278a6955c5
Merge branch 'master' into startup
2009-10-20 00:31:45 -04:00
Slava Pestov
08b683de61
ui.gadgets.editors: fix com-join-lines if there are more than two lines in the editor
2009-10-19 22:46:46 -05:00
Doug Coleman
6b6e56a179
change add-init-hook to add-startup-hook, new add-shutdown-hook word
2009-10-19 22:17:02 -04:00
Slava Pestov
fc317d7714
help.tutorial: clarify role of ''reload'' word
2009-10-19 19:17:38 -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
97259c772f
add a typed-disassemble convenience word to typed.debugger
2009-10-19 12:26:26 -05:00
Joe Groff
b411f1701a
make vshuffle-bytes intrinsic for any shuffle mask type
2009-10-19 12:25:55 -05:00
Slava Pestov
b427eb3f9a
tools.deploy: increase terrain size tolerance, decrease windows size tolerance
2009-10-19 06:11:00 -05:00
Slava Pestov
b6a0324be6
peg: fix unit test failures
2009-10-19 06:01:20 -05:00
Slava Pestov
2b868bd1c3
random.sfmt: make it endian-agnostic
2009-10-19 05:22:43 -05:00
Slava Pestov
b2592e01c1
compiler: fix typo in intrinsics tests
2009-10-19 05:16:04 -05:00
Slava Pestov
6a2434b56c
compiler: fix low-level-ir test on PowerPC
2009-10-19 05:03:02 -05:00
Slava Pestov
2d5cdd19ec
compiler: on PPC, ANDI, ORI and XORI instructions take an unsigned 16-bit immediate, unlike ADDI, SUBI and MULLI which take a signed 16-bit immediate. The code generator was not aware of this, and so for example '[ >fixnum -16 bitand ]' would generate incorrect code. Split up small-enough? hook into immediate-arithmetic? and immediate-bitwise? and update value numbering to be aware of this. Fixes classes.struct bitfields test failure
2009-10-19 04:58:29 -05:00
Slava Pestov
102af9badb
specialized-arrays, specialized-vectors: fix potential problem if two vocabularies define different C types with the same name
2009-10-19 04:41:53 -05:00
Slava Pestov
191e3cf2fb
peg.ebnf: fix
2009-10-19 04:05:26 -05:00
Slava Pestov
bf5d0de840
peg.ebnf: turn $unchecked-examples into $examples
2009-10-19 03:44:50 -05:00
Slava Pestov
e48d805be8
Merge branch 'ebnf' of git://double.co.nz/git/factor
2009-10-19 01:43:45 -05:00
Chris Double
10b8976379
peg.ebnf doc fixes to appease help.lint
2009-10-19 18:26:19 +13:00
Chris Double
06a70fd3c6
Tweak what EBNF words are private
2009-10-19 18:14:13 +13:00
Chris Double
040a4e732a
Basic peg.ebnf docs
2009-10-19 18:12:24 +13:00
Joe Groff
65acc78042
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-18 21:25:27 -05:00
Joe Groff
fca550d567
math.vectors.conversion docs
2009-10-18 21:25:09 -05:00
Joe Groff
2a156795c5
update vshuffle docs
2009-10-18 16:34:44 -05:00
Slava Pestov
b5455bd9df
tools.deploy.test: cheat on windows until we have class stripping
2009-10-18 15:24:09 -05:00
Slava Pestov
86c16eeb6a
cpu.x86.32: fix callbacks on platforms where stack is not aligned
2009-10-17 21:20:08 -05:00
Joe Groff
0653bae7ec
scuttle bogus math.vectors.simd test
2009-10-17 18:47:31 -05:00
Joe Groff
b9d2c068a4
fix sporadic "fall-through in cond" failure in float math.vectors.simd tests
2009-10-17 16:54:51 -05:00
Joe Groff
11e89b016d
moved "typed" to basis
2009-10-17 11:21:43 -05:00
Joe Groff
421b61f0e8
fix type propagation information put on non-SIMD specializations of vany?, vall?, vnone?
2009-10-17 11:21:08 -05:00
Joe Groff
7f001ee312
make hlshift/hrshift simd tests endian agnostic
2009-10-17 00:34:35 -05:00
Joe Groff
0ce6b3a12a
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-17 00:14:14 -05:00
Joe Groff
a7fcaf027c
use FRSP to convert double to single on PPC
2009-10-17 00:13:50 -05:00
Joe Groff
ac51237853
add unit test that doubles stored in single-precision float arrays round to nearest
2009-10-17 00:07:08 -05:00
Slava Pestov
63ca8ee5cc
tools.deploy.shaker: strip out typed word props
2009-10-16 23:59:45 -05:00
Slava Pestov
5afce2cc9e
alien.c-types: c-type no longer calls parser at runtime, tools.deploy.shaker now strips out runtime specialized array code generation
2009-10-16 23:50:17 -05:00
Slava Pestov
4ed91ff5ee
syntax: fix docs for :
2009-10-16 23:45:10 -05:00
Slava Pestov
fb79aec97e
typed: fix deployment
2009-10-16 21:22:01 -05:00
Slava Pestov
b762238f63
cpu.x86.32: fix magic stack frame handling
2009-10-16 21:07:09 -05:00
Doug Coleman
739f61bc56
fix using
2009-10-16 19:56:48 -05:00
Doug Coleman
b320aae399
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-16 16:39:57 -05:00
Joe Groff
c8eddf89e6
hurr
2009-10-16 16:39:33 -05:00
Doug Coleman
1d9c62ae7c
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-16 16:39:19 -05:00
Joe Groff
dd6308ead5
improve error reporting of failing simd fallbacks
2009-10-16 16:34:26 -05:00
Joe Groff
21b289e836
tweak parse-c-type so data-map can parse non-c-types
2009-10-16 16:10:09 -05:00
Joe Groff
448ef2f1d5
fix unsigned vector unpack
2009-10-16 14:25:33 -05:00
Joe Groff
4809253c48
make simd objects inspectable
2009-10-16 14:22:20 -05:00
Doug Coleman
7d43abe49b
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-16 12:51:25 -05:00
Joe Groff
3d95494c1e
Merge branch 'master' of http://factorcode.org/git/factor
2009-10-16 12:28:29 -05:00
Joe Groff
a37bc4828f
change parse-c-type so that c-type[symbolic-constant] parses to { c-type symbolic-constant }
2009-10-16 12:27:16 -05:00
Slava Pestov
8aa4640094
cpu.ppc.bootstrap: fix callback-stub relocation
2009-10-16 12:06:40 -05:00
Slava Pestov
107c96f642
vm: code heap compaction at runtime using compact-gc primitive
2009-10-16 11:39:35 -05:00
Doug Coleman
7e2fdfe1ec
fix using for io.pathnames changes
2009-10-16 05:48:51 -05:00
Slava Pestov
982a8fa411
cpu.x86.64: fix typo
2009-10-15 23:29:56 -05:00
Slava Pestov
7f3efb3b5d
Merge branch 'invaders' of git://double.co.nz/git/factor
2009-10-15 23:12:40 -05:00
Slava Pestov
f212549a5f
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-15 22:12:00 -05:00
Slava Pestov
36d1cfd3e5
alien.libraries: fix dlsym docs
2009-10-15 22:08:16 -05:00
Slava Pestov
6641c530d5
cpu.x86: eliminate 2 instructions form write barrier on x86-32
2009-10-15 22:07:03 -05:00
Doug Coleman
42751cb148
fix io.directories.search on windows
2009-10-15 22:00:46 -05:00
Doug Coleman
58557e41bf
add psapi stub to windows.nt
2009-10-15 21:43:19 -05:00
Joe Groff
7b6c8ee5f6
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-15 15:44:17 -05:00
Joe Groff
4ca7afa489
update nkeep docs
2009-10-15 15:44:07 -05:00
Doug Coleman
211dce8cd7
add a move-file-unique word to move a file into a directory without name clashes
2009-10-15 15:29:24 -05:00
Doug Coleman
2a893c9a2c
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-15 15:29:22 -05:00
Joe Groff
d413e14461
fix nkeep so it takes a nonliteral quot
2009-10-15 15:04:30 -05:00
Doug Coleman
baa3e74864
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-15 12:23:50 -05:00
Slava Pestov
d48c72a274
compiler.cfg: fix unit tests
2009-10-15 06:01:46 -05:00
Slava Pestov
15e4f08d78
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-15 05:43:41 -05:00
Slava Pestov
d3ec94b5c9
cpu.x86: just a cleanup
2009-10-15 05:43:28 -05:00
Slava Pestov
70c69fbd67
cpu.ppc: fix %write-barrier
2009-10-15 05:13:47 -05:00
Slava Pestov
13ca35ba79
cpu.ppc: fix typo
2009-10-15 05:01:20 -05:00
Slava Pestov
a506754739
cpu.ppc: updates for write barrier and allocation changes (untested)
2009-10-15 04:54:16 -05:00
Slava Pestov
2efc7d1b9e
cpu.ppc.bootstrap: update for JIT relocation changes
2009-10-15 04:47:54 -05:00
Slava Pestov
7d97c19227
compiler: tweak ##write-barrier-imm
2009-10-15 02:40:23 -05:00
Doug Coleman
0dc734195c
fix enumerating fully qualified paths by calling normalize-path first
2009-10-15 00:12:11 -05:00
Chris Double
77216b9d68
Fix cpu.8080 bitrot
2009-10-15 17:33:44 +13:00
Slava Pestov
51e0d5c466
Merge branch 'new_gc'
2009-10-14 19:51:06 -05:00
Slava Pestov
38d120f92e
vm: rt-vm relocation now supports accessing a field directly
2009-10-14 19:24:23 -05:00
Joe Groff
d2c1f7c9c1
mnmap generalized m-to-n sequence combinator
2009-10-14 16:50:30 -05:00
Slava Pestov
6343f0d722
Merge branch 'master' into new_gc
2009-10-14 05:34:56 -05:00
Slava Pestov
1ce39963fd
Working on adding support for the new write barrier to optimized code
2009-10-14 02:06:01 -05:00
Joe Groff
d9fa247b84
nmap-as and nmap combinators
2009-10-14 00:38:51 -05:00
Joe Groff
a0e27320df
neach generalization
2009-10-14 00:09:57 -05:00
Doug Coleman
e458dad848
Merge branch 'master' into klazuka
2009-10-13 15:08:21 -05:00
Keith Lazuka
0c5f2be355
html.streams: fixed broken unit-test
2009-10-13 08:54:37 -04:00
Slava Pestov
48f4799505
math.vectors.simd: fix typos in docs reported by Ed Swartz
2009-10-13 05:13:22 -05:00
Doug Coleman
355fec1e60
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-12 18:41:45 -05:00
Doug Coleman
9548b7bdd8
fix a bug when printing calendars, add a unit test
2009-10-12 16:55:52 -05:00
Joe Groff
4e4be60884
use TEST reg, reg to compare integer equality with zero
2009-10-10 13:13:53 -05:00
Joe Groff
588899a1b3
fix fallbacks for vall?, vany?, vnone?
2009-10-10 13:01:13 -05:00
Joe Groff
97ab9dc4ab
only emit ##alien-vector/##set-alien-vector insns if the rep is available
2009-10-10 12:53:10 -05:00
Joe Groff
1407804393
change the simd-struct tests to cover integer vector slots
2009-10-10 12:23:25 -05:00
Joe Groff
a5898dffde
don't use MOVSLDUP/MOVSHDUP to do specialized shuffles unless sse3 is available
2009-10-10 12:00:47 -05:00
Joe Groff
d9002127fa
have vshuffle accept simd-128 variable byte shuffles
2009-10-10 11:30:11 -05:00
Joe Groff
1fa6f32790
fix x86 uchar %scalar>integer
2009-10-10 10:39:23 -05:00
Joe Groff
6816adfeb3
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-10 09:17:01 -05:00
Slava Pestov
366c341c5f
compiler.tree.propagation.branches: fix live-branches computation for #dispatch nodes
2009-10-10 00:23:50 -05:00
Doug Coleman
0f5c3c5d3f
Merge branch 'help2' of git://github.com/klazuka/factor
2009-10-09 23:36:50 -05:00
Joe Groff
3bc097f6ff
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
Keith Lazuka
5429b2132a
images.normalization: reorder-components should fail if component-order is not a representation of its layout
2009-10-09 15:58:36 -04:00
Keith Lazuka
bbb742509a
images.bitmap: fixed unit-test dependency
2009-10-09 15:58:36 -04:00
Keith Lazuka
17c1713ebb
images.testing: added documentation
2009-10-09 15:58:36 -04:00
Keith Lazuka
dc8fe077c1
images.png: added PngSuite test image files
2009-10-09 15:58:35 -04:00
Keith Lazuka
f56320b142
images.testing: switched from PAM reference image to Factor serialized image (.fig)
2009-10-09 15:58:35 -04:00
Keith Lazuka
3a13c59da2
images.bitmap: respect upside-down? flag when encoding
2009-10-09 15:58:35 -04:00
Keith Lazuka
6ce12ed342
images.bitmap: now conforms to image encode protocol. images.normalization: added several component-order shuffle words
2009-10-09 15:58:34 -04:00
Joe Groff
471c86a110
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
01f5d392be
implement vneg as an intrinsic in terms of load -0, subtract
2009-10-09 13:16:39 -05:00
Doug Coleman
39f22a4c71
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-09 11:23:21 -05:00
Doug Coleman
5ee547e227
refactor images.png logic for adam7. implement adam7
2009-10-09 11:22:54 -05:00
Keith Lazuka
36a6e9e7bb
help.markup: markup unit tests must ensure that 'last-element' is initialized to 'f' before running each test.
2009-10-09 12:16:02 -04:00
Joe Groff
e466665029
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-09 10:44:05 -05:00
Joe Groff
07aa2620c6
add SIMDS: ... ; and SPECIALIZED-ARRAYS: ... ; syntax
2009-10-09 10:43:37 -05:00
Slava Pestov
61e1854ca5
compiler.codegen: fix failing tests
2009-10-09 09:44:09 -05:00
Slava Pestov
b952977d53
help.markup: long links don't show stack effect for parsing words and symbols
2009-10-09 04:46:41 -05:00
Slava Pestov
b88fde04d9
alien.syntax: add C-GLOBAL: for defining words to access global variables, and remove the gimpy one from core-text.utilities
2009-10-09 04:46:29 -05:00
Slava Pestov
18d4f030cd
alien.parser: fix behavior with restarts, reported by mnestic
2009-10-09 04:25:25 -05:00
Slava Pestov
8da50bdce9
Merge branch 'disassemble-quot' of git://github.com/phildawes/factor
2009-10-09 04:17:27 -05:00
Slava Pestov
4262781be2
Merge branch 'bitfields' of git://factorcode.org/git/factor into bitfields
2009-10-09 04:12:34 -05:00
Slava Pestov
e51c24c417
Merge branch 'help' of git://github.com/klazuka/factor
2009-10-09 04:03:16 -05:00
Slava Pestov
978647dc39
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-09 03:21:31 -05:00
Doug Coleman
4a8be006f0
extra error checking in images.png
2009-10-09 01:25:20 -05:00
Doug Coleman
7d39e51d9a
add using and unit tests for mmap
2009-10-08 23:06:40 -05:00
Doug Coleman
36775661a9
fix unit test
2009-10-08 21:37:30 -05:00
Doug Coleman
8556476b76
handle indexed color pngs
2009-10-08 20:55:53 -05:00
Doug Coleman
796b1c8977
fix byte swapping on greyscale-alpha
2009-10-08 20:37:00 -05:00
Doug Coleman
fd4c6b73bb
ushort pngs are byte-reversed from how i'm reading them -- fixed.
2009-10-08 20:33:15 -05:00
Doug Coleman
2945393965
dont scale 8,16 bit greyscale pngs. greyscale-alpha pngs are 8,16 bit already, so don't scale them either.
2009-10-08 19:37:14 -05:00
Doug Coleman
77f968fad6
load greyscale png images, refactor some code
2009-10-08 18:18:33 -05:00
Doug Coleman
7403bcef0c
make pngs read scanlines in terms of bits instead of bytes
2009-10-08 16:58:24 -05:00
Doug Coleman
37d0f29e4b
add a couple of combinators to mmap that take a c-type to reduce conceptual overhead and boilerplate, more docs
2009-10-08 16:07:36 -05:00
Daniel Ehrenberg
bb93543054
Another identity in value numbering for bitfields
2009-10-08 15:20:42 -05:00
Joe Groff
18b3c120a7
add a set-firstn generalization
2009-10-08 14:42:59 -05:00
Daniel Ehrenberg
baf754236f
Merge branch 'master' of git://factorcode.org/git/factor into bitfields
2009-10-08 14:19:20 -05:00
Daniel Ehrenberg
891b7c9804
Cleaning up classes.struct.bit-accessors code
2009-10-08 14:01:43 -05:00
Daniel Ehrenberg
8841969ca1
Refactoring bitfield accessors to eliminate code duplication
2009-10-08 13:45:52 -05:00
Daniel Ehrenberg
db927ff0ad
Making struct bitfield writers fast
2009-10-08 13:10:51 -05:00
Joe Groff
b150deeb11
refactor so that generalizations reuses the stub versions of nsequence, firstn, and n*quot needed by memoize
2009-10-08 12:55:52 -05:00
Joe Groff
63842c7dc9
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-08 12:39:02 -05:00
Doug Coleman
1d320f4270
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-08 12:30:54 -05:00
Doug Coleman
9a09c3ced8
fix using
2009-10-08 12:30:43 -05:00
Joe Groff
27c5ab9cc3
shatter the four-argument barrier in memoize
2009-10-08 12:24:15 -05:00
Joe Groff
1bb8a99368
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-08 11:37:12 -05:00
Joe Groff
531cfa1c33
refactor math.vectors.conversion
2009-10-08 11:35:40 -05:00
Joe Groff
5a2a99128b
add an "nspin" generalization
2009-10-08 11:34:20 -05:00
Doug Coleman
f321243bb3
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-08 05:03:53 -05:00
Doug Coleman
09e8484777
fix using
2009-10-08 05:03:40 -05:00
Slava Pestov
9357ee378e
cpu.architecture: move dummy -reps words here, from cpu.ppc
2009-10-08 03:48:03 -05:00
Slava Pestov
c5979615b7
Merge branch 'master' into new_gc
2009-10-08 02:29:24 -05:00
Daniel Ehrenberg
2db25b937e
Doing constant folding on ##neg and ##not in value numbering
2009-10-08 01:57:54 -05:00
Doug Coleman
fcc53d174c
move game-* to game.* and update all usages
2009-10-08 01:42:54 -05:00
Daniel Ehrenberg
eb31589092
Adding identity to propagation to remove some redundant bitands
2009-10-08 00:59:15 -05:00
Daniel Ehrenberg
3179dacb3e
Making struct bitfield readers fast
2009-10-07 23:51:18 -05:00
Daniel Ehrenberg
8ba295d8a8
Merge branch 'master' of git://factorcode.org/git/factor into bitfields
2009-10-07 21:42:37 -05:00
Daniel Ehrenberg
4e1aa8f638
Modifying the struct prettyprinter to display bits
2009-10-07 21:42:15 -05:00
Doug Coleman
21c9da7c5f
revert loading sfmt by default
2009-10-07 21:41:12 -05:00
Daniel Ehrenberg
1a2c137e41
Refactoring bitfields to not use number tower
2009-10-07 21:35:12 -05:00
Doug Coleman
83bc4907d4
load random.sfmt by default, and use it as default random-generator if sse2 is present
2009-10-07 21:05:51 -05:00
Doug Coleman
e758d4061a
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-07 20:53:04 -05:00
Joe Groff
3a1bb22618
delete malloc-file-contents 'cause it sucks and nobody likes it
2009-10-07 19:30:06 -05:00
Doug Coleman
3d2237c2b8
inline a word in sfmt
2009-10-07 15:27:40 -05:00
Joe Groff
dd691a61e8
break vector compare intrinsics into %compare, %or, and %not instructions that map directly to cpu instructions
2009-10-07 15:27:03 -05:00
Doug Coleman
fbdfbe2fa4
correctly correct the SFMT period
2009-10-07 15:06:59 -05:00
Joe Groff
f2c9eb79e2
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
211eff745a
correct the output of random.sfmt
2009-10-07 13:42:37 -05:00
Joe Groff
fd6f370119
typo in convert-to-fill-vector?
2009-10-07 12:53:10 -05:00
Doug Coleman
901f87e752
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-07 12:47:44 -05:00
Joe Groff
47cfb7d3a5
fix ##load-constant/##scalar>vector folding when constant is a fixnum
2009-10-07 12:46:08 -05:00
Joe Groff
ea051063a4
convert all-ones vector ##load-reference/##load-constant to a ##fill-vector insn
2009-10-07 12:35:21 -05:00
Doug Coleman
59c1f3f73e
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-07 12:33:44 -05:00
Joe Groff
4d5f727a63
sse doesn't actually have an unsigned->unsigned pack instruction
2009-10-07 12:00:31 -05:00
Joe Groff
34def34481
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
8873b7939a
fix math.vectors.simd test load failure
2009-10-07 11:56:57 -05:00
Doug Coleman
bfb2493d68
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-07 11:52:34 -05:00
Phil Dawes
18bd437e3f
disassemble can handle anonymous quotations
2009-10-07 17:07:00 +01:00
Daniel Ehrenberg
e0408b9b10
Adding bit fields to STRUCT:
2009-10-07 01:43:32 -05:00
Joe Groff
4d4da7ac23
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
879fe9a665
fix x86 %unpack-vector insns
2009-10-06 20:38:51 -05:00
Doug Coleman
535fed0035
add a test for compression.inflate
2009-10-06 20:28:43 -05:00
Doug Coleman
091d22a437
cleaning up huffman and inflate code
2009-10-06 20:22:53 -05:00
Joe Groff
a319dde8b5
add some math.vectors.conversion tests to cover some failing cases
2009-10-06 20:21:08 -05:00
Joe Groff
785f8620fd
glue conversion intrinsics to instructions
2009-10-06 20:13:38 -05:00
Joe Groff
da4cf61014
oops...PACKUSDW is sse4 only
2009-10-06 20:09:50 -05:00
Joe Groff
4456b1f3f9
assert that vconvert's inputs are of the right type
2009-10-06 17:42:36 -05:00
Joe Groff
166ea6bc10
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
Joe Groff
882f40d88e
%float>integer-vector should truncate
2009-10-06 13:57:54 -05:00
Joe Groff
f7820f9b51
give cords a shot of red bull
2009-10-06 11:53:24 -05:00
Slava Pestov
697e2342d0
vm: put code block owner directly in the header, instead of as the first entry in the literal table. Reduces x86-64 image size by ~700kb, also eliminates separate 'strip' set of staging images from deploy tool
2009-10-06 06:25:07 -05:00
Doug Coleman
8dff4776c6
handle ushort-component pngs, throw errors on adam7 interlaced pngs for now
2009-10-06 00:33:29 -05:00
Doug Coleman
7c01c09f21
reformatting compression.inflate code
2009-10-05 23:19:42 -05:00
Doug Coleman
a182b1835b
minor cleanup of compression.inflate
2009-10-05 22:34:43 -05:00
Joe Groff
fb8eeb6065
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-05 22:34:41 -05:00
Joe Groff
529c444e32
add insns for vector pack, unpack, integer>float, and float>integer
2009-10-05 22:34:14 -05:00
Doug Coleman
b350345f69
Merge branch 'a7a39d3766624227966bca34f0778030592d82c2' of git://github.com/prunedtree/factor into prunedtree
2009-10-05 22:27:43 -05:00
prunedtree
3ee07c92d1
static inflate
2009-10-05 20:12:59 -07:00
Doug Coleman
b56880bfd7
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
Doug Coleman
f800285327
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-05 18:34:58 -05:00
Doug Coleman
3460383cda
fix indentation, revert [ ] [ ] bi -> [ ] keep when second quotation consumes more than one object
2009-10-05 18:33:24 -05:00
Slava Pestov
55fe25ebd1
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-05 18:22:09 -05:00
Slava Pestov
5b40fc6533
compiler.cfg.linear-scan: fix unit test
2009-10-05 18:21:58 -05:00
Joe Groff
b1d52517c5
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-05 17:56:43 -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
Doug Coleman
81e342e755
clarify behavior of seekable/nonseekable limited streams
2009-10-05 16:16:59 -05:00
Doug Coleman
317c3f82d5
fix using
2009-10-05 13:18:45 -05:00
Doug Coleman
23288da694
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-05 12:34:56 -05:00
Doug Coleman
88e2ba8f31
define tell-handle on windows nt
2009-10-05 12:34:34 -05:00
Joe Groff
cf4df7eb66
typo in vmerge-head, vmerge-tail docs
2009-10-05 11:14:14 -05:00
Slava Pestov
b4e36608da
compiler.cfg: remove _gc instruction, it doesn't need to exist, and change GC checks to ensure that the right amount of space is available instead of blindly checking for 1Kb
2009-10-05 05:27:49 -05:00
Doug Coleman
474e02020c
use 1&& in a few places, clean up some more ui code
2009-10-04 17:50:34 -05:00
Doug Coleman
a273cbb68e
fully clean up gadgets.editors
2009-10-04 17:23:23 -05:00
Doug Coleman
41e6c8f3be
cleaning up some ui code
2009-10-04 16:43:00 -05:00
Doug Coleman
1ca81c3130
fix typo in unix.statfs.freebsd
2009-10-04 15:31:19 -05:00
Keith Lazuka
4743ffdc18
help.html: with-nesting-block now maps to an HTML DIV with display: inline-block CSS style
...
This change allowed me to remove the old hack that suppressed newlines
in the stream if they occurred immediately after a DIV.
2009-10-04 07:17:54 -04:00
Joe Groff
7ed8f00b0f
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
626954a071
fix v? software fallback
2009-10-03 22:37:45 -05:00
Joe Groff
0c9c3d4859
add %merge-vector-head and %merge-vector-tail instructions to back vmerge
2009-10-03 21:48:53 -05:00
Joe Groff
05c722ea0c
link vmerge into math.vectors docs
2009-10-03 21:48:16 -05:00
Joe Groff
26ddc44dc0
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-03 21:02:21 -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
Doug Coleman
84fd08d86b
update docs for stream-tell
2009-10-03 19:39:06 -05:00
Doug Coleman
770405359e
better tests for stream-tell
2009-10-03 19:33:54 -05:00
Doug Coleman
ed1636a0c0
fix stream-tell
2009-10-03 19:26:59 -05:00
Doug Coleman
aa37a57b9a
take the buffer position into account on buffered-port stream-tell
2009-10-03 19:15:56 -05:00
Doug Coleman
00efd780c9
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-03 18:27:38 -05:00
Doug Coleman
098fd0248a
support limited-streams correctly for seekable streams
2009-10-03 18:27:09 -05:00
Joe Groff
9e61c433f1
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-03 11:48:56 -05:00
Joe Groff
426e560a6b
sprinkle some NaNs onto math.vectors.simd fuzz tests to improve flavor
2009-10-03 11:47:02 -05:00
Joe Groff
04bb03bb61
add intrinsics for v<=, v<, v=, v>, v>=, vunordered?
2009-10-03 11:29:34 -05:00
Slava Pestov
8a7e9740c9
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
74f15cfe8c
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-03 10:02:26 -05:00
Slava Pestov
bcd5c5c635
Fix deploy tests and update command-line docs a bit
2009-10-03 06:53:23 -05:00
Joe Groff
4e024cbbc2
extend x86 %compare-vector to cover all comparison codes, sometimes stupidly for now
2009-10-02 23:19:56 -05:00
Slava Pestov
21eea4d88c
Allow access to command line arguments in deployed apps
2009-10-02 21:00:12 -05:00
Slava Pestov
5fc3ad92f6
cpu.arm.assembler: dust it off, update to work with contemporary Factor, and clean it up a bit
2009-10-02 20:18:34 -05:00
Joe Groff
38f413a8a6
add intrinsic for vnot/vbitnot
2009-10-02 20:04:28 -05:00
Doug Coleman
cfdaaec068
move verbose-tests? out of private, change decode-test word to set the verbose mode itself, use images.pam in images test vocabs
2009-10-02 16:20:33 -05:00
Doug Coleman
7d005111a4
i messed up a merge. weird
2009-10-02 16:05:00 -05:00
Doug Coleman
a070e9a3a9
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
67167cf9ea
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
Doug Coleman
1310aff3d8
fix bitmap tests path
2009-10-02 15:54:39 -05:00
Doug Coleman
ad6c8c94cd
Merge branch 'images' of git://github.com/klazuka/factor into klazuka
2009-10-02 15:42:47 -05:00
Joe Groff
f93dcfc792
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
5ff3eef0df
proofreading math.vectors docs
2009-10-02 15:18:42 -05:00
Joe Groff
0821d3f370
add notes to math.vectors docs about simd booleans
2009-10-02 15:11:06 -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
Keith Lazuka
7ddb8d8525
tools.crossref: Added $subsection to 'M: link uses' markup list
2009-10-02 12:18:33 -04:00
Keith Lazuka
405e5d015b
docs: change $subsection to $subsections
2009-10-02 12:15:48 -04:00
Slava Pestov
df9b0f695f
cpu.ppc: remove useless comment
2009-10-02 03:31:53 -05:00
Slava Pestov
2c136d6536
Merge branch 'reentrantvm' of git://github.com/phildawes/factor
2009-10-02 03:28:21 -05:00
Slava Pestov
a41b807f83
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-02 02:32:50 -05:00
Slava Pestov
cb71fbf4fe
Fix compiler.cfg.value-numbering and math.matrices.simd unit tests
2009-10-02 02:32:35 -05:00
Doug Coleman
19b2466bda
add unit test for seeding
2009-10-02 01:55:18 -05:00
Doug Coleman
4cb927722d
add seed-random method to random.sfmt, fix formatting
2009-10-02 01:54:17 -05:00
Doug Coleman
907e401542
remove m-n-as-a-slot
2009-10-02 01:32:11 -05:00
Doug Coleman
7348241b2f
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-02 01:24:34 -05:00
Slava Pestov
218d1cdd31
prettyprint.backend: fix performance problem when printing large arrays with length limit on
2009-10-02 01:23:17 -05:00
Doug Coleman
1239984625
optimizing random.sfmt
2009-10-02 01:18:18 -05:00
Doug Coleman
b8e5e84df3
sfmt uses some simd now
2009-10-02 00:40:55 -05:00
Doug Coleman
926ed2d5e1
cleaning up sfmt
2009-10-02 00:21:48 -05:00
Slava Pestov
bcbdc9e0c8
Merge branch 'master' of git://factorcode.org/git/factor into improved-aa
2009-10-02 00:21:44 -05:00
Doug Coleman
f3ef312e83
initial checkin of random.sfmt so i can refactor it
2009-10-02 00:07:29 -05:00
Slava Pestov
fb09d67936
compiler.cfg.alias-analysis: fix ##compare where operands are copies
2009-10-01 23:54:19 -05:00
Joe Groff
7583b2bfee
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
basis/compiler/codegen/codegen.factor
2009-10-01 23:52:26 -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
01736e9bec
define simd equal? methods as v= vall?
2009-10-01 23:46:37 -05:00
Slava Pestov
2a4475f85e
Fix alias analysis of a ##compare whose input is another ##compare
2009-10-01 23:20:05 -05:00
Slava Pestov
96d593dd7c
Merge branch 'master' into improved-aa
2009-10-01 23:16:54 -05:00
Joe Groff
53b265f682
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
basis/compiler/codegen/codegen.factor
2009-10-01 23:14:16 -05:00
Slava Pestov
59e234b251
specialized-arrays: byte-array>A-array calls >c-ptr
2009-10-01 23:12:53 -05:00
Joe Groff
952498ef69
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
Slava Pestov
31f39ce32f
compiler.cfg.alias-analysis: optimize ##vm-field-ptr and ##alien-global instructions, and optimize out ##compare between values of different alias classes; this optimizes '[ [ >float ] bi@ [ + ] [ - ] 2bi eq? ]' down to an o-op and removes boxing from '[ [ >float ] bi@ [ + ] [ - ] 2bi = ]'
2009-10-01 23:03:17 -05:00
Joe Groff
d5c4ec5357
add tests for v=, vany?, vall?, vnone?
2009-10-01 21:24:14 -05:00
Joe Groff
f9695951a0
fold test-vector/branch sequences into a test-vector-branch instruction
2009-10-01 19:53:30 -05:00
Slava Pestov
c3d81cefe9
compiler.cfg: don't unbox the same value more than once per basic block
2009-10-01 19:41:23 -05:00
Slava Pestov
b9577e2b0e
compiler.cfg.instructions: remove ##box-float, ##unbox-float, ##box-vector, ##unbox-vector since they can be expressed in terms of ##alien-double, ##set-alien-double, ##alien-vector, ##set-alien-vector, and ##allot
2009-10-01 18:07:50 -05:00
Doug Coleman
34c4bd6d8f
add a using
2009-10-01 17:07:57 -05:00
Joe Groff
d14f150b58
%test-vector instruction for vany?, vall?, vnone?
2009-10-01 15:35:38 -05:00
Joe Groff
987ced4070
%compare-vector instruction (only does v= for now)
2009-10-01 14:31:37 -05:00
Doug Coleman
5c972d9679
check that the length of checksum-lines is correct for md
2009-10-01 13:48:28 -05:00
Joe Groff
0c8a4717f2
add software vall?, vany?, vnone? words
2009-10-01 13:21:10 -05:00
Keith Lazuka
1a44b22f14
help.markup: new logic for preventing accidental double blank lines
...
$subsections emits a blank line after the final link so that subsequent span text is nicely spaced away from the group of links. Prior to this bug fix, if you were to put a $heading immediately after a $subsections element, there would be 2 blank lines between them. This fixes it so that there is only a single blank line between them.
I also added a bunch of unit tests for span, block, $heading and $nl layout interactions.
2009-10-01 13:15:28 -04:00
Doug Coleman
be110afe27
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-01 11:59:17 -05:00
Doug Coleman
ccc69a5ef4
fix bug in random-bytes* when no random-32* exists
2009-10-01 11:58:52 -05:00
Slava Pestov
69829a534d
cpu.ppc: fix again
2009-10-01 07:44:14 -05:00
Slava Pestov
0db97d536f
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
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
67cc45235d
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-30 23:04:04 -05:00
Joe Groff
7db7b63552
add a %blend-vector intrinsic for v?
2009-09-30 23:03:59 -05:00
Doug Coleman
0e97398da8
fix openbsd bootstrap
2009-09-30 21:07:57 -05:00
Slava Pestov
e79049ad0a
Merge branch 'master' of git://factorcode.org/git/factor into more-simd
2009-09-30 20:05:16 -05:00
Slava Pestov
2384b630b2
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
e56cd5cc12
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
Doug Coleman
e8db7b62a4
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-30 18:52:18 -05:00
Doug Coleman
129b741437
fix the help lints
2009-09-30 18:52:01 -05:00
Slava Pestov
a7dd4ad5cc
cpu.ppc: update for alien intrinsic changes
2009-09-30 18:22:59 -05:00
Joe Groff
b8c2fc6627
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-30 16:18:15 -05:00
Joe Groff
f83698948f
eradicate string C types from windows.com.*
2009-09-30 16:17:50 -05:00
Keith Lazuka
31e34acc01
images: consolidated test suite for image decoders
2009-09-30 17:01:09 -04:00
Keith Lazuka
6e12c254ef
tools.test: added a verbose-tests? flag to control test experiment pprint verbosity
...
I needed this for my image decode unit tests because I don't want the test results to prettyprint big bitmap byte-arrays.
2009-09-30 16:58:07 -04:00
Doug Coleman
ef237777c3
make random-32* the protocol again, add a random-32 word that doesn't scale the returned bits
2009-09-30 15:56:02 -05:00
Keith Lazuka
7484bb73ae
images.gif: unit tests now use a PAM reference image to verify decoding
2009-09-30 16:35:51 -04:00
Phil Dawes
bc70311e69
ppc asm to pass vm pointer: alien + compiled code
2009-09-30 21:23:53 +01:00
Doug Coleman
9b5690a8ad
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-30 14:13:03 -05:00
Doug Coleman
9ca974fc7d
Merge branch 'browser' of git://github.com/klazuka/factor
2009-09-30 14:10:17 -05:00
Keith Lazuka
f58e913336
help.markup: fix layout bug for "N more results" link in apropos content
2009-09-30 15:06:29 -04:00
Joe Groff
e0f3b72c65
break math.vectors docs into subsections
2009-09-30 13:21:25 -05:00
Keith Lazuka
19107de7d8
images.testing: consolidated TIFF/GIF/PNG/PAM test images and wrote PAM unit tests
2009-09-30 13:33:10 -04:00
Joe Groff
2625f2d210
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-30 11:35:40 -05:00
Joe Groff
cb646db54a
add a "test-mr." word to compiler.cfg.debugger equivalent to "test-mr mr."
2009-09-30 11:34:19 -05:00
Keith Lazuka
f297e88987
images.loader: added image encode protocol
2009-09-30 10:00:18 -04:00
Slava Pestov
17b52314dc
Merge branch 'gif' of git://github.com/klazuka/factor
2009-09-30 05:15:21 -05:00
Slava Pestov
da623ba29a
Merge branch 'link' of git://github.com/klazuka/factor
2009-09-30 05:11:21 -05:00
Slava Pestov
b677822b76
compiler.cfg.value-numbering: fix overly-zealous ##compare-imm conversion
2009-09-30 05:09:20 -05:00
Slava Pestov
cdc7b7e2c7
Various minor compiler tweaks: Combine address calculation with dereferencing in alien accessors; convert SIMD XOR of a vector with itself into an XOR of the destination with itself; convert SIMD unbox of zero vector into XOR of the destination with itself; fix SIMD indexing on x86-64
2009-09-30 05:00:36 -05:00
Doug Coleman
73d2099faf
add tests file for random.dummy
2009-09-30 03:23:01 -05:00
Doug Coleman
61583862fa
fix seed-random, random-32* -> random-32
2009-09-30 03:22:11 -05:00
Slava Pestov
9210a9a79c
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-30 02:21:22 -05:00