summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-23Add a new match compiler implementationMura Li
References: "When Do Match-Compilation Heuristics Matter?" by Kevin Scott and Norman Ramsey Stats: Sample count: 506 Dtree Size avg: 5.38 95th percentile: 3.00 maximum: 100 Dtree Height avg: 1.39 95th percentile: 1.00 maximum: 12 Sample generation: $ MATCH_STATS=1 make bootstrap && mbld -R support/matchstats.myr ./match.csv
2019-10-21Use optparse's .arg to pass run targetMura Li
2019-10-22Support cli arguments for mbld -RMura Li
Example: mbld -R main.myr arg1 arg2 arg3
2019-10-18Tie return value of mbld to results of specified targetssgilles@math.umd.edu
I'd like to have `mbld test' return non-0 when the tests fail. I think this does it, but I may be over-simplifying. mbld/main.myr | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) Tie return value of mbld to results of specified targets
2019-09-10Force scientific notation to print trailing 0sS. Gilles
Also, recalculate 2*R + M+ during the Fixup loop. This prevents rare digit miscalculations: e.g. std.put("{e,s=4}\n", std.flt32frombits(0x2899fbf7))
2019-09-09Allow printing fltXY in scientific notationS. Gilles
2019-09-09Split out intfmt to a separate file.S. Gilles
This prepares for intfmt being used within fltfmt for the exponent in scientific notation.
2019-09-09Specify sigfigs (cutoff + Relative mode) for fltXY formattingS. Gilles
2019-09-07Allow padding for fltXY formattingS. Gilles
2019-09-07Collect fltXYbfmt parameters into analogue of intparamsS. Gilles
2019-07-31Fix bug in dump code: Stray '{', wrong args.Ori Bernstein
2019-07-26Fix wycheproof tests for curve25519 (thanks Mike)Ori Bernstein
2019-07-25Add curv25519 tests (thanks Mike)Ori Bernstein
2019-07-23Add OpenBSD 6.4 syscallsCarlin Bingham
Only relevant change between 6.3 and 6.4 is adding unveil: https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/kern/syscalls.master.diff?r1=1.188&r2=1.180&f=h
2019-07-22Fix std.getcwd on OpenBSD -currentCarlin Bingham
The __getcwd syscall returning the length of the string was apparently unintended and was changed in 6.5 -current to return 0 on success: https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/kern/vfs_getcwd.c#rev1.33 This causes std.getcwd to return an empty string, which at least breaks `mbld test`. This patch works with both the old and new behaviour.
2019-07-18Fix typos in spec (thanks, Mike)Ori Bernstein
2019-07-18Fix bigand/bigor: Thanks, MikeOri Bernstein
2019-07-13Oops, mangled something with git9.Ori Bernstein
2019-07-14Fix crash with large shifts in bigint.Ori Bernstein
2019-07-14Fix memory leak in bigparse. (Thanks, Mike)Ori Bernstein
2019-06-13Correctly Fused Multiply Add when all top bits cancel.S. Gilles
2019-06-09Merge commit 'e09c6b53f3b1928d3752c53c813025dbcbb976e0'Ori Bernstein
2019-06-09Fix error message for {} without parameterS. Gilles
Move the nfmt > nvarargs check to where it can detect the imminent bad access.
2019-06-09Use fma instead of rote multiplication in powr's final calculation.S. Gilles
Since the exp() we use is sometimes wrong by 1 ulp, the final multiplication has a possibility of increasing that to 2 ulps. Using fma instead makes such a thing much less likely. This makes some of our off-by-0s off-by-1s, and vice versa, but on the whole it is a definite improvement.
2019-06-09Test powr.S. Gilles
2019-06-09Rewrite powr to use log-overkill.S. Gilles
2019-06-09Apply changes of pown to rootn. Faster, better edge handling.S. Gilles
2019-06-09Rework pown to be less embarrassingly slow.S. Gilles
2019-06-09Fix some special cases in log-overkill related to subnormals.S. Gilles
2019-06-07Move hi/lo multiplication and addition routines to util.S. Gilles
2019-06-07Merge remote-tracking branch 'origin/master' into pown-implS. Gilles
2019-06-07Remove debugging information.S. Gilles
2019-06-07Rewrite log-overkill.myrS. Gilles
Instead of performing the arbitrary-precision calculation, we can instead generalize [Tan90] slightly to use multiple levels of tables. This isn't quite as wasteful.
2019-05-21Correct sign-handling for pown special caseS. Gilles
2019-05-11Fix Remez algorithm.S. Gilles
2019-05-10Allow exact case of mkbigint(2^32)S. Gilles
2019-05-08Fix thing scorrectly.Ori Bernstein
2019-05-08Revert "Tag types on import."Ori Bernstein
This reverts commit a3bce47d15d25fc3bca79ee50fca3fd4df538d5b.
2019-05-07Tag types on import.Ori Bernstein
Fixes missing tagged types.
2019-05-02Replace costly sum with slightly faster sums in log-overkill.S. Gilles
This still doesn't make the function fast, but it's less embarassingly slow now.
2019-05-01Typo in log-overkill explanation.S. Gilles
2019-05-01Implement rootn.S. Gilles
2019-05-01Add missing reference for pown and rootn.S. Gilles
2019-05-01Add pown function.S. Gilles
2019-05-01Test the slow2sum function.S. Gilles
The singular piece of test data is the tuple that caused me to spend far too long realizing that fast2sum is not always appropriate.
2019-05-01Add a log function which returns far too much precision.S. Gilles
This makes accurately computing pown and powr easier.
2019-05-01Add 2sum in math utilS. Gilles
Fast2sum is only for when magnitudes of the arguments are known. 2sum (called "slow2sum") avoids this, at the cost of speed. It ends up being necessary in the forthcoming log-overkill function.
2019-05-01Add fltXXfromuintXX to ancillary math script.S. Gilles
2019-04-29Print "NaN" and "Inf" for floating-point NaNs and infinites.S. Gilles
2019-04-28Add test for previous issue.Ori Bernstein