From ac8aeb47a55cc0f667ba2f6ab469753b5b682b22 Mon Sep 17 00:00:00 2001 From: Eric Lagergren Date: Mon, 8 Apr 2019 02:32:04 -0700 Subject: [PATCH] more misc. code cleanup; update benchmarks --- benchmarks/README.md | 53 ------ benchmarks/doc.go | 69 +++++++ benchmarks/mandelbrot_test.go | 4 +- benchmarks/pi_test.go | 1 - benchmarks/{_testdata => testdata}/c_double.c | 2 +- benchmarks/testdata/java/java.iml | 11 ++ .../java}/src/JavaBigDecimal.java | 2 +- benchmarks/{_testdata => testdata}/python.py | 0 big.go | 1 - go.mod | 2 +- go.sum | 4 +- math/arccosine.go | 4 +- math/sqrt.go | 4 +- suite/getcases.go | 130 -------------- suite/ieee-test-suite-v2.pdf | Bin 135651 -> 0 bytes suite/parser.rl | 169 ------------------ suite/ragel.bash | 7 - suite/suite.go | 2 +- 18 files changed, 89 insertions(+), 376 deletions(-) delete mode 100644 benchmarks/README.md create mode 100644 benchmarks/doc.go rename benchmarks/{_testdata => testdata}/c_double.c (90%) create mode 100644 benchmarks/testdata/java/java.iml rename benchmarks/{_testdata => testdata/java}/src/JavaBigDecimal.java (98%) rename benchmarks/{_testdata => testdata}/python.py (100%) delete mode 100644 suite/getcases.go delete mode 100644 suite/ieee-test-suite-v2.pdf delete mode 100644 suite/parser.rl delete mode 100755 suite/ragel.bash diff --git a/benchmarks/README.md b/benchmarks/README.md deleted file mode 100644 index f7a8ff6..0000000 --- a/benchmarks/README.md +++ /dev/null @@ -1,53 +0,0 @@ -## Benchmarks for various decimal programs. - -## General notes - -- Times are measured in seconds, unless otherwise noted -- Measured on a MacBook Pro, 2.9 GHz Intel Core i5, 8 GB 2133 MHz LPDDR3 -- Some benchmarks are adapted from www.bytereef.org/mpdecimal/benchmarks.html - -The benchmarks aim to be as fair as possible, but ultimately they do compare -different libraries with different feature sets. For example, [go-inf/inf][8] -boasts the fastest overall runtime of any library, but it also doesn't implement -the GDA spec: it lacks contexts, non-finite NaN/Inf/±zero values, conditions, -etc. Further, programs like [cocroachdb/apd][2] sacrifice speed to ensure strict -compatibility with the GDA spec. - -In general, libraries that cannot fully complete a challenge will be unranked. -For example, Go's `float64` type cannot provide 19 or more digits of precision, -so it's unranked in the Pi test. Similarly so with [apmckinlay/dnum][3]. - -## Pi - -| Program (version) | 9 digits | 19 digits | 38 digits | 100 digits | average | -|-------------------------------------------|----------|-----------|-----------|------------|---------| -| [go-inf/inf][8] (Go 1.9) | 0.10 | 0.23 | 0.53 | 1.43 | 0.572 | -| [JDK BigDecimal][4] (Java 1.8, warm) | 0.049 | 0.19 | 0.60 | 3.29 | 1.05 | -| [ericlagergren/decimal][1] (Go 1.9, mode Go) | 0.046 | 0.29 | 0.81 | 3.09 | 1.10 | -| [ericlagergren/decimal][1] (Go 1.9, mode GDA) | 0.048 | 0.34 | 0.97 | 3.70 | 1.26 | -| [Python decimal][5] (Python 3.6.2) | 0.27 | 0.58 | 1.32 | 4.52 | 1.67 | -| [JDK BigDecimal][4] (Java 1.8) | 0.29 | 0.96 | 1.79 | 3.99 | 1.76 | -| [shopspring/decimal][7] decimal (Go 1.9) | 0.38 | 0.94 | 1.95 | 5.26 | 2.13 | -| [cockroachdb/apd][2] (Go 1.9) | 0.52 | 2.14 | 9.01 | 71.62 | 20.81 | -| [Python decimal][6] (Python 2.7.10) | 12.93 | 28.91 | 64.96 | 192.58 | 74.84 | -| float64 (Go 1.9) | 0.057 | - | - | - | - | -| double (C LLVM 9.0.0 -O3) | 0.057 | - | - | - | - | -| [apmckinlay/dnum][3] (Go 1.9) | 0.091 | - | - | - | - | -| float (Python 2.7.10) | 0.59 | - | - | - | - | - -## Mandelbrot - -| Program (version) | 9 digits | 16 digits | 19 digits | 34 digits | 38 digits | average | -|-------------------------------------------|----------|-----------|-----------|-----------|-----------|---------| -| [ericlagergren/decimal][1] (Go 1.9, mode GDA) | 2.73 | 9.07 | 14.54 | 24.95 | 25.09 | 15.27 | -| [ericlagergren/decimal][1] (Go 1.9, mode Go) | 2.73 | 9.70 | 15.02 | 26.13 | 26.62 | 16.04 | -| float64 (Go 1.9) | 0.0034 | - | - | - | - | - | - -[1]: https://github.com/ericlagergren/decimal -[2]: https://github.com/cockroachdb/apd -[3]: https://github.com/apmckinlay/gsuneido/util/dnum -[4]: https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html -[5]: https://docs.python.org/3.6/library/decimal.html -[6]: https://docs.python.org/2/library/decimal.html -[7]: https://github.com/shopspring/decimal -[8]: https://github.com/go-inf/inf diff --git a/benchmarks/doc.go b/benchmarks/doc.go new file mode 100644 index 0000000..47f710b --- /dev/null +++ b/benchmarks/doc.go @@ -0,0 +1,69 @@ +// Package benchmarks implements benchmarking across decimal packages. +// +// General Notes +// +// 1. Times are measured in seconds, unless otherwise noted +// 2. Measured on a MacBook Pro, 2.9 GHz Intel Core i5, 8 GB 2133 MHz LPDDR3 +// 3. Some benchmarks are adapted from www.bytereef.org/mpdecimal/benchmarks.html +// +// While the benchmarks aim to be as fair as possible, the packages have +// different feature sets and objects. +// +// For example, go-inf/inf[8] boasts the fastest overall runtime of any package, +// but does not fully implement the GDA specification: it lacks contexts, +// non-finite values (NaN, Inf, or ±0), conditions, etc. +// +// Further, programs like cockroachdb/apd[2] sacrifice speed to ensure strict +// compliance with the GDA spec. +// +// In general, package sthat cannot fully complete a challenge will be unranked. +// For example, the ``float64'' type cannot provide 19 or more digits of precision, +// so it's unranked in the Pi test. Similarly so with apmckinlay/dnum[3]. +// +// Pi +// +// Go programs are tested with Go 1.12.2. +// +// Java benchmarks are separated into two categories, warm and cold. Warm +// benchmarks are run 10,000 times prior to benchmarking. +// +// | Program (version) | 9 digits | 19 digits | 38 digits | 100 digits | average | +// |--------------------------------------|----------|-----------|-----------|------------|---------| +// | go-inf/inf[8] | 0.241 | 0.537 | 1.12 | 3.01 | 1.227 | +// | ericlagergren/decimal[1] (mode Go) | 0.142 | 0.639 | 1.46 | 4.16 | 1.60 | +// | Python decimal[5] (Python 3.7.3) | 0.38 | 0.791 | 1.77 | 6.21 | 2.29 | +// | JDK BigDecimal[4] (Java 1.8, warm) | 0.156 | 0.717 | 1.957 | 7.252 | 2.52 | +// | ericlagergren/decimal[1] (mode GDA) | 0.204 | 0.953 | 2.37 | 8.40 | 2.98 | +// | JDK BigDecimal[4] (Java 1.8, cold) | 0.532 | 1.638 | 3.413 | 7.747 | 3.332 | +// | shopspring/decimal[7] decimal | 0.83 | 1.78 | 4.00 | 10.90 | 4.37 | +// | cockroachdb/apd[2] | 1.54 | 7.50 | 43.6 | 237.00 | 72.41 | +// | Python decimal[6] (Python 2.7.10) | 31.81 | 74.502 | 161.71 | 460.00 | 182.00 | +// | float64 | 0.125 | - | - | - | - | +// | double (C LLVM 10.0.1 -O3) | 0.0589 | - | - | - | - | +// | apmckinlay/dnum[3] | 0.078 | - | - | - | - | +// | float (Python 2.7.10, 3.7.3) | 0.0923 | - | - | - | - | +// +// Mandelbrot +// +// Go programs are tested with Go 1.9.?. +// +// | Program (version) | 9 digits | 16 digits | 19 digits | 34 digits | 38 digits | average | +// |--------------------------------------|----------|-----------|-----------|-----------|-----------|---------| +// | ericlagergren/decimal[1] (mode GDA) | 2.73 | 9.07 | 14.54 | 24.95 | 25.09 | 15.27 | +// | ericlagergren/decimal[1] (mode Go) | 2.73 | 9.70 | 15.02 | 26.13 | 26.62 | 16.04 | +// | float64 | 0.0034 | - | - | - | - | - | +// +// References +// +// Further information and references can be found at the links below. +// +// [1]: github.com/ericlagergren/decimal +// [2]: github.com/cockroachdb/apd +// [3]: github.com/apmckinlay/gsuneido/util/dnum +// [4]: docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html +// [5]: docs.python.org/3.6/library/decimal.html +// [6]: docs.python.org/2/library/decimal.html +// [7]: github.com/shopspring/decimal +// [8]: github.com/go-inf/inf +// +package benchmarks diff --git a/benchmarks/mandelbrot_test.go b/benchmarks/mandelbrot_test.go index fa398f6..5a8e50b 100644 --- a/benchmarks/mandelbrot_test.go +++ b/benchmarks/mandelbrot_test.go @@ -8,9 +8,7 @@ import ( const mbrotiters = 10000000 -var ( - two = decimal.New(2, 0) -) +var two = decimal.New(2, 0) func BenchmarkMandelbrot_float64(b *testing.B) { var lf float64 diff --git a/benchmarks/pi_test.go b/benchmarks/pi_test.go index 400b357..ff370b0 100644 --- a/benchmarks/pi_test.go +++ b/benchmarks/pi_test.go @@ -243,7 +243,6 @@ func calcPiGDA(prec int) *decimal.Big { ctx.Add(s, s, t) } return s.Round(prec) - } func calcPi_apd(prec uint32) *apd.Decimal { diff --git a/benchmarks/_testdata/c_double.c b/benchmarks/testdata/c_double.c similarity index 90% rename from benchmarks/_testdata/c_double.c rename to benchmarks/testdata/c_double.c index aa7a3a2..3e2f786 100644 --- a/benchmarks/_testdata/c_double.c +++ b/benchmarks/testdata/c_double.c @@ -16,7 +16,7 @@ int main(void) { for (int j = 0; j < ROUNDS; ++j) { ld = calcPifloat(); } - sum += (double)(clock() - start_clock)/(double)(CLOCKS_PER_SEC); + sum += (double)(clock() - start_clock) / (double)(CLOCKS_PER_SEC); } gd = ld; printf("average: %f\n", sum / NITER); diff --git a/benchmarks/testdata/java/java.iml b/benchmarks/testdata/java/java.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/benchmarks/testdata/java/java.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/benchmarks/_testdata/src/JavaBigDecimal.java b/benchmarks/testdata/java/src/JavaBigDecimal.java similarity index 98% rename from benchmarks/_testdata/src/JavaBigDecimal.java rename to benchmarks/testdata/java/src/JavaBigDecimal.java index dece0e0..66473a2 100644 --- a/benchmarks/_testdata/src/JavaBigDecimal.java +++ b/benchmarks/testdata/java/src/JavaBigDecimal.java @@ -35,7 +35,7 @@ public static void main(String... args) { throw new IllegalArgumentException("bad argument " + args); } - for (int i = 0; i < 10000; ++i) { + for (int i = 0; i < 0; ++i) { r = fn.apply(new MathContext(precs[i % precs.length])); } diff --git a/benchmarks/_testdata/python.py b/benchmarks/testdata/python.py similarity index 100% rename from benchmarks/_testdata/python.py rename to benchmarks/testdata/python.py diff --git a/big.go b/big.go index 3b0d197..3aa68bb 100644 --- a/big.go +++ b/big.go @@ -627,7 +627,6 @@ func (x *Big) Format(s fmt.State, c rune) { if !hasPrec { prec = 0 } else { - // %f's precision means "number of digits after the radix" if x.exp > 0 { f.prec += x.Precision() diff --git a/go.mod b/go.mod index 729c6fb..f8e930f 100644 --- a/go.mod +++ b/go.mod @@ -1,7 +1,7 @@ module github.com/ericlagergren/decimal require ( - github.com/apmckinlay/gsuneido v0.0.0-20180907175622-1f10244968e3 + github.com/apmckinlay/gsuneido v0.0.0-20190404155041-0b6cd442a18f github.com/cockroachdb/apd v1.1.0 github.com/lib/pq v1.0.0 // indirect github.com/pkg/errors v0.8.0 // indirect diff --git a/go.sum b/go.sum index 66f2c78..0de6e15 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -github.com/apmckinlay/gsuneido v0.0.0-20180907175622-1f10244968e3 h1:GGt+2fBzp83fE4DGSstL0K/crfQyXu7qOEKrvnwJRtU= -github.com/apmckinlay/gsuneido v0.0.0-20180907175622-1f10244968e3/go.mod h1:hJnaqxrCRgMCTWtpNz9XUFkBCREiQdlcyK6YNmOfroM= +github.com/apmckinlay/gsuneido v0.0.0-20190404155041-0b6cd442a18f h1:WwxMm9boNuaj5YW+qfRoORxLLJrSRiK1zovCfGNddY0= +github.com/apmckinlay/gsuneido v0.0.0-20190404155041-0b6cd442a18f/go.mod h1:JU2DOj5Fc6rol0yaT79Csr47QR0vONGwJtBNGRD7jmc= github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A= diff --git a/math/arccosine.go b/math/arccosine.go index 4b3d623..21b1a98 100644 --- a/math/arccosine.go +++ b/math/arccosine.go @@ -1,8 +1,6 @@ package math -import ( - "github.com/ericlagergren/decimal" -) +import "github.com/ericlagergren/decimal" // Acos returns the arccosine, in radians, of x. // diff --git a/math/sqrt.go b/math/sqrt.go index 63dce0b..3f98278 100644 --- a/math/sqrt.go +++ b/math/sqrt.go @@ -1,8 +1,6 @@ package math -import ( - "github.com/ericlagergren/decimal" -) +import "github.com/ericlagergren/decimal" // Hypot sets z to Sqrt(p*p + q*q) and returns z. func Hypot(z, p, q *decimal.Big) *decimal.Big { diff --git a/suite/getcases.go b/suite/getcases.go deleted file mode 100644 index f9cce0b..0000000 --- a/suite/getcases.go +++ /dev/null @@ -1,130 +0,0 @@ -// +build ignore - -package main - -import ( - "bufio" - "bytes" - "io" - "log" - "net/http" - "os" - "path/filepath" - "strings" -) - -const prefix = "https://www.research.ibm.com/haifa/projects/verification/fpgen/download/Decimal-" -const suffix = ".fptest" - -var urls = [...]string{ - prefix + "Basic-Types-Inputs" + suffix, - prefix + "Basic-Types-Intermediate" + suffix, - prefix + "Rounding" + suffix, - prefix + "Overflow" + suffix, - prefix + "Underflow" + suffix, - prefix + "Trailing-And-Leading-Zeros-Input" + suffix, - prefix + "Trailing-And-Leading-Zeros-Result" + suffix, - prefix + "Clamping" + suffix, - prefix + "Mul-Trailing-Zeros" + suffix, -} - -func main() { - dir := filepath.Join("testdata", "fpgen") - err := os.MkdirAll(dir, 0755) - if err != nil { - log.Fatalln(err) - } - - for _, url := range urls { - resp, err := http.Get(url) - if err != nil { - log.Fatalln(err) - } - defer resp.Body.Close() - name := strings.TrimPrefix(url, prefix) - name = strings.Replace(name, "-", "", -1) - out, err := os.Create(filepath.Join(dir, name)) - if err != nil { - log.Fatalln(err) - } - defer out.Close() - err = copyLines(out, resp.Body) - if err != nil { - log.Fatalln(err) - } - } -} - -// copyLines copies r to w but omits invalid lines. -func copyLines(w io.Writer, r io.Reader) (err error) { - s := bufio.NewScanner(r) - s.Split(scanLines) - // wc -L *.fptest | sort shows max line length is 142. Alloc a few extra - // bytes in case it grows in the future. - s.Buffer(make([]byte, 150), bufio.MaxScanTokenSize) - var p []byte - for s.Scan() { - p = s.Bytes() - if !badLine(p) { - _, err = w.Write(p) - if err != nil { - return err - } - } - } - return s.Err() -} - -// badLine returns true if the line is one of the non-test lines. (E.g., is -// a
 tags, a copyright date, etc.)
-func badLine(p []byte) bool {
-	if len(p) == 0 {
-		return true
-	}
-	switch p[0] {
-	case '\n', '\r':
-		return true
-	case '<':
-		return bytes.Contains(p, []byte("pre>"))
-	case 'D':
-		return bytes.HasPrefix(p, []byte("Decimal floating point tests: "))
-	case 'C':
-		return bytes.HasPrefix(p, []byte("Copyright of IBM Corp. 20"))
-	default:
-		return false
-	}
-}
-
-// scanLines is copied from the stdlib but includes newlines.
-func scanLines(data []byte, atEOF bool) (advance int, token []byte, err error) {
-	if atEOF && len(data) == 0 {
-		return 0, nil, nil
-
-	}
-	if i := bytes.IndexByte(data, '\n'); i >= 0 {
-		// We have a full newline-terminated line.
-		return i + 1, convCR(data[0:i]), nil
-	}
-	// If we're at EOF, we have a final, non-terminated line. Return it.
-	if atEOF {
-		return len(data), convCR(data), nil
-	}
-	// Request more data.
-	return 0, nil, nil
-}
-
-// convCR converts a trailing carriage return to a line feed.
-func convCR(data []byte) []byte {
-	if len(data) == 0 {
-		return data
-	}
-	switch data[len(data)-1] {
-	case '\r':
-		data[len(data)-1] = '\n'
-		return data
-	case '\n':
-		return data
-	default:
-		return append(data, '\n')
-	}
-}
diff --git a/suite/ieee-test-suite-v2.pdf b/suite/ieee-test-suite-v2.pdf
deleted file mode 100644
index ea5b95c7b01e2e2c1759133b8e29c85ce1521080..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 135651
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

diff --git a/suite/parser.rl b/suite/parser.rl
deleted file mode 100644
index 3869cb3..0000000
--- a/suite/parser.rl
+++ /dev/null
@@ -1,169 +0,0 @@
-package suite
-
-import (
-    "fmt"
-    "strconv"
-)
-
-func ParseCase(data []byte) (c Case, err error) {
-    cs, p, pe, eof := 0, 0, len(data), len(data)
-
-    var (
-        ok   bool // for mode and op
-        mark int
-    )
-
-    %%{
-        machine parser;
-
-        action mark { mark = fpc }
-        action set_prefix { c.Prefix = string(data[mark:fpc]) }
-        action set_prec   {
-            if c.Prec, err = strconv.Atoi(string(data[mark:fpc])); err != nil {
-                return c, err
-            }
-        }
-        action set_op {
-            if c.Op, ok = valToOp[string(data[mark:fpc])]; !ok {
-                return c, fmt.Errorf("invalid op: %q", data[mark:fpc])
-            }
-        }
-        action set_mode {
-	    	if c.Mode, ok = valToMode[string(data[mark:fpc])]; !ok {
-				return c, fmt.Errorf("invalid mode: %q", data[mark:fpc])
-	    	}
-        }
-        action set_trap {
-			c.Trap = ConditionFromString(string(data[mark:fpc]))
-        }
-        action add_input  { c.Inputs = append(c.Inputs, Data(data[mark:fpc])) }
-        action set_output { c.Output = Data(data[mark:fpc]) }
-        action set_excep  {
-			c.Excep = ConditionFromString(string(data[mark:fpc]))
-        }
-
-       prefix = ('d' | 'b') >mark %set_prefix;
-       prec = digit+ >mark %set_prec;
-       op = (
-              '+'      # Add
-            | '-'      # Sub
-            | '*'      # Mul
-            | '/'      # Div
-            | '*-'     # FMA
-            | 'V'      # Sqrt
-            | '%'      # Rem
-            | 'rfi'    # RFI
-            | 'cff'    # CFF
-            | 'cfi'    # CFI
-            | 'cif'    # CIF
-            | 'cfd'    # CFD
-            | 'cdf'    # CDF
-            | 'qC'     # QuietCmp
-            | 'sC'     # SigCmp
-            | 'cp'     # Copy
-            | '~'      # Neg
-            | 'A'      # Abs
-            | '@'      # CopySign
-            | 'S'      # Scalb
-            | 'L'      # Logb
-            | 'Na'     # NextAfter
-            | '?'      # Class
-            | '?-'     # IsSigned
-            | '?n'     # IsNormal
-            | '?f'     # IsFinite
-            | '?0'     # IsZero
-            | '?s'     # IsSubnormal
-            | '?i'     # IsInf
-            | '?N'     # IsNaN
-            | '?sN'    # IsSignaling
-            | 'C'     # MaxNum
-            | 'A'     # MaxNumMag
-            | '=quant' # SameQuantum
-            | 'quant'  # Quantize
-            | 'Nu'     # NextUp
-            | 'Nd'     # NextDown
-            | 'eq'     # Equiv
-			
-			# Custom
-			| 'rat'     # ToRat
-			| 'sign'    # Sign
-			| 'signbit' # Signbit
-			| 'exp'     # Exponential function
-			| 'log'     # Natural logarithm
-			| 'log10'   # Common logarithm
-			| 'pow'     # Power
-            | '//'      # Int Div
-			| 'norm'    # Normalize (reduce)
-			| 'rtie'    # RoundToInt (exact)
-			| 'shift'   # Shift
-        ) >mark %set_op; 
-        mode = (
-              '>'  # ToPositiveInf
-            | '<'  # ToNegativeInf
-            | '0'  # ToZero
-            | '=0' # ToNearestEven
-            | '=^' # ToNearestAway
-			| '^'  # AwayFromZero
-        ) >mark %set_mode;
-        condition = (
-              'x' # Inexact
-            | 'u' # Underflow
-            | 'v' # Underflow
-            | 'w' # Underflow
-            | 'o' # Overflow
-            | 'z' # DivisionByZero
-            | 'i' # InvalidOperation
-
-			# Custom
-			| 'c' # Clamped
-			| 'r' # Rounded
-			| 'y' # ConversionSyntax
-			| 'm' # DivisionImpossible
-			| 'n' # DivisionUndefined
-			| 't' # InsufficientStorage
-			| '?' # InvalidContext
-			| 's' # Subnormal
-        );
-        trap = condition* >mark %set_trap;
-        excep = condition* >mark %set_excep;
-
-		sign       = '+' | '-';
-		indicator  = 'e' | 'E';
-		exponent   = indicator? sign? digit+;
-        number     = digit+ ('.' digit+)? exponent?;
-		nan_prefix = [sSqQ];
-		nan        = (nan_prefix | nan_prefix? 'nan'i);
-		class      = (nan_prefix? 'nan'i | (sign? 
-				  'Subnormal'
-				| 'Normal'
-				| 'Zero'
-				| 'Infinity')
-		);
-        numeric_string = sign? (
-			  ('true'i | 'false'i) # True, truE, false, FalSe, ...
-			| nan                  # S, Q, NaN, sNaN, ...
-            | ('inf'i 'inity'i?)   # +inf, -inf, ...
-            | number               # 10, 10.1, +0e-392, ...
-			| class                # +Normal, -Zero, ...
-        );
-        input = numeric_string >mark %add_input;
-        output = (numeric_string | '#') >mark %set_output;
-
-        main := (
-            prefix . prec . (op ' '+) # Prefix, prec, and op are one 'chunk'
-            (mode ' '+)               # Mode is its own chunk
-            (trap ' '+)?              # Trap is its own chunk, maybe exists
-            (input ' '+)+             # Input is one or more chunks
-            '->' ' '+                 #
-            output                    # Output is its own chunk 
-            (' '+ excep)?             # Excep is its own chunk, maybe exists
-        );
-
-        write data;
-        write init;
-        write exec;
-    }%%
-    return c, nil
-}
diff --git a/suite/ragel.bash b/suite/ragel.bash
deleted file mode 100755
index 513df09..0000000
--- a/suite/ragel.bash
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-
-ragel -e -p -Z -G2 -o parser.go parser.rl
-#ragel -e -p -V -Z -G2 -o parser.dot parser.rl
-#dot -Tsvg -o parser.svg parser.dot
diff --git a/suite/suite.go b/suite/suite.go
index d8f3c2e..ee39a36 100644
--- a/suite/suite.go
+++ b/suite/suite.go
@@ -1,7 +1,7 @@
 // Package suite provides a simple API for parsing and using IBM Labs'
 // "Floating-Point Test-Suite for IEEE"
 //
-// Deprecated.
+// This package is deprecated and will be removed in the next major version.
 package suite
 
 import (