Organize raq into standard GAP package file tree
In preparation for a beta release of the raq package, it's important for it to be conformant to current GAP package conventions. Therefore, I have rearranged the file tree to match the Example package quite thoroughly. In so doing, this laid the foundation for the following aspects of the package: - Package documentation. Added makedoc.g at the top level to generate AutoDoc/GAPDoc documentation for raq. Currently the documentation is empty; future development will bring the documentation to cover all existing code. - Package tests. The basic structure to add .tst files in the tst subdirectory of the package is in place. The coverage of tests provided in this commit is minimal; again, further development will extend the test coverage. In addition, PackageInfo.g has been elaborated to include much more complete information about raq and where it will (initially) be posted on line. Resolves: #1
This commit is contained in:
parent
d6b6a11d85
commit
be82518697
@ -1,3 +0,0 @@
|
||||
Code in this package is made available under whatever terms preferred by
|
||||
Leandro Vendramin and Matias Graña, the authors of the RIG package on which it
|
||||
is (more or less) based.
|
@ -2,9 +2,14 @@ SetPackageInfo( rec(
|
||||
PackageName := "raq",
|
||||
Subtitle := "Racks And Quandles in GAP",
|
||||
Version := "0.1.0",
|
||||
Date := "2017-Oct-17",
|
||||
ArchiveURL := "<n/a>",
|
||||
ArchiveFormats := "-win.zip .tar.gz",
|
||||
Date := "2018-Oct-1",
|
||||
PackageWWWHome := "http://code.studioinfinity.org/raq/wiki",
|
||||
SourceRepository := rec( Type := "git",
|
||||
URL := "http://code.studioinfity.org/raq" ),
|
||||
IssueTrackerURL := "http://code.studioinfinity.org/raq/issues",
|
||||
SupportEmail := "glen@studioinfinity.org",
|
||||
ArchiveURL := "http://code.studioinfinity.org/raq/releases",
|
||||
ArchiveFormats := ".tar.gz",
|
||||
|
||||
Persons := [
|
||||
rec(
|
||||
@ -12,28 +17,14 @@ Persons := [
|
||||
FirstNames := "Glen",
|
||||
IsAuthor := true,
|
||||
IsMaintainer := true,
|
||||
Email := "gwhitney@post.harvard.edu",
|
||||
WWWHome := "http://mathwalks.org",
|
||||
Email := "glen@studioinfinity.org",
|
||||
WWWHome := "http://studioinfinity.org",
|
||||
PostalAddress := Concatenation( [
|
||||
"523 Rialto Ave.\n",
|
||||
"Venice, CA 90291\n",
|
||||
"USA" ] ),
|
||||
Place := "Venice",
|
||||
Institution := "mathwalks.org"
|
||||
),
|
||||
rec(
|
||||
LastName := "Vendramin",
|
||||
FirstNames := "Leandro",
|
||||
IsAuthor := true,
|
||||
IsMaintainer := false,
|
||||
Email := "lvendramin@dm.uba.ar",
|
||||
WWWHome := "http://mate.dm.uba.ar/~lvendram/",
|
||||
PostalAddress := Concatenation( [
|
||||
"Departamento de matemática, FCEyN, UBA",
|
||||
"Ciudad Universitaria, Pab. 1,\n",
|
||||
"Buenos Aires, Argentina" ] ),
|
||||
Place := "Buenos Aires",
|
||||
Institution := "UBA"
|
||||
Institution := "studioInfinity.org"
|
||||
)
|
||||
],
|
||||
|
||||
@ -44,12 +35,11 @@ Persons := [
|
||||
## "dev" for development versions of packages
|
||||
## "other" for all other packages
|
||||
##
|
||||
Status := "dev",
|
||||
Status := "other",
|
||||
|
||||
README_URL :=
|
||||
"<n/a>",
|
||||
README_URL := "http://code.studioinfinity.org/raq/src/branch/master/README.md",
|
||||
PackageInfoURL :=
|
||||
"<n/a>",
|
||||
"http://code.studioinfinity.org/raq/src/branch/master/PackageInfo.g",
|
||||
|
||||
AbstractHTML := Concatenation(
|
||||
"The <span class=\"pkgname\">RAQ</span> package provides researchers ",
|
||||
@ -59,18 +49,16 @@ AbstractHTML := Concatenation(
|
||||
"established in the <span class=\"pkgname\">LOOPS</span> package, and ",
|
||||
"and provides enhanced functionality, libraries, and implementations ",
|
||||
"as compared to the earlier <span class=\"pkgname\">RIG</span> package ",
|
||||
"on which <span class=\"pkgname\">RAQ</span> is loosely modeled."
|
||||
"on which <span class=\"pkgname\">RAQ</span> is generally modeled."
|
||||
),
|
||||
|
||||
PackageWWWHome := "<n/a>",
|
||||
|
||||
PackageDoc := rec(
|
||||
BookName := "raq",
|
||||
ArchiveURLSubset := ["doc", "htm"],
|
||||
ArchiveURLSubset := ["doc"],
|
||||
HTMLStart := "doc/chap0.html",
|
||||
PDFFile := "doc/manual.pdf",
|
||||
SixFile := "doc/manual.six",
|
||||
LongTitle := "The RAQ Package: Racks And Quandles in GAP",
|
||||
LongTitle := "The raq Package: Racks And Quandles in GAP",
|
||||
Autoload := true # only for the documentation, TEMPORARILY TURNED OFF
|
||||
),
|
||||
|
||||
@ -83,7 +71,7 @@ Dependencies := rec(
|
||||
),
|
||||
|
||||
AvailabilityTest := ReturnTrue,
|
||||
BannerString := Concatenation("--\nRAQ, Racks And Quandles in GAP, Version ",
|
||||
BannerString := Concatenation("--\nraq, Racks And Quandles in GAP, Version ",
|
||||
~.Version, ".\n--\n"),
|
||||
|
||||
Autoload := false, # false for deposited packages
|
||||
|
21
README.md
21
README.md
@ -1,3 +1,20 @@
|
||||
# raq
|
||||
# raq, a GAP System package for Racks And Quandles.
|
||||
|
||||
RAQ, a GAP System package for Racks And Quandles.
|
||||
* Website: code.studioinfinity.org/raq/wiki
|
||||
* Repository: code.studioinfinity.org/raq
|
||||
|
||||
This package provides a variety of facilities for computing with one-sided
|
||||
quasigroups, racks, and quandles in GAP.
|
||||
|
||||
It uses no external binaries, so installation consists only of placing the raq
|
||||
file tree in a directory in your package search path, e.g. the pkg directory of
|
||||
your GAP installation, or perhaps the .gap/pkg subdirectory of your home
|
||||
directory.
|
||||
|
||||
Authors/maintainers of raq: Glen Whitney <glen@studioinfinity.org>
|
||||
|
||||
The authors of raq would like to acknowledge their debt to the creators of
|
||||
RIG, an earlier package for Racks in GAP; chaief among them is Leandro
|
||||
Vendramin. RIG was an inspiration for the creation of raq, and using and
|
||||
reading that package suggested many features needed in the development of
|
||||
raq.
|
||||
|
19
doc/.gitignore
vendored
Normal file
19
doc/.gitignore
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
*.xml
|
||||
*.html
|
||||
*.txt
|
||||
*.css
|
||||
*.js
|
||||
*.lab
|
||||
*.pdf
|
||||
*.six
|
||||
*.aux
|
||||
*.bbl
|
||||
*.blg
|
||||
*.idx
|
||||
*.ilg
|
||||
*.ind
|
||||
*.log
|
||||
*.out
|
||||
*.pnr
|
||||
*.tex
|
||||
*.toc
|
3
doc/README.md
Normal file
3
doc/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
This directory is currently empty in the repository, except for this file,
|
||||
since its entire contents are generated by AutoDoc (see the makedoc.g file in
|
||||
the main package directory, one level up from this directory.)
|
10
init.g
10
init.g
@ -1,13 +1,13 @@
|
||||
## init.g RAQ: Racks and Quandles in GAP
|
||||
## init.g raq
|
||||
|
||||
# Definitions, generation, and elementary properties and operations.
|
||||
ReadPackage("raq", "gap/structure.gd");
|
||||
ReadPackage("raq", "lib/structure.gd");
|
||||
|
||||
# Quasigroups, racks, and quandles by multiplication tables
|
||||
ReadPackage("raq", "gap/bytable.gd");
|
||||
ReadPackage("raq", "lib/bytable.gd");
|
||||
|
||||
# Quandles by conjugation
|
||||
ReadPackage("raq", "gap/byconj.gd");
|
||||
ReadPackage("raq", "lib/byconj.gd");
|
||||
|
||||
# Other quandle constructions
|
||||
ReadPackage("raq", "gap/constructions.gd");
|
||||
ReadPackage("raq", "lib/constructions.gd");
|
||||
|
6
makedoc.g
Normal file
6
makedoc.g
Normal file
@ -0,0 +1,6 @@
|
||||
# makedoc.g raq
|
||||
# build the documentation for raq via AutoDoc
|
||||
|
||||
LoadPackage("AutoDoc");
|
||||
AutoDoc(rec(scaffold := true, autodoc := true));
|
||||
QUIT;
|
10
read.g
10
read.g
@ -1,13 +1,13 @@
|
||||
## read.g RAQ
|
||||
## read.g raq
|
||||
|
||||
# Definitions, representations, and elementary operations.
|
||||
ReadPackage("raq", "gap/structure.gi");
|
||||
ReadPackage("raq", "lib/structure.gi");
|
||||
|
||||
# Quasigroups, racks, and quandles by multiplication tables
|
||||
ReadPackage("raq", "gap/bytable.gi");
|
||||
ReadPackage("raq", "lib/bytable.gi");
|
||||
|
||||
# Quandles by conjugation
|
||||
ReadPackage("raq", "gap/byconj.gi");
|
||||
ReadPackage("raq", "lib/byconj.gi");
|
||||
|
||||
# Other quandle constructions
|
||||
ReadPackage("raq", "gap/constructions.gi");
|
||||
ReadPackage("raq", "lib/constructions.gi");
|
||||
|
25
tst/bytableAndStructure.tst
Normal file
25
tst/bytableAndStructure.tst
Normal file
@ -0,0 +1,25 @@
|
||||
# bytableAndStructure.tst raq
|
||||
# Test the functions in the bytable and structure files
|
||||
|
||||
gap> START_TEST("raq package: bytableAndStructure.tst");
|
||||
gap> t4 := [[1,3,2,4], [3,2,1,4], [2,1,3,4], [1,2,3,4]];
|
||||
[ [ 1, 3, 2, 4 ], [ 3, 2, 1, 4 ], [ 2, 1, 3, 4 ], [ 1, 2, 3, 4 ] ]
|
||||
gap> IsRightSelfDistributiveTable(t4);
|
||||
false
|
||||
gap> IsLeftSelfDistributiveTable(t4);
|
||||
true
|
||||
gap> IsElementwiseIdempotentTable(t4);
|
||||
true
|
||||
gap> l4 := LeftQuasigroupByMultiplicationTable(t4);
|
||||
<left quasigroup with 4 generators>
|
||||
gap> Elements(l4);
|
||||
[ lA1, lA2, lA3, lA4 ]
|
||||
gap> IsLeftQuasigroup(l4);
|
||||
true
|
||||
gap> q1 := MagmaElement(l4,1); q2 := MagmaElement(l4,2);
|
||||
lA1
|
||||
lA2
|
||||
gap> LeftQuotient(q1,q2);
|
||||
lA3
|
||||
gap> STOP_TEST( "bytableAndStructure.tst", 10000);
|
||||
|
10
tst/testall.g
Normal file
10
tst/testall.g
Normal file
@ -0,0 +1,10 @@
|
||||
# tst/testall.g raq
|
||||
|
||||
LoadPackage( "raq" );
|
||||
|
||||
TestDirectory(DirectoriesPackageLibrary("raq","tst"),
|
||||
rec(exitGAP := true,
|
||||
testOptions := rec(compareFunction := "uptowhitespace"))
|
||||
);
|
||||
|
||||
FORCE_QUIT_GAP(1); # should be unreachable
|
Loading…
Reference in New Issue
Block a user