Daniel Ehrenberg
9890ee27f4
Merge branch 'for-slava' of git://git.rfc1149.net/factor
2009-02-06 14:36:37 -06:00
Slava Pestov
dd9cf39467
Fix conflict in libc
2009-02-06 05:10:41 -06:00
Slava Pestov
4adef7db09
Fix functors bug where changing a hand-written method into one generated by a functor would forget the method; also associate functor-generated methods with the source file they're in.
...
Add DEFINES-CLASS, to parallel DEFINES.
Update math.blas and specialized-arrays/vectors to use DEFINES-CLASS where appropriate
2009-02-06 02:45:21 -06:00
Slava Pestov
ae0da1cf98
Fix conflict
2009-02-05 22:29:15 -06:00
Slava Pestov
ef8d622b54
UI documentation and test fixes
2009-02-05 05:16:22 -06:00
Slava Pestov
88b401b383
Rename math.geometry.rect to math.rectangles
...
Remove math.geometry.points
Remove rect-loc and rect-dim words
2009-02-05 03:28:41 -06:00
Joe Groff
ccdd8999e1
swizzle word to swizzle sequences
2009-02-04 19:46:19 -06:00
Samuel Tardieu
0069547e90
Fix suboptimal prime number factoring
2009-02-03 00:33:12 +01:00
Slava Pestov
a5116d0b5d
Remove two swapd usages
2009-02-02 14:26:54 -06:00
Slava Pestov
669548e62e
Clean up some usages of tuck, and add Joe's curried cleave/spread/apply combinators to kernel vocabulary
2009-02-02 13:43:54 -06:00
Slava Pestov
83116c6439
Change example to unchecked-example since on netbsd math functions return 0 instead of NaN on domain errors
2009-01-31 21:02:13 -06:00
Doug Coleman
12ca0eec41
blas from netbsd pkgsrc depends on f2c runtime libs
2009-01-30 22:42:36 -06:00
Joe Groff
e701e66399
Load right blas libraries on netbsd
2009-01-30 21:46:47 -06:00
Joe Groff
f1182ef800
use CONSTANT: for cblas constants
2009-01-30 17:28:06 -06:00
Joe Groff
8b68e80254
load libblas before libcblas on openbsd
2009-01-30 17:13:40 -06:00
Doug Coleman
a60e11b89e
add RTLD_GLOBAL to dlopen flags. load atlas before cblas on freebsd
2009-01-30 16:45:30 -06:00
Doug Coleman
f31cf8e9a9
fix empty description
2009-01-30 15:21:46 -06:00
Joe Groff
ebf6cbaa0d
remove math.blas.syntax and merge parsing words into math.blas.vectors/matrices
2009-01-30 11:42:43 -06:00
Doug Coleman
3c408342ef
renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail
2009-01-29 22:19:07 -06:00
Slava Pestov
87e0110ff1
O(1) equal? and hashcode* for ranges
2009-01-28 23:33:26 -06:00
Slava Pestov
16181f818b
Clean up functors so that the generated code looks sane with 'see'
2009-01-28 15:07:16 -06:00
Slava Pestov
eaad0c7660
Updating code to use CONSTANT: instead of : foo 123 ; inline
2009-02-23 21:40:17 -06:00
Slava Pestov
a9ef525aed
Help lint fixes for stricter help lint
2009-01-27 04:12:37 -06:00
Slava Pestov
f34c14a0f5
Remove some usages of tuck
2009-01-23 18:20:47 -06:00
Slava Pestov
d6e7eefde3
Fix mnestic's bug and remove math.complex.prettyprint hack
2009-01-14 01:02:27 -06:00
Doug Coleman
932631c901
use combinators.smart for bit-count
2009-01-08 18:57:07 -06:00
Samuel Tardieu
6a2f46ed7f
Move math.primes.factors from extra to basis
2009-01-07 23:01:27 +01:00
Samuel Tardieu
594bd3aee8
Move math.primes from extra to basis
2009-01-07 21:12:48 +01:00
Samuel Tardieu
e6a5ac4acd
Remove useless with-scope and unneeded uses
2008-12-27 23:13:03 +01:00
Samuel Tardieu
7716ac276e
Mark parts of math.miller-rabin as private
2008-12-26 20:58:46 +01:00
Slava Pestov
058ba127cb
Cleaning up more -rot usages
2008-12-22 05:41:01 -06:00
Slava Pestov
6fb57d821f
Move math.blas to basis
2008-12-17 23:23:43 -06:00
Slava Pestov
d108d58058
Move math.miller-rabin to basis
2008-12-17 19:53:19 -06:00
Slava Pestov
411ba7473b
Clean up some code to not use combinators.lib and sequences.lib
2008-12-17 19:52:47 -06:00
Slava Pestov
34792a9f23
Remove >r/r>
2008-12-17 19:17:37 -06:00
Slava Pestov
63fda570bf
Fixing assorted compile errors and help lint warnings
2008-12-16 01:12:36 -06:00
U-SLAVA-DFB8FF805\Slava
53db40ba13
Add more stack declarations
2008-12-13 05:06:28 -06:00
Slava Pestov
09c60f7e90
Fix some vocabularies for new requirement that inline words have a stack effect declaration
2008-12-15 20:31:55 -06:00
Slava Pestov
daf2857d7b
define-inline now takes an effect parameter
...
C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words
2008-12-15 19:44:56 -06:00
Slava Pestov
4f0a9f311e
Untangling some dependencies
2008-12-08 14:58:00 -06:00
Slava Pestov
e4f8448eb1
Fix some problems with arithmetic type inference, exposed by recent changes to log2 word
...
- declared input type for bignum-shift was stricter than the runtime behavior, leading to bad propagation of type info if shift count was a bignum
- types inferred for type functions which used number-valued/integer-valued/real-valued were not always precise, eg bignum bignum bitxor => integer
- add interval-log2, type function for (log2)
- remove math-class-min, it was useless
2008-12-07 19:44:49 -06:00
Slava Pestov
145b635eb6
More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser
...
- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR
2008-12-06 11:17:19 -06:00
Slava Pestov
a56d480aa6
Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
...
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
2008-12-06 09:16:29 -06:00
Aaron Schaefer
1296e3c792
Move math.blas back to extra due to multimethods usage
2008-12-04 01:35:53 -05:00
Aaron Schaefer
13781ee48c
Merge branch 'master' of git://factorcode.org/git/factor
2008-12-04 00:42:34 -05:00
Slava Pestov
e5ed7447ed
Removing more >r/r> usages
2008-12-03 08:46:16 -06:00
Aaron Schaefer
0ef3ff4058
Merge branch 'master' of git://factorcode.org/git/factor
2008-12-01 17:29:36 -05:00
Aaron Schaefer
451771ab77
Merge branch 'master' of git://factorcode.org/git/factor
2008-12-01 10:31:28 -05:00
Slava Pestov
52c5b53e27
Refactoring usages of >r, r>, -rot, rot
2008-11-30 22:21:37 -06:00
Slava Pestov
1361bb7d5c
derived-ops for shift didn't include fixnum-shift
2008-11-30 04:44:52 -06:00
Slava Pestov
4f5b0e5cd6
Oops
2008-11-29 13:44:38 -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
be7bae07d3
Merge branch 'master' of git://factorcode.org/git/factor
2008-11-29 10:46:32 -05:00
Slava Pestov
52f1ff3a95
Fix conflict
2008-11-29 04:23:23 -06:00
Slava Pestov
2798de019a
Faster <range>
2008-11-29 04:09:16 -06:00
Slava Pestov
e1578b5848
Tweak math.functions to inline better
2008-11-29 03:49:24 -06:00
Doug Coleman
a4860c3173
add toggle-bit word to math.bitwise
2008-11-29 00:37:36 -06:00
Aaron Schaefer
db20629a0f
Merge branch 'master' of git://factorcode.org/git/factor
2008-11-26 17:48:47 -05:00
Slava Pestov
c7d86ebd55
Oops
2008-11-26 05:24:35 -06:00
Slava Pestov
d927ed5620
Better hints
2008-11-26 04:20:25 -06:00
Aaron Schaefer
b14995f7ed
Merge branch 'master' of git://factorcode.org/git/factor
2008-11-21 03:16:48 -05:00
Slava Pestov
ae4f9a2809
Add fixnum/mod-fast and fixnum/i-fast subprimitives
2008-11-21 02:11:36 -06:00
Aaron Schaefer
4828ab1a4b
Merge branch 'master' of git://factorcode.org/git/factor
2008-11-20 21:07:19 -05:00
Slava Pestov
3d8f432856
Clarify math.bitwise -vs- bitwise-arithmetic docs
2008-11-19 19:23:11 -06:00
Slava Pestov
6681d4bca3
Add an ABOUT: to math.geometry.rect
2008-11-19 17:13:10 -06:00
Slava Pestov
6aff81052e
Doc update
2008-11-19 17:10:19 -06:00
Aaron Schaefer
a1a79aac16
Merge branch 'master' of git://factorcode.org/git/factor
2008-11-18 16:05:54 -05:00
Slava Pestov
aee589190b
Add signed-le> and signed-be> wordS
2008-11-18 14:10:21 -06:00
Aaron Schaefer
197bb70893
Move math.statistics to extra
2008-11-18 10:31:07 -05:00
Aaron Schaefer
c3f05eaaa1
Move math.quaternions to extra
2008-11-18 10:22:48 -05:00
Aaron Schaefer
1ffc6051cd
Move math.blas to basis
2008-11-18 10:22:16 -05:00
Aaron Schaefer
5869a1aab4
Move math.combinatorics to basis
2008-11-18 10:20:44 -05:00
Aaron Schaefer
f59071189c
Moved math.polynomials to extra
2008-11-18 10:19:29 -05:00
Aaron Schaefer
e17f519480
Minor documentation fixes
2008-11-17 22:51:57 -05:00
Aaron Schaefer
000d84a871
Replace pick pick with 2over in math.functions
2008-11-17 18:20:34 -05:00
Aaron Schaefer
9c27e9d61b
Replace >r r> usage with dip in math.vectors
2008-11-17 18:17:14 -05:00
Aaron Schaefer
d2a67c78b2
Replace >r r> usage with dip in math.ranges
2008-11-17 18:14:29 -05:00
Aaron Schaefer
fa88f8825b
Replace >r r> usage with dip in math.ratios
2008-11-17 18:13:42 -05:00
Aaron Schaefer
d328589b87
Cleanup partial-dispatch by removing >r r> usage
2008-11-17 17:59:15 -05:00
Aaron Schaefer
5d8b3c3fb1
Cleanup math.intervals and eliminate >r r> usage
2008-11-17 17:20:56 -05:00
Aaron Schaefer
abf4700af8
Merge branch 'master' of git://factorcode.org/git/factor
2008-11-17 16:21:16 -05:00
Aaron Schaefer
c7f5d53144
Cleanup math.functions and remove >r r> usages
2008-11-16 21:24:56 -05:00
Slava Pestov
9bf63b1613
New $quotation markup element
2008-11-16 09:03:30 -06:00
Slava Pestov
93e9e34175
Add $maybe markup element
2008-11-16 06:02:13 -06:00
Doug Coleman
aff4c9bda3
Merge branch 'master' of git://factorcode.org/git/factor
2008-11-11 13:07:26 -06:00
Doug Coleman
7aeeb2c9ce
bitwise docs, fix some bugs in bitwise words
2008-11-11 13:03:08 -06:00
Slava Pestov
8a6ecec9f3
Fix broken link in ratios docs
2008-11-11 12:11:36 -06:00
Slava Pestov
fed799a32c
Fix circularity
2008-11-11 11:39:38 -06:00
Slava Pestov
4c0f2cc3f5
Move factor-2s from miller-rabin to math.functions; use it to make ^ more efficient
2008-11-11 11:30:47 -06:00
Slava Pestov
43335d9c36
Intervals now use a special singleton for the full interval to eliminate FP math in the common case; fix a bug in value-info<=
2008-11-11 08:30:14 -06:00
unknown
cc7ab11881
Add more unit tests
2008-11-07 20:34:04 -06:00
Slava Pestov
751426f283
Remove dead code from math.intervals; we no longer need the operations to support f anymore
2008-11-06 11:57:31 -06:00
Slava Pestov
7f3282bb39
Better error reporting
2008-11-03 01:19:06 -06:00
Doug Coleman
ccdcacfd04
remove unit tests
2008-10-05 16:41:51 -05:00
Doug Coleman
6d8bfa4bf4
remove some dead usings
2008-10-05 15:38:31 -05:00
Doug Coleman
4e88005bf4
remove random intervals for now
2008-10-05 15:14:18 -05:00
Doug Coleman
ce7cf81224
add more unit tests
2008-10-04 12:45:10 -05:00
Doug Coleman
5ca60480c5
put a random method on intervals, works for float and integer intervals
2008-10-04 12:40:58 -05:00
Slava Pestov
c19f2257f4
Fix permission bits
2008-10-02 08:34:49 -05:00
Slava Pestov
0ba1a1335e
http.server documentation
2008-09-27 11:37:46 -05:00
Slava Pestov
10c68ebb21
New modular arithmetic optimization pass
2008-09-12 18:08:38 -05:00
Slava Pestov
d5140cf248
Fix math.vectors unit tests
2008-09-12 15:52:43 -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
54232f80ca
Adding identity optimization pass, tweak inlining heuristic
2008-09-12 08:18:44 -05:00
Slava Pestov
f2721e0608
Help lint fixes
2008-09-11 05:04:49 -05:00
Slava Pestov
cf80dd122a
Updating code for make and fry changes
2008-09-10 22:11:40 -05:00
Slava Pestov
44f53de164
Move make to its own vocabulary, remove fry _ feature
2008-09-10 20:07:00 -05:00
Slava Pestov
05f47c1aaf
Prettyprinter now emits assoc-form tuples unless boa-tuple? is on
2008-09-06 03:23:54 -05:00
Slava Pestov
aea0fed14c
Fixing basis -> extra dependencies
2008-09-05 19:29:14 -05:00
Doug Coleman
1e8358eff5
Merge branch 'master' of git://factorcode.org/git/factor
2008-09-02 02:09:54 -05:00
Slava Pestov
110a5e5162
Change equality semantics
2008-09-02 02:02:05 -05:00
Doug Coleman
0e80ac5460
new accessors
2008-09-01 22:46:49 -05:00
Slava Pestov
88aa1def35
More a UI dependency to basis
2008-08-31 20:13:06 -05:00
Doug Coleman
6452f75a3f
fix docs
2008-08-29 17:03:36 -05:00
Slava Pestov
efb5553950
More efficient interval-contains?
2008-08-26 19:47:55 -05:00
Slava Pestov
6f4af849e5
Fix problem in interval* and interval/ with zero
2008-08-26 00:19:40 -05:00
Slava Pestov
e96228b24c
Move a few UI dependencies into basis
2008-08-22 22:10:49 -05:00
Slava Pestov
2440fc1ceb
Fixing remaining issues
2008-08-22 17:38:23 -05:00
Slava Pestov
aa9341e579
Enforce that usages of >r/r> must be balanced within a quotation
2008-08-18 20:49:03 -05:00
Slava Pestov
6a3eb0b7ca
Merge branch 'master' into new_optimizer
2008-08-13 14:32:48 -05:00
Slava Pestov
35a1ca3201
Improve ranges docs
2008-08-13 14:19:58 -05:00
Slava Pestov
48fa2e2d0e
Updating some code
2008-08-12 03:31:48 -05:00
Slava Pestov
f2a5a30c6f
New front-end and high-level optimizer lands
2008-08-12 03:22:45 -05:00
Slava Pestov
215f6ef65b
Add minimum and maximum float constants
2008-08-10 01:59:55 -05:00
Slava Pestov
d66f887736
Create basis vocab root
2008-07-28 22:03:13 -05:00