From 69d9ddfb6ee7c5e6ed77a3e2fd5589091589637f Mon Sep 17 00:00:00 2001
From: Tim Daly
Date: Sat, 11 Jun 2016 01:20:20 0400
Subject: [PATCH] src/input/* fix failing regression tests for 64 bit
Goal: Axiom Regression Testing
GCL 2.6.12 on 64 bit gives different rounding results for
printed floating point values. It gives an undefined order
on Dictonary entries. It gives new values for the minimum
and maximum integers. This has impacted some regression
tests, which have been fixed.
fix )help comp

books/bookvol5.pamphlet  2 +
changelog  31 ++++++++++
patch  127 +++
src/axiomwebsite/patches.html  4 +
4 files changed, 44 insertions(+), 120 deletions()
diff git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index 3a96a2d..f55c38a 100644
 a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ 32881,7 +32881,7 @@ Returns the number of active scratchpad clients
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cmdhead{compile}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{chunk}{compile.help}
+\begin{chunk}{compiler.help}
====================================================================
A.7. )compile
====================================================================
diff git a/changelog b/changelog
index 0f1153f..5607380 100644
 a/changelog
+++ b/changelog
@@ 1,3 +1,34 @@
+20160611 tpd src/axiomwebsite/patches.html 20160611.01.tpd.patch
+20160611 tpd books/bookvol5 fix )help comp
+20160607 tpd src/axiomwebsite/patches.html 20160607.01.tpd.patch
+20160607 tpd books/bookvol10.3 fix failing regression tests
+20160607 tpd books/bookvol10.4 fix failing regression tests
+20160607 tpd books/bookvol10.5 fix failing regression tests
+20160607 tpd src/input/arrows.input fix failing regression tests
+20160607 tpd src/input/biquat.input fix failing regression tests
+20160607 tpd src/input/bouquet.input fix failing regression tests
+20160607 tpd src/input/cad.input fix failing regression tests
+20160607 tpd src/input/cmds.input fix failing regression tests
+20160607 tpd src/input/constant.input fix failing regression tests
+20160607 tpd src/input/davenport.input fix failing regression tests
+20160607 tpd src/input/dop.input fix failing regression tests
+20160607 tpd src/input/float1.input fix failing regression tests
+20160607 tpd src/input/free.input fix failing regression tests
+20160607 tpd src/input/graphviz.input fix failing regression tests
+20160607 tpd src/input/grpthry.input fix failing regression tests
+20160607 tpd src/input/ico.input fix failing regression tests
+20160607 tpd src/input/mathml.input fix failing regression tests
+20160607 tpd src/input/mset.input fix failing regression tests
+20160607 tpd src/input/mset2.input fix failing regression tests
+20160607 tpd src/input/parabola.input fix failing regression tests
+20160607 tpd src/input/r20bugs.input fix failing regression tests
+20160607 tpd src/input/r21bugsbig.input fix failing regression tests
+20160607 tpd src/input/segletes.input fix failing regression tests
+20160607 tpd src/input/sint.input fix failing regression tests
+20160607 tpd src/input/stbl.input fix failing regression tests
+20160607 tpd src/input/strtbl.input fix failing regression tests
+20160607 tpd src/input/taylorseries.input fix failing regression tests
+20160607 tpd src/input/unittest1.input fix failing regression tests
20160606 tpd src/axiomwebsite/patches.html 20160606.01.tpd.patch
20160606 tpd books/bookvol10.3 standardize Axiom code
20160604 tpd src/axiomwebsite/patches.html 20160604.01.tpd.patch
diff git a/patch b/patch
index 563d3f2..85fced4 100644
 a/patch
+++ b/patch
@@ 1,123 +1,12 @@
books/bookvol10.3 standardize Axiom code

Goal: Axiom Literate Programming

A book needs to be "written by one hand". Books with multiple
authors (and Axiom has many) require an edit to have a common
format. This change moves all of the packages to a common format.

A common format allows lint programs and editors to parse the
code at the syntax level without knowing the full range of Axiom's
language. Later automation will take advantage of this to improve
documentation tools.

Axiom allows variation in almost every possible way and each
author has made stylistic choices. All of the many choices were
collected and reviewed. A uniform syntax was chosen. Note that
the compiler does not enforce these choices and they are quite
arbitrary.

The syntax change is uniform. Every package is now:

)abbrev domain CON Constructor (1)
++ comment (2)
++ comment
  blank line  (3)
Constructor(A,B) : SIG == CODE where (4a) (4b) (4c)
 A : type declaration (5)
 B : type declaration
  blank line  (6)
 M1 ==> macro definition 1 (7)
 M2 ==> macro definition 2
  blank line  (8)
 SIG ==> Constructor1() with (9)
  blank line  (10)
 fn1 : A > % (11)
 ++ fn1(a) comment (12)
 ++ (13)
 ++X fn1(a) (14)
  blank line  (15)
 CODE ==> Constructor2() add (16)
  blank line (17)
 fn1(a) == (18)

In a few cases the ":" and SIG tokens are missing

Constructor1(A) == CODE where
 A: Integer

 CODE ==> Constructor2(A)

which is a standard form of

Constructor1(A) == Constructor2(A)

In general

 (a) indentation is 2 spaces from the enclosing block
 (b) the ":" is always surrounded by a space on either side.
 (c) there is only one space used between syntax element, do not write:
 f(x) == x * x


(1) The )abbrev line always is spelled ")abbrev"

(2) The top level ++ comments follow immediately after )abbrev

(3) There is a blank line ending the top level comments

(4a) The constructor line uses symbols without type decorations
 in the argument list. If there is no argument list then
 the constructor is followed by () as in:
 Constructor()

(4b) The constructor is followed by a spacedelimited colon
 per the overall standard

(4c) The line ends with "SIG == CODE where". These names were
 chosen as the smallest meaningful symbols to save space.

(5) The constructor argument types follow immediately after
 the Constructor line. Sometimes a type declaration uses a
 macro so you see
 A : OneType()
 B ==> MacroTypeRename
 C : OtherType(A,B)
 Type order introduces types so they are defined before use.
 Otherwise, type order follows Constructor argument order.

(6) There is a blank line ending the Constructor type declarations

(7) Macros are introduced

(8) There is a blank line ending the macro section

(9) "SIG ==> with" is a macro containing the signatures of the type

(10) There is a blank line after the "SIG" macro start line

(11) signatures are indented 2 spaces from the enclosing block
 The ":" is spacedelimited.
 The rest of the line uses single spacing

(12) The first word in a signature comment is the function name

(13) Signature comments have a single ++ blank line

(14) Signature comments have one or several ++X example lines
 which will appear as part of the )describe command output

(15) There is a blank line between signatures

(16) There is a "CODE ==> add" macro

(17) The CODE macro is followed by a blank line

(18) The functions are twospace indented from the enclosing block.
 Twospace indentation is used within the function.


+src/input/* fix failing regression tests for 64 bit
+Goal: Axiom Regression Testing
+GCL 2.6.12 on 64 bit gives different rounding results for
+printed floating point values. It gives an undefined order
+on Dictonary entries. It gives new values for the minimum
+and maximum integers. This has impacted some regression
+tests, which have been fixed.
+fix )help comp
diff git a/src/axiomwebsite/patches.html b/src/axiomwebsite/patches.html
index 72c917b..d294e90 100644
 a/src/axiomwebsite/patches.html
+++ b/src/axiomwebsite/patches.html
@@ 5316,6 +5316,10 @@ src/interp/format.lisp fix (1) in unparsing
books/bookvol10.4 standardize Axiom code
20160606.01.tpd.patch
books/bookvol10.3 standardize Axiom code
+20160607.01.tpd.patch
+src/input/* fix failing regression tests for 64 bit
+20160611.01.tpd.patch
+books/bookvol5 fix )help comp

1.7.5.4