summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-01-20Update bootstrap on FreeBSDOri Bernstein
2020-01-20Fix bootstrap on openbsd:Ori Bernstein
2020-01-20fix bootstrap on 9frontOri Bernstein
2020-01-12spelling mistake in commentbitmapper
2020-01-12fixed macos build, "improved" vim syntax highlighting (improved mode off by ↵bitmapper
default)
2019-12-05[PATCH v2] Force correct sign for intermediate steps of bigmulsgilles@umd.edu
Since y1 is usually smaller than y0, the sign of (x0 - x1) * (y1 - y0) is usually the same as that of (x0 - x1). This isn't always the case, though, especially if y is 2^Large * small. Also, the result of umul should be trimmed, so that we can trust that z0, z1 are trimmed in kmul. Otherwise, if their signs are different, bigadd(z1, z0) may become confused about which has greater magnitude and perform an incorrect subtraction. Since the result of kmul comes from bigadd(), which trims already, we need only trim the result of smallmul to ensure that umul's result is trimmed.
2019-12-01[PATCH v2 4/3] Somewhat better error for std.put("{w=?}", "foo")"S. Gilles"
2019-12-04Allow specifying padding width from variableS. Gilles
So I can write std.put("{w=?}{w=?}\n", field_a, max_width, field_b, max_width)
2019-12-04Make vanext decrement tc.nelt unconditionallyS. Gilles
This allows formatting functions to pass off the valist to type-specific formatters, which may themselves consume elements from the valist, and still check for correct argument counts without passing around counter variables.
2019-12-04Convert lib/test/fmt.myr to use testrS. Gilles
2019-10-30Fix build on 9front.Ori Bernstein
2019-10-29Merge decision tree nodes when possibleMura Li
(Tested on Linux/AMD64) Sample count: 506 Dtree Refcnt avg: 5.38 95th percentile: 3.00 maximum: 100 Dtree Size avg: 5.23 95th percentile: 3.00 maximum: 84 Dtree Height avg: 1.39 95th percentile: 1.00 maximum: 12 References: Mikael Pettersson. A term pattern-match compiler inspired by finite automata theory. (p.6 "Step 3: Optimizing the DFA")
2019-10-24Allow bigdivmod to return remainders between 2^31 and 2^32S. Gilles
2019-10-23Add missing file.Ori Bernstein
2019-10-22Add tests for matching semi-complicated tuplessgilles@math.umd.edu
2019-10-22Make the 9front C compiler happy: return at end of function.Ori Bernstein
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