aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
AgeCommit message (Collapse)AuthorFilesLines
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.
2010-06-20 * boot/tokens.boot (readOnly?): New builtin Boot function.dos-reis14-105/+131
* interp/c-util.boot (isLispSpecialVariable): Tidy. (transformToBackendCode): Likewise.
2010-06-19 * algebra/catdef.spad.pamphlet (LinearlyExplicitRingOver)dos-reis2-2/+8
[reducedSystem]: Add overload. * algebra/si.spad.pamphlet (SingleInteger)[reducedSystem]: Tidy.
2010-06-19 * algebra/catdef.spad.pamphlet (LeftLinearSet): Remove declarationdos-reis1-8/+0
for 0 and zero? (RightLinearSet): Likewise.
2010-06-18 * algebra/catdef.spad.pamphlet (DifferentialModule): Tidy.dos-reis4-8/+49
(DifferentialModuleExtension): Likewise. (PartialDifferentialModule): New.
2010-06-18 * algebra/fparfrac.spad.pamphlet (FullPartialFractionExpansion):dos-reis11-49/+38
Now satisfies DifferentialSpace. * algebra/gseries.spad.pamphlet (GeneralUnivariatePowerSeries): Now satisfies an instance of PartialDifferentialDomain. * algebra/laurent.spad.pamphlet (UnivariateLaurentSeries): Likewise. * algebra/puiseux.spad.pamphlet (UnivariatePuiseuxSeries): Likewise. * algebra/suls.spad.pamphlet (SparseUnivariateLaurentSeries): Likewise. * algebra/supxs.spad.pamphlet (SparseUnivariatePuiseuxSeries): Likewise. * algebra/suts.spad.pamphlet (SparseUnivariateTaylorSeries): Likewise. * algebra/taylor.spad.pamphlet (UnivariateTaylorSeries): Likewise.
2010-06-18 * algebra/catdef.spad.pamphlet (DifferentialExtension): Nowdos-reis4-38/+13
extends DifferentialSpaceExtension.
2010-06-17 * algebra/catdef.spad.pamphlet (DifferentialSpaceExtension): New.dos-reis4-2/+80
(DifferentialModuleExtension): Likewise.
2010-06-17 * algebra/vector.spad.pamphlet (DirectProductCategory): Extenddos-reis1-4/+4
AbelianMonoid if element type satisfies AbelianMonoid. Extend AbelianGroup if element type satisfies AbelianGroup. Extend Module R if R satisfies CommutativeRing; remove bogus Algebra R and CommutativeRing extension.
2010-06-17 * algebra/strap/DIFRING-.lsp: Remove.dos-reis1-48/+0
2010-06-17 * algebra/catdef.spad.pamphlet (PartialDifferentialSpace): New.dos-reis3-48/+72
(PartialDifferentialRing): Now extend PartialDifferentialSpace.
2010-06-17 * algebra/vector.spad.pamphlet (DirectProductCategory): Extenddos-reis1-8/+2
LinearSet if the coefficient type satifies Monoid. Remove previous bogus extension of Monoid. Similarly, extend OrderedSet if the element type satisfies OrderedSet. Remove previous bogus extension of OrderedRing.
2010-06-17 * algebra/catdef.spad.pamphlet (LeftLinearSet): Weaken requirementdos-reis3-23/+19
on argument. (RightLinearSet): Likewise. (LinearSet): Likewise.
2010-06-16 * algebra/catdef.spad.pamphlet (DifferentialModule): New.dos-reis4-6/+65
(PartialDifferentialDomain): Likewise.
2010-06-16 * algebra/catdef.spad.pamphlet (DifferentialRing): Now extendsdos-reis7-57/+47
DifferentialSpace.
2010-06-16 * algebra/dpolcat.spad.pamphlet (DifferentialVariableCategory):dos-reis3-7/+3
Extend DifferentialSpace.
2010-06-15Update cached databasedos-reis1-1/+2
2010-06-15 * algebra/catdef.spad.pamphlet (DifferentialSpace): New.dos-reis10-183/+215
2010-06-14 * algebra/catdef.spad.pamphlet (LinearlyExplicitRingOver): Nowdos-reis3-6/+11
extends LeftModule R. [reducedSystem: Vector % -> Matrix R]: New overload. * algebra/lindep.spad.pamphlet (LinearDependence): Additionally require Ring on the second parameter. (IntegerLinearDependence): Add similar requirement on the parameter.
2010-06-14 * Partially revert previous change.dos-reis3-5/+5
2010-06-14 * algebra/catdef.spad.pamphlet (DifferentialRing): Now extendsdos-reis5-17/+8
DifferentialDomain. (DifferentialExtension): Check parameter for only DifferentialDomain. * algebra/dpolcat.spad.pamphlet (DifferentialPolynomialCategory): Likewise. * algebra/lodop.spad.pamphlet (OppositeMonogenicLinearOperator): Likewise.
2010-06-13 * algebra/catdef.spad.pamphlet (DifferentialDomain): New.dos-reis4-2/+38
2010-06-13 * algebra/laurent.spad.pamphletdos-reis11-475/+505
(UnivariateLaurentSeriesConstructor) [termsToOutputForm]: Tidy. * algebra/mts.spad.pamphlet (SparseMultivariateTaylorSeries) [coerce]: Likewise. * algebra/padic.spad.pamphlet (PAdicIntegerCategory) [coerce]: Likewise. * algebra/pscat.spad.pamphlet (UnivariateTaylorSeriesCategory)[coerce]: Likewise. * algebra/puiseux.spad.pamphlet (UnivariatePuiseuxSeries) [termsToOutputForm]: Likewise.
2010-06-13 * algebra/generic.spad.pamphletdos-reis1-2/+2
(GenericNonAssociativeAlgebra)[generic]: Fix thinko.
2010-06-13 * algebra/array1.spad.pamphlet (IndexedFlexibleArray) [merge!]: Tidy.dos-reis7-19/+22
* algebra/intfact.spad.pamphlet (IntegerRoots) [perfectNthRoot]: Likewise. * algebra/numode.spad.pamphlet (NumericalOrdinaryDifferentialEquations) [rf4a]: Likewise. * algebra/solvelin.spad.pamphlet (LinearSystemMatrixPackage) [aSolution]: Likewise.
2010-06-13 * algebra/padic.spad.pamphlet (InnerPAdicInteger) [coerce]: Tidy.dos-reis2-5/+7
2010-06-13 * algebra/aggcat.spad.pamphlet (UnaryRecursiveAggregate) dos-reis2-28/+43
[#, cycleEntry, cycleLength]: Tidy. (ListAggregate) [position]: Likewise. * algebra/string.spad.pamphlet (IndexedString) [replace,split, leftTrim, rightTrim]: Likewise.
2010-06-13 * algebra/aggcat.spad.pamphlet (OneDimensionalArrayAggregate)dos-reis1-16/+31
[merge,insert,delete]: Tidy.
2010-06-12 * algebra/kl.spad.pamphlet (Kernel): Don't clear the ondos-reis1-2/+0
instanstiation, for that may erase other precious information in the running seesion when Kernel is implicitly re-instantiated by the interpreter.
2010-06-12 * algebra/permgrps.spad.pamphlet (PermutationGroup): Renamedos-reis4-37/+31
movedPoints to support. Adjust call eval. * algebra/perm.spad.pamphlet (PermutationCategory): Now extend Eltable. Remove eval. Rename movedPoints to support. (Permutation): Adjust. * algebra/irsn.spad.pamphlet (listPermutationIrrRepSymNatPackage): Change call to eval to elt. * algebra/rep1.spad.pamphlet: Likewise.
2010-06-12 * algebra/tree.spad.pamphlet (node?$Tree): Fix thinko.dos-reis1-1/+1
2010-06-11 * algebra/tree.spad.pamphlet (map!Tree): Don't forget the returndos-reis1-0/+1
value.
2010-06-10 * interp/g-opt.boot (optCollectVector): Generate %loop for thedos-reis1-118/+119
non-simple case.
2010-06-09 * interp/compiler.boot (canReturn): Handle %when and %bind.dos-reis7-596/+414
(compMatchAlternative): Generate %bind form. (compMatch): Likewise. (compReduce1): Rewrite. (getIdentity): Tidy. * interp/g-opt.boot (changeThrowToExit): HAndle %reduce. (varIsAssigned): %store is side-effectful. * interp/g-util.boot (expandReduce): New. Expand %reduce forms. * interp/i-map.boot (getUserIdentifiersIn): Handle %reduce. (findLocalVars1): Likewise. * interp/i-spec1.boot (checkForFreeVariables): Likewise.
2010-06-09 Widen scope of iterator variables in presence of terminatingdos-reis10-1291/+1029
predicate iterators. There is exactly one instance in the entire OpenAxio library. * interp/g-util.boot (expandIN): Take one more parameter to determine early binding. (expandIterators): Determine if wider scope is needed for iterator variables.
2010-06-07 * interp/c-util.boot (isLispSpecialVariable): New.dos-reis2-48/+48
(mutateToBackendCode): Use it to record special vars. Be careful with locally bound variables.
2010-06-06 * interp/c-util.boot (mutateToBackendCode): Don't replace explicitdos-reis36-469/+255
SETQ by LETT.
2010-06-06 * interp/c-util.boot (needPROGS?): New.dos-reis17-318/+255
(transformToBackendCode): Use it. Don't add unneeded PROG/RETURN.
2010-06-06 * interp/compiler.boot (compRepeatOrCollect): Compile listdos-reis8-701/+465
comprehension to %collect form.