aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
AgeCommit message (Collapse)AuthorFilesLines
2013-05-17 * algebra/aggcat.spad.pamphlet (KeyedDictionary): Now extenddos-reis3-20/+17
IndexedAggregate too. Give default implementation for elt. (TableAggregate): Simplify.
2013-05-17 * algebra/ffp.spad.pamphlet (FiniteFieldExtensionByPolynomial)dos-reis4-7/+5
[tableForDiscreteLogarithm]: Don't use pretend where checked coercion is intended. * algebra/pf.spad.pamphlet (InnerPrimeField) [tableForDiscreteLogarithm]: Likewise.
2013-05-17 * algebra/aggcat.spad.pamphlet (AssociationListAggregate) [assoc]:dos-reis2-4/+4
Change return type to instance of Maybe. * algebra/list.spad.pamphle (AssociationList): Reflect change.
2013-05-16 * algebra/sortpak.spad.pamphlet (SortPackage): Have seconddos-reis4-12/+9
parameter satisfy FiniteAggregate A instead of requiring attribute finiteAggregate. * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Now extends FiniteAggregate. Remove finiteAggregate attribute.
2013-05-16 * algebra/polset.spad.pamphlet (GeneralPolynomialSet): Removedos-reis2-2/+2
redundant FiniteAggregate. * algebra/triset.spad.pamphlet (TriangularSetCategory): Likewise.
2013-05-16 * algebra/aggcat.spad.pamphlet (FiniteAggregate): Temporarilydos-reis11-62/+55
include attribute finiteAggregate. (StackAggregate): Extend category FiniteAggregate instead of attribute finiteAggregate. (QueueAggregate): Likewise. (PriorityQueueAggregate): Likewise. (FiniteSetAggregate): Likewise. * algebra/lmdict.spad.pamphlet (ListMultiDictionary): Likewise. * algebra/matcat.spad.pamphlet (MatrixCategory): Likewise. * algebra/mset.spad.pamphlet (Multiset): Likewise. * algebra/newdata.spad.pamphlet (SplittingTree): Likewise. * algebra/polset.spad.pamphlet (PolynomialSetCategory): Likewise. * algebra/tree.spad.pamphlet (Tree): Likewise. (BinaryTreeCategory): Likewise. * algebra/triset.spad.pamphlet (TriangularSetCategory): Likewise. * algebra/vector.spad.pamphlet (DirectProductCategory): Likewise.
2013-05-16 * algebra/data.spad.pamphlet (Byte): Remove redundantdos-reis2-12/+8
finiteAggregate attribute. * algebra/tree.spad.pamphlet (BinaryTreeCategory): Likewise. (BinarySearchTree): Likewise. (BalancedBinaryTree): Likewise.
2013-05-16 * algebra/aggcat.spad.pamphlet (FiniteAggregate): New.dos-reis4-2/+56
* algebra/exposed.lsp.pamphlet: Expose it.
2013-05-15Revert accidental commit rev 2862 from experimental treedos-reis3-5/+85
2013-05-15 * interp/define.boot (dbClearForCompilation!): New.dos-reis3-85/+5
(compDefineFunctor1): Use it.
2013-05-15 * interp/define.boot (checkAndDeclare): Constructor parameterdos-reis1-5/+5
shadowing. * algebra/lodof.spad.pamphlet (SetOfMIntegersInOneToN): [enum]: Lose last parameter. Adjust callers.
2013-05-14 * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory):dos-reis1-2/+0
Remove redundant declaration for parts.
2013-05-14 * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Testdos-reis1-1/+1
for BasicType satisfaction instead of existence of =.
2013-05-14 * algebra/array2.spad.pamphlet (InnerTwoDimensionalArray) [map]:dos-reis1-15/+10
Move implementation from TwoDimensionalArrayCategory.
2013-05-14 * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Movedos-reis1-37/+30
defaults to InnerTwoDimensionalArray.
2013-05-14 * algebra/array2.spad.pamphlet (InnerTwoDimensionalArray)dos-reis1-2/+4
[row, column]: Fix off-by-one thinko.
2013-05-13 * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Movedos-reis1-22/+10
row column implementation to InnerTwoDimensionalArray. (InnerTwoDimensionalArray): Simplify row and column implementation.
2013-05-13 * algebra/array2.spad.pamphlet (InnerTwoDimensionalArray): Inheritdos-reis2-25/+7
empty? and empty from base domain. (TwoDimensionalArray): Attribute shallowlyMutable is already specified by TwoDimensionalArrayCategory. * algebra/matcat.spad.pamphlet (MatricCategory): Attributes shallowlyMutable and finiteAggregate are already specified by TwoDimensionalArrayCategory.
2013-05-13 * algebra/array1.spad.pamphlet (IndexedOneDimensionalArray): Tidy.dos-reis1-40/+5
2013-05-13 * interp/g-opt.boot (%array2list): New side-effect free opcode.dos-reis1-0/+5
* interp/lisp-backend.boot: Expand it. * algebra/array1.spad.pamphlet (PrimitiveArray): Implement maxIndex, parts, and members.
2013-05-13Remove obfuscationdos-reis1-2/+1
2013-05-13 Remove IndecedVector.dos-reis4-48/+18
2013-05-13 * algebra/carten.spad.pamphlet (CartesianTensor): Usedos-reis1-1/+1
PrimitiveArray in lieu of 0-based IndexedVector.
2013-05-12 * algebra/matrix.spad.pamphlet (RectangularMatrix) [ZERO]: Remove.dos-reis1-6/+3
(SquareMatrix) [ZERO, ONE]: Likewise.
2013-05-12 * algebra/catdef.spad.pamphlet (OrderedRing): Extenddos-reis3-15/+10
CharactericZero too.
2013-05-11 * algebra/array2.spad.pamphlet (InnerTwoDimensionalArray): Renamedos-reis5-21/+20
from InnerIndexedTwoDimensionalArray. Adjust users.
2013-05-11 Remove IndexedTwoDimensionalArray.dos-reis5-36/+11
2013-05-11Fix location of opposite? implementationdos-reis2-2/+4
2013-05-11 * algebra/array2.spad.pamphlet: Cleanu up.dos-reis1-48/+20
2013-05-11 * algebra/indexedp.spad.pamphletdos-reis1-0/+11
(IndexedDirectProductAbelianMonoid) [opposite?]: Implement.
2013-05-11Remove IndexedMatrix as unuseddos-reis5-83/+10
2013-05-11Introduce opcodes for arrays constructionsdos-reis1-28/+18
2013-05-10Update src/algebra/Makefile for new defaultsdos-reis2-4/+4
2013-05-10 * algebra/indexedp.spad.pamphletdos-reis1-11/+14
(IndexedDirectProductOrderedAbelianMonoid) [<]: Rewrite iteratively.
2013-05-10Add opposite? and annihilate? exports.dos-reis2-5/+18
2013-05-09 * algebra/indexedp.spad.pamphlet (IndexedDirectProductObject)dos-reis1-1/+38
[combineWithIf]: New.
2013-05-09Simplify copydos-reis1-12/+5
2013-05-07Tidy linear elements implememtationsdos-reis1-5/+5
2013-05-07Tidy indexed direct product domainsdos-reis3-72/+55
2013-05-07 * algebra/indexedp.spad.pamphlet (IndexedProductTerm): New domain.dos-reis3-3/+37
2013-04-06Add token representation filesdos-reis1-105/+405
2013-04-04convert src/algebra/Makefile.in to Automake stuffdos-reis2-813/+3869
2012-06-03 * interp/preparse.lisp ($LineList): Remove.dos-reis2-3/+0
(INITIALIZE-PREPARSE): Do not set it. (preparse1): Do not reference it. Do not test for ioTerminal? and the input is always a disk file. * interp/spad-parser.boot (findCommentBlock): Do not reference $EchoLineStack. (preparseReadLine1): Do not reference $LineList.
2012-05-24 * algebra/Makefile.in (initdb.$(FASLEXT)): Add --syslib to fix thinko.dos-reis1-1/+1
2012-05-23 * interp/sys-driver.boot (initializeDatabases): Load initidb ifdos-reis1-8/+12
specified. * interp/database.boot (populateDFFromFile): Remove. (printAllInitdbInfo): Write as as Lisp file. * algebra/Makefile.in (COMPILE_SPAD): initdb is now a FASL. (BOOTSTRAP): Likewise. (strap-2/%.$(FASLEXT)): Likewise. (initdb.$(FASLEXT)): New.
2012-05-01 * algebra/integer.spad.pamphlet (Integer): Use %iaddmod, %isubmod,dos-reis2-18/+13
%imulmod. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * interp/c-util.boot (devaluate): Use # in lieu of QVSIZE. * interp/g-opt.boot: %ilfshift and %irshift are now builtin side-effect free operations. * interp/lisp-backend.boot: Translate them. * interp/g-util.boot (mergeSort): Avoid QSDIFFERENCE. * interp/slam.boot: Likewise. * interp/sys-macros.lisp: Likewise. * interp/macros.lisp: Avoid QVMAXINDEX. * interp/vmlisp.lisp (QSDIFFERENCE): Remove. (QSGREATERP): Likewise. (QSLEFTSHIFT): Likewise. (QSLESSP): Likewise. (QSMAX): Likewise. (QSMIN): Likewise. (QSMINUS): Likewise. (QSMINUSP): Likewise. (QSODDP): Likewise. (QSABSVAL): Likewise. (QSPLUS): Likewise. (QSZEROP): Likewise. (QVMAXINDEX): Likewise. (QVSIZE): Likewise. (ZERO?): Likewise.
2012-04-30 * algebra/si.spad.pamphlet (SingleInteger): Use %iaddmod,dos-reis1-4/+7
%isubmod, and %imulmod. * interp/g-opt.boot: These are now builtin side-effect operators. (optIaddmod): New optimizer. Register. (optIsubmod): Likewise. (optImulmod): Likewise. * interp/sys-macros.lisp (QSADDMOD): Remove. (QSDIFMOD): Likewise. (QSMULMOD): Likewise.
2012-04-30 * lisp/core.lisp.in (fixnum?): New.dos-reis1-3/+4
* algebra/sex.spad.pamphlet: Use %float? instead of RNUM. Use %integer? instead of INTP. * interp/g-timer.boot: Use float? instead of RNUMP. * interp/i-coerce.boot: Use fixnum? instead of SINTP or SMINTP. * interp/i-intern.boot: Likewise. * interp/lisp-backend.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise. * interp/vmlisp.lisp: Likewise. (INTP): Remove. (BINTP): Likewise. (LESSP): Likewise. (LINTP): Likewise. (MAKESTRING): Likewise. (MAPELT): Likewise. (NUMP): Likewise. (RNUMP): Likewise. (SINTP): Likewise. (SMINTP): Likewise.
2012-03-02 * algebra/catdef.spad.pamphlet (MonoidOperation): Noew CoercibleTodos-reis1-3/+6
SemiGroupOperation T.
2012-02-25 * algebra/catdef.spad.pamphlet (BinaryOperatorCategory): New.dos-reis3-7/+153
(BinaryOperation): Likewise. (IdempotentOperatorCategory): Likewise. (SemiGroupOperatorCategory): Likewise. (SemiGroupOperation): Likewise. (MonoidOperatorCategory): Likewise. (MonoidOperation): Likewise. * algebra/exposed.lsp.pamphlet: Expose them. * algebra/Makefile.in (oa_algebra_layer_0): Include IDEMOPC, SGPOPC, SPGOP, MONOPC, BINOPC. (axiom_algebra_layer_1): Include MONOP.