aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
AgeCommit message (Collapse)AuthorFilesLines
2010-07-26 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include newdos-reis11-284/+302
opcodes %icst0, %icst1, %when, and %ccst. * interp/g-util.boot: Expand %ccst. * algebra/alql.spad.pamphlet: Clean up. * algebra/array1.spad.pamphlet: Likewise. * algebra/c02.spad.pamphlet: Likewise. * algebra/d03.spad.pamphlet: Likewise. * algebra/e04.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise.
2010-07-26 * algebra/si.spad.pamphlet (SingleInteger): Tidy.dos-reis2-196/+200
* interp/g-opt.boot (simplifyVMForm): Expand %icst0 and %icst1. (optIlt): Fold more configurations.
2010-07-26 * interp/g-opt.boot (optCond): Simplify newly built COND-expression.dos-reis2-38/+30
2010-07-25 * interp/g-opt.boot (optIadd): More simplification if either dos-reis1-1/+1
operand is zero. (optIsub): Likewise. (optImul): More simplifications if either operand is one.
2010-07-25 * interp/cattable.boot: Use %true for truth value in VM expressions.dos-reis44-2982/+2912
* interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/mark.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/slam.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/sys-constants.boot: Remove $true and $false as unused.
2010-07-23 * interp/g-opt.boot (optBind): Check for dependencies indos-reis8-73/+72
initializations in %bind expressions. * interp/g-util.boot (expandBind): The body of s %bind expression may be a sequence of statements.
2010-07-23 * interp/g-util.boot (expandFeq): New.dos-reis2-38/+40
* algebra/sf.spad.pamphlet (DoubleFloat): Tidy.
2010-07-22more cleanupdos-reis4-15/+27
2010-07-22 * interp/g-util.boot (expandIeq): New expander for %ieq.dos-reis7-28/+24
* interp/g-opt.boot (optIeq): New. (optIadd): Likewise. (optIsub): Likewise. (optImul): Likewise. (optIneg): Likewise. (lispize): Remove.
2010-07-22 * interp/g-opt.boot (simplifyVMForm): New.dos-reis20-103/+132
(optRetract): Simplify the predicate when possible. (optNot): New transformer. (optAnd): Likewise. (optOr): Likewise. (optIlt): Likewise. (optIle): Likewise. (optIgt): Likewise. (optIge): Likewise.
2010-07-22 * algebra/data.spad.pamphlet (Byte) [~]: Tidy.dos-reis1-4/+4
(SystemNonNegativeInteger) [~]: Likewise. * interp/g-util.boot: Better expansion of byte operations.
2010-07-19 * interp/g-opt.boot ($VMsideEffectFreeOperators): Includedos-reis4-35/+259
byte relation operators and bitmakst operators. * interp/g-util.boot: Expand them. * algebra/data.spad.pamphlet (Byte): Now satisfies Logic. Tidy. (SystemNonNegativeInteger): Likewise. * algebra/java.spad.pamphlet (JVMBytecode): Rename from JavaBytecode. (JVMClassFileAccess): New. (JVMFieldAccess): Likewise. (JVMMethodAccess): Likewise. (JVMConstantTag): Likewise. (JVMOpcode): Likewise.
2010-07-18More cleanupsdos-reis2-16/+38
2010-07-13small cleanupdos-reis1-2/+2
2010-07-13 * interp/g-opt.boot: %sname is a side-effect free operator.dos-reis1-2/+4
* interp/g-util.boot: Expand it. * algebra/syntax.spad.pamphlet (Identifer): Now satisfies CoercibleTo String.
2010-07-11Forgot to commit change thisdos-reis1-1/+1
2010-07-03 * algebra/vector.spad.pamphlet (DualBasis): New.dos-reis4-16/+122
(LinearBasis): Likewise. (LinearElement): Use them. (LinearForm): New.
2010-06-30 * algebra/vector.spad.pamphlet (LinearElement): New.dos-reis5-4/+60
2010-06-30 * interp/c-util.boot (getRepresentation): Tidy.dos-reis2-14/+16
* interp/define.boot (checkRepresentation): Don't compile the base domain here yet.
2010-06-30More cleanupsdos-reis1-8/+9
2010-06-30More cleanupsdos-reis1-17/+17
2010-06-29Various cleanupsdos-reis2-70/+54
2010-06-29 * algebra/indexedp.spad.pamphlet (IndexedDirectProductObject)dos-reis2-68/+89
[indexedDirectProductObject]: New. (IndexedDirectProductAbelianMonoid): Rework implementation. [construct]: Likewise.
2010-06-29 * algebra/catdef.spad.pamphlet (OrderedType): New.dos-reis3-5/+30
2010-06-29 * algebra/catdef.spad.pamphlet (BasicType) [before?]: Declare here.dos-reis15-154/+156
(OrderedType) [max,min]: Export and provide defaults. (OrderedSet): Simplify. (SetCategory) [before?]: Move to BasicType.
2010-06-29Update databasesdos-reis1-1/+2
2010-06-29 * algebra/catdef.spad.pamphlet (OrderedType): New category.dos-reis3-2/+44
Extend BasicType.
2010-06-29 * algebra/indexedp.spad.pamphlet (IndexedDirectProductCategory)dos-reis1-5/+7
[terms]: Rename from support.
2010-06-29 * algebra/indexedp.spad.pamphlet (IndexedDirectProductCategory):dos-reis1-36/+45
Rework implementation.
2010-06-29 * algebra/indexedp.spad.pamphlet (IndexedDirectProductCategory)dos-reis1-2/+11
[support]: New. (IndexedDirectProductObject): Implement.
2010-06-27 * algebra/matcat.spad.pamphlet (MatrixCategory) [matrix]:dos-reis1-0/+12
Add overload that takes sizes and function to compute entries.
2010-06-27 * algebra/catdef.spad.pamphlet (LinearlyExplicitRingOver)dos-reis5-73/+74
[leftReducedSystem]: Rename from reducedSystem.
2010-06-26 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %vrefdos-reis1-19/+19
and %vlength. * interp/g-util.boot: Expand them. * algebra/array1.spad.pamphlet (PrimitiveArray): Use them. (IndexedOneDimensionalArray): Likewise.
2010-06-26Update databasesdos-reis1-6/+6
2010-06-26 * algebra/aggcat.spad.pamphlet (HomogeneousAggregate): Satisfydos-reis17-218/+250
BasicType if element type satisfies it.
2010-06-26 * algebra/string.spad.pamphlet (StringCategory): Remove.dos-reis4-22/+13
(String): Adjust.
2010-06-26 * interp/g-util.boot: Expand %f2s.dos-reis1-1/+5
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %f2s. * algebra/string.spad.pamphlet (StringCategory) [string]: Add overload DoubleFloat -> %. (String): Define it.
2010-06-26 * interp/compiler.boot (compString): Remove as unused.dos-reis1-3/+1
* interp/mark.boot (compString): Likewise. * algebra/string.spad.pamphlet (StringCategory): Remove obsolete comments. Remove redundant SetCategory extension.
2010-06-25 * interp/g-opt.boot: Rename %eq to %peq for pointer comparaison.dos-reis19-47/+50
* interp/g-util.boot: Expand it. * algebra/aggcat.spad.pamphlet: Cleanup. * algebra/any.spad.pamphlet: Likewise. * algebra/boolean.spad.pamphlet: Likewise. * algebra/data.spad.pamphlet: Likewise. * algebra/domain.spad.pamphlet: Likewise. * algebra/files.spad.pamphlet: Likewise. * algebra/laurent.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/mappkg.spad.pamphlet: Likewise. * algebra/ore.spad.pamphlet: Likewise. * algebra/padic.spad.pamphlet: Likewise. * algebra/pattern.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise. * algebra/stream.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. * algebra/syntax.spad.pamphlet: Likewise. * algebra/table.spad.pamphlet: Likewise.
2010-06-25 * interp/c-util.boot (expandableDefinition?): Try to make it ados-reis2-6/+3
forwarding function if possible.
2010-06-24 * algebra/outform.spad.pamphlet: Cleanup.dos-reis3-10/+6
* algebra/polycat.spad.pamphlet: Likewise. * algebra/sregset.spad.pamphlet: Likewise.
2010-06-23 * interp/sys-constants.boot ($SystemInlinableConstructorNames):dos-reis2-2/+4
Include Maybe.
2010-06-23 * interp/nruncomp.boot (optDeltaEntry): Don't optimize currentdos-reis19-295/+301
domain modemap references here. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include more floating point operators. ($simpleVMoperators): Move FUNCALL here. (isVMConstantForm): Tidy. * interp/g-util.boot: Expand more floating point insns. * interp/c-util.boot (replaceSimpleFunctions): Replace more constants. * algebra/integer.spad.pamphlet (Integer): More cleanup. Use builtin functions. * algebra/sf.spad.pamphlet: Likewise.
2010-06-22 Group sequence of LETT definitions into LET/LET* expressions wheredos-reis18-2363/+1976
appropriate. * interp/g-opt.boot (jumpToToplevel?): New. (singleAssignment?): Likewise. (groupVariableDefinitions): Likewise. Use them. (optimizeFunctionDef): Group toplevel variable definitions into a bind expression. * interp/g-util.boot (expandBind): Tidy. * interp/c-util.boot (transformToBackendCode): Refrain from enclosing let-expressions in SEQ if not needed.
2010-06-21 * interp/nlib.lisp (COMPILE-LIB-FILE): Rework. Halt compilationdos-reis9-72/+60
if generated is malformed or contains serious warnings. * algebra/pfo.spad.pamphlet (PointsOfFiniteOrder) [cmult]: Merge local conditional definitions. * algebra/permgrps.spad.pamphlet (PermutationGroup) [cosetRep]: Don't forget to return a value. * algebra/newpoly.spad.pamphlet (RecursivePolynomialCategory) [exactQuo]: Merge conditional local definitions. [ZToR]: Inline at sole use point. Remove conditional definitions. [QToR]: Likewise. [PZToPR]: Likewise. [PQToPR]: Likewise. * algebra/naalgc.spad.pamphlet (FramedNonAssociativeAlgebra) [leftRankPolynomial]: Initialize local variable xx. (rightRankPolynomial): Likewise. * algebra/multsqfr.spad.pamphlet (MultivariateSquareFree) [intChoose]: Error if no solution is found in the loop. * algebra/mts.spad.pamphlet (SparseMultivariateTaylorSeries): Tidy. [stream] Remove duplicate definition. * algebra/d01routine.spad.pamphlet (d01anfAnnaType) [measure]: Tidy. (d01asfAnnaType) [measure]: Likewise. * algebra/d01transform.spad.pamphlet (d01TransformFunctionType) [measure]: Likewise. * algebra/forttyp.spad.pamphlet (FortranScalarType) [coerce]: Likewise.
2010-06-21 * algebra/sgcf.spad.pamphlet (SymmetricGroupCombinatoricFunctions)dos-reis1-2/+1
[listYoungTableaus]: Fix thinko. Don't use lattice in its own initialization.
2010-06-21Revert previous erroneous commitdos-reis26-103/+85
2010-06-21 * algebra/sgcf.spad.pamphlet (SymmetricGroupCombinatoricFunctions)dos-reis26-85/+103
[listYoungTableaus]: Fix thinko. Don't use lattice in its own initialization before it is defined.
2010-06-20 * interp/g-opt.boot (changeVariableDefinitionToStore): New.dos-reis17-671/+428
(optimizeFunctionDef): Use it.
2010-06-20 * interp/compiler.boot (massageLoop): New.dos-reis14-1987/+1938
(compRepeatOrCollect): Use it to generate appropriate %loop forms. Bind new special variable $mayHaveFreeIteratorVariables. (complainIfShadowing): Set it as appropriate.