Commit Graph

122 Commits (ebdd135d6281e0758d2641e005fbff4253de5749)

Author SHA1 Message Date
Joe Groff 08b02fadc9 typos 2009-02-09 15:51:59 -06:00
Joe Groff 85620fc741 C CONVERT VECTORS TO USE FORTRAN BLAS BINDINGS
C INSTEAD OF CBLAS
2009-02-09 15:51:47 -06:00
Joe Groff 42265cbc62 start hacking on math.blas.vectors to switch to fortran 2009-02-09 14:35:44 -06:00
Joe Groff 3b83d9f760 fortran ffi for blas 2009-02-09 14:20:52 -06:00
Daniel Ehrenberg 9890ee27f4 Merge branch 'for-slava' of git://git.rfc1149.net/factor 2009-02-06 14:36:37 -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
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 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 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