diff --git a/CHANGES.guava b/CHANGES.guava index 47d6ad8..7880f2b 100644 --- a/CHANGES.guava +++ b/CHANGES.guava @@ -1,54 +1,91 @@ In this file we record the changes since the first GAP 4 release of the GUAVA package. +Version 3.20 (2-2025) + o Many changes to the manual were made. Accumulated anachronisms were revealed by manual/example + test extraction via AutoDoc + o The C23 standard defines a bool type and that will shortly be the default for gcc. Adjusted old C code + (which defined its own bool type). + o CoveringRadius() for codes over small non-binary fields was throwing an error. Fixed, but a more permanent solution + is needed. (See issue #104) + o Many other minor fixes (also revealed by AutoDoc's extraction of tests from the manual examples). + +Version 3.19 (3-2024) + o Fix various issues in the C source code, including potential buffer + overflows and many compiler warnings + o Various other minor and/or janitorial changes + +Version 3.18 (1-2023) + o Enhance the `configure` script to accept `--with-gaproot=PATH` + +Version 3.17 (9-2022) + o Add back QCLDPCCodeFromGroup method (it was accidentally removed + between Guava 3.8 and 3.9) + o Fix out of bounds access in the C code + o Fix most (all?) compiler warnings in the C code + o Fix PutStandardForm *again* + o Update several outdated manual examples + o Avoid accidentally displaying the output of subprocesses to the user + o Improve the package banner + o Various minor and/or janitorial changes + +Version 3.16 (4-2022) + o CirculantMatrixi() now circulates to the right. + o Build of the automorphism group subsystem by Jeff Leon was failing on Macs : fixed + +Version 3.15 (8-2019): + o Fixed decoding of cyclic codes + o Several updates to build system + o Updated Travis integration + Version 3.14 (4-2018): - o The external binaries from J. S. Leon and Cen Tjhai can now be used on all - architectures (Unix/Linux, MacOS, and Windows) + o The external binaries from J. S. Leon and Cen Tjhai can now be used on all + architectures (Unix/Linux, MacOS, and Windows) o The bug fix for MinimumWeight() from 3.13 was not sufficiently well tested... o The decoding method for cyclic codes fails in certain situations. We are leaving this as a known bug for the moment. - o A bug fix for MinimumDistanceLeon() from Alex K. - o Lots of clean up of the lib files -- removing old comments, obsolete version strings, + o A bug fix for MinimumDistanceLeon() from Alex K. + o Lots of clean up of the lib files -- removing old comments, obsolete version strings, leftovers from CVS, etc. - o Constructions were added for several of the optimal codes in the bounds tables that + o Constructions were added for several of the optimal codes in the bounds tables that were referenced in the now defunct online table by Brouwer and Verhoeff. Version 3.13 (2-2016): - o Incorporated fixes by Dima Pasechnik. + o Incorporated fixes by Dima Pasechnik. o Incorporated fixes by Jerome Benoit. o Fixed bug in MinimumWeight() uncovered by Simon Tinius. - o The infix "in" operator was not working for the case of a codeword - in a code, when the code was defined by a generator polynomial. - o Fixed BCH decoding - o Changes to the test suite: moved test files to a separate "tst" - subdirectory, added "decoding.tst" file which includes thorough tests - of decoding algorithms, modified "guava.tst" so that randomization of - input values does not effect output. Added "hadamard.tst" for testing the + o The infix "in" operator was not working for the case of a codeword + in a code, when the code was defined by a generator polynomial. + o Fixed BCH decoding + o Changes to the test suite: moved test files to a separate "tst" + subdirectory, added "decoding.tst" file which includes thorough tests + of decoding algorithms, modified "guava.tst" so that randomization of + input values does not effect output. Added "hadamard.tst" for testing the construction of Hadamard matrices - o Rewrite of the algorithms for constructing Hadamard matrices. Hadamard - matrices can be constructed using Sylvester's and Paley's (type I and II) - methods. The Paley constructions use properties of the quadratic - residues in a finite field, which previously was assumed to be of + o Rewrite of the algorithms for constructing Hadamard matrices. Hadamard + matrices can be constructed using Sylvester's and Paley's (type I and II) + methods. The Paley constructions use properties of the quadratic + residues in a finite field, which previously was assumed to be of prime order - GF(p) - now we can also handle extension fields - GF(p^k). The smallest order without a construction is now 92. o Changes necessitated by switch to GitHub (mostly to the webpage) o Added ErrorVector() convenience function for creating small weight error vectors from a list of error positions (used in testing Decode() methods.) - o Cleaned up Decode/Decodeword which are supposed to return info. words - and corrected codewords respectively. Many codes with SpecialDecoder + o Cleaned up Decode/Decodeword which are supposed to return info. words + and corrected codewords respectively. Many codes with SpecialDecoder functions were doing the wrong thing. o Tested against GAP 4.8.1 and made changes necessitated by GAP updates. (E.g. ReadTest -> Test) Version 3.12 (5-2012): - o More work on configure/make. Switched "configure" script to that + o More work on configure/make. Switched "configure" script to that written by Frank Lubeck for Browse. EDIM, etc. - o Revamped init.g and read.g and the AvailabilityTest function in + o Revamped init.g and read.g and the AvailabilityTest function in PackageInfo.g for GAP 4.5 compatibility. - o Some fixes to guava.tst. There are now exactly 4 known errors. + o Some fixes to guava.tst. There are now exactly 4 known errors. o Switched bibliography database in /doc to an xml format and repaired - many LaTeX warnings due to inappropriate Label attributes in + many LaTeX warnings due to inappropriate Label attributes in tags. Version 3.11 (1-2012): @@ -67,7 +104,7 @@ Version 3.10 (3-2009): Version 3.9 (12-2008): o Fix for BCH decoder bug reported by Heiko Dietrich. - o Fix for MinimumDistanceLeon bug reported by Jorge Ernesto + o Fix for MinimumDistanceLeon bug reported by Jorge Ernesto Perez Chamorro Version 3.8 (11-2008): @@ -75,7 +112,7 @@ Version 3.8 (11-2008): Version 3.7 (08-2008): o Fix to leonconv.c reported by Klaus Lux. - o Fix to libtool problem in leon configure script, + o Fix to libtool problem in leon configure script, reported by Petr Salinger and Timothy Abbott. Version 3.6 (06-2008): @@ -102,7 +139,7 @@ Version 3.3 (03-2008): Version 3.2 (01-2008): o Added a macro for malloc.h in leonconv.c to fix compilation error under Mac OS X - o Added ExtendedReedSolomonCode, QuasiCyclicCode, CyclicMDSCode, + o Added ExtendedReedSolomonCode, QuasiCyclicCode, CyclicMDSCode, FourNegacirculantSelfDualCode, ConstructionXCode, ConstructionXXCode, BZCode, IsDoublyEvenCode, IsSinglyEvenCode and IsEvenCode functions. @@ -111,11 +148,11 @@ Version 3.1 (10-2007): o William Stein fixed a compilation bug. o Fixed XML bugs pointed out by Frank Luebeck and Max Neunhoeffer -Version 3.0: (7-2007) - o Robert Miller and Tom Boothby added as authors. - o Leon's code is now GPL'd (many thanks to Vera Pless - and Steve Smith)! Robert and Tom are working on rewriting - the code and have already fixed some bugs, compiling errors, +Version 3.0: (7-2007) + o Robert Miller and Tom Boothby added as authors. + o Leon's code is now GPL'd (many thanks to Vera Pless + and Steve Smith)! Robert and Tom are working on rewriting + the code and have already fixed some bugs, compiling errors, and memory problems. o Fixed several bugs reported by Punarbasu Purkayastha (a EE grad student at the Univ of Maryland) in Decode, Decodeword @@ -127,12 +164,12 @@ Version 2.8: Forked off a branch of GUAVA which is entirely GPL'd code. (None of Leon's code is included.) Otherwise, same as 2.7. This branch is used in SAGE (sage.scipy.org). -Version 2.7: (5-2005) +Version 2.7: (5-2005) o Cen Tjhai ("CJ") added as author. - o cjt: Complete rewrite of the files in the tbl subdirectory. + o cjt: Complete rewrite of the files in the tbl subdirectory. There are (as of May 11, 2006) as updated as Brouwer's online tables (www.win.tue.nl/~aeb/voorlincod.html). - o cjt: Created two functions in codeman.g*, SubCode and + o cjt: Created two functions in codeman.g*, SubCode and ConstructionB2Code. The ConstructionB2Code function is empty and to be implemented in a future version. o wdj: GUAVA Manual changes. @@ -141,14 +178,14 @@ Version 2.6: Forked off a branch of GUAVA which is entirely GPL'd code. (None of Leon's code is included.) Otherwise, same as 2.5. This branch is used in SAGE (sage.scipy.org). -Version 2.5: (1-2006) - o Fixed undesired feature in Decodeword (spotten by Cayanne +Version 2.5: (1-2006) + o Fixed undesired feature in Decodeword (spotten by Cayanne McFarlane). o Added MinimumWeightWords to manual; modified GAP code - for MinimumWeightWords to speed it up. + for MinimumWeightWords to speed it up. o Modified CheckMatCode to "Set" *mutable* generator and check matrices. - o Added BitFlipDecoder, a fast decoder for LDPC codes + o Added BitFlipDecoder, a fast decoder for LDPC codes (written with Gordon McDonald). o Added GuavaVersion and guava_version o Added FerrorDesignCode, written with Peter Mayr at Linz @@ -157,26 +194,26 @@ Version 2.5: (1-2006) o Added QQRCodeNC (written with Greg Coy). o Miscellaneous additions to the GUAVA manual. -Version 2.4: (6-2005) Minor bug fix - +Version 2.4: (6-2005) Minor bug fix - o In MatrixRepresentationOnRiemannRochSpaceP1, - cleaned up code and fixed a bug (GAP does not process 1 the + cleaned up code and fixed a bug (GAP does not process 1 the same as x^0 in some cases). o Fixed spelling error in guava.tst file. Version 2.3: (5-2005) o added PermutationDecoderNC, CyclicDecoder o change PermutationGroup in PermutationDecoder - to PermutationAutomorphismGroup - o in codegen.gi, line 2066, replace C.GeneratorMat - by C.EvaluationMat, and then add the existence of this extra - record component to the documentation + to PermutationAutomorphismGroup + o in codegen.gi, line 2066, replace C.GeneratorMat + by C.EvaluationMat, and then add the existence of this extra + record component to the documentation o classical Goppa = AG codes over P^1 - o curve record data structure for plane curves + o curve record data structure for plane curves and some associated functions o divisor record data structure for curves (only used for P^1) and some associated functions o automorphism group of a divisor on P^1 (very slow) - o function computing matrix representation of group + o function computing matrix representation of group action on Riemann-Roch space (in P^1 case only, also very slow) o one point AG codes @@ -188,17 +225,17 @@ Version 2.0002 (5-2005) o A renaming of GUAVA 2.0, for the GAP 4.4.5 release. Version 2.0001: (12-2004) - o Merely aded PolynomialByExtRepNC to GUAVA. (A *temporary* addition to + o Merely added PolynomialByExtRepNC to GUAVA. (A *temporary* addition to last until GAP 4.4.5 was released.) Version 2.0: (12-2004) - o Changed `ViewObj` method for random linear codes, + o Changed `ViewObj` method for random linear codes, speeding up the implementation of the RandomLinearCode command. o Modified BCHCode and RootsCode implementation. o Corrected bug in UpperBoundElias. o Rewrote GUAVA documentation into GAPDoc, with many revisions. o Added EvaluationCode and related codes - (GeneralizedReedMullerCode, GeneralizedReedSolomonCode, + (GeneralizedReedMullerCode, GeneralizedReedSolomonCode, OnePointAGCode, joint with Jason McGowan) o Added interpolation decoding method for GeneralizedReedSolomonCode (joint with Jason McGowan), GeneralizedReedSolomonDecoder. @@ -210,7 +247,7 @@ Version 2.0: (12-2004) (joint with Wayne Irons). o Added list-decoding algorithm GeneralizedReedSolomonListDecoder (joint with Clifton Lennon) and related commands - (some undocumented). + (some undocumented). o Bug fix for SortedGaloisFieldElements (used to construct Gabidulin codes). o CalculateLinearCodeCoveringRadius changed to a slightly faster @@ -218,10 +255,10 @@ Version 2.0: (12-2004) o minor bug fix for ExhaustiveSearchCoveringRadius o minor bug fix for IncreaseCoveringRadiusLowerBound o Changed ConstantWeightSubcode so it does not call Leon's - program if wtdist is not installed. Moreover, the procedure + program if wtdist is not installed. Moreover, the procedure interfacing with the binary had a bug, which was fixed. o Added check in AutomorphismGroup: if Leon's desauto is not - compiled (e.g., on a windows machine) then it calls PermutationGroup + compiled (e.g., on a windows machine) then it calls PermutationGroup command instead. o Added Decodeword (which also works for non-linear codes) o Added NearestNeighborDecodewords (for linear codes) @@ -232,28 +269,28 @@ Version 2.0: (12-2004) (with no change in functionality). o Added LowerBoundGilbertVarshamov and LowerBoundSpherePacking. o Added DivisorsMultivariatePolynomial and related commands - (some undocumented). + (some undocumented). o Released under the GNU GPL. Version 1.9: (3-2004) o Faster MinimumDistance algorithm (joint with Aron Foster, a student). - o MinimumDistanceLeon algorithm (joint with Aron Foster) in + o MinimumDistanceLeon algorithm (joint with Aron Foster) in binary case. o Faster PutStandard form algorithm (with Frank Luebeck). o New PermutationGroup command (for possibly non-binary codes). o New PermutationDecode command. Version 1.82: (7-2003) - o Slight changes to prepare for the different loading + o Slight changes to prepare for the different loading mechanism for GAP packages used in the upcoming GAP 4.4. -Version 1.8: - o New commands for toric codes. +Version 1.8: + o New commands for toric codes. Version 1.7: (2-2003) o Various typos in manual fixed. o lib/codecstr.g[di]: - `AmalgamatedDirectSumCode' previously misspelt as + `AmalgamatedDirectSumCode' previously misspelt as `AmalgatedDirectSumCode' corrected. o Version Id headers in doc/* and lib/* files added. o README: @@ -277,7 +314,7 @@ Version 1.5: GAP 4.2 version. Not compatible with GAP 4.1. Version 1.4: - First GAP4 version by Lea Ruscio. Created for GAP 4.1. + First GAP4 version by Lea Ruscio. Created for GAP 4.1. Incompatible with GAP 4.2. Version 1.3: