Age | Commit message (Collapse) | Author | Files | Lines |
|
(OrderedType) [max,min]: Export and provide defaults.
(OrderedSet): Simplify.
(SetCategory) [before?]: Move to BasicType.
|
|
[leftReducedSystem]: Rename from reducedSystem.
|
|
BasicType if element type satisfies it.
|
|
forwarding function if possible.
|
|
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.
|
|
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.
|
|
|
|
[listYoungTableaus]: Fix thinko. Don't use lattice in its own
initialization before it is defined.
|
|
(optimizeFunctionDef): Use it.
|
|
* interp/c-util.boot (isLispSpecialVariable): Tidy.
(transformToBackendCode): Likewise.
|
|
DifferentialSpace.
|
|
|
|
(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.
|
|
SETQ by LETT.
|
|
(transformToBackendCode): Use it. Don't add unneeded PROG/RETURN.
|
|
|
|
* interp/g-util.boot (expandToVMForm): Likewise.
(expandStore): Refine store to pair components.
* algebra/any.spad.pamphlet (Scope): Use builtin operators.
(Environment): Likewise.
* algebra/domain.spad.pamphlet (FunctionDescriptor): Likewise.
(ConstructorCall): Likewise.
(FunctorData): Likewise.
(OperatorSignature): Likewise.
(Category): Likewise.
(Domain): Likewise.
* algebra/integer.spad.pamphlet (Integer): Likewise.
(NonNegativeInteger): Likewise.
* algebra/outform.spad.pamphlet: Likewise.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
* algebra/syntax.spad.pamphlet (Syntax): Likewise.
|
|
Lisp. Use builtin functions.
|
|
* interp/nruncomp.boot (washFunctorBody): New.
(buildFunctor): Use it.
* interp/g-opt.boot (optBind): New.
(optLIST): Likewise.
|
|
($simpleVMoperators): Augment it.
(semiSimpleRelativeTo?): New.
(isSimpleVMForm): Use it.
* interp/c-util.boot (forwardingCall?): New.
(usesVariablesLinearly?): Likewise.
(expandableDefinition?): Likewise.
(foldSpadcall): Tidy.
(foldExportedFunctionReferences): If a function is discovered to
be expandable, make it so.
* interp/define.boot (spadCompileOrSetq): Tidy.
|
|
when it is already reduced.
|
|
* interp/fnewmeta.lisp (PARSE-Sexpr1): Disable negative integers
in data. A facility not actually used in Spad code.
|
|
* interp/parse.boot (parseGreaterEqual): Likewise.
|
|
greater-than expressions.
* interp/parse.boot (parseGreaterThan): Remove.
* algebra/data.spad.pamphlet (Byte): Implement all comparison
functions.
* algebra/integer.spad.pamphlet (Integer): Likewise.
* algebra/sf.spad.pamphlet (DoubleFloat): Likewise.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
* algebra/string.spad.pamphlet (Character): Likewise.
|
|
* algebra/op.spad.pamphlet (BasicOperator): Don't export is? here.
Inherit it from OperatorCategory Symbol.
* algebra/catdef.spad.pamphlet (LeftLinearSet): New category.
(RightLinearSet): Likewise.
(LinearSet): Likewise.
(AbelianGroup): Extend LeftLinearSet Integer.
(LeftModule): Extend LeftLinearSet R.
(Module): Extend LinearSet R.
(RightModule): Extend RightLinearSet R.
* algebra/exposed.lsp.pamphlet: Expose LeftLinearSet,
RightLinearSet, and LinearSet.
* algebra/Makefile.pamphlet: Tidy.
|
|
|
|
(convert): Use per and rep operators.
* algebra/stap: Updated cached Lisp translation.
|
|
|
|
* algebra/catdef.spad.pamphlet (exquo$EuclideanDomain): Return 0
if first argument is 0.
* algebra/integer.spad.pamphlet (exquo$Integer): Remove.
* testsuite/interpreter/aw-103.input: New.
|
|
* algebra/zerodim.spad.pamphlet: Restore use of one?
* algebra/updivp.spad.pamphlet: Likewise.
* algebra/unifact.spad.pamphlet: Likewise.
* algebra/triset.spad.pamphlet: Likewise.
* algebra/tools.spad.pamphlet: Likewise.
* algebra/suts.spad.pamphlet: Likewise.
* algebra/sttaylor.spad.pamphlet: Likewise.
* algebra/string.spad.pamphlet: Likewise.
* algebra/sregset.spad.pamphlet: Likewise.
* algebra/si.spad.pamphlet: Likewise.
* algebra/sf.spad.pamphlet: Likewise.
* algebra/riccati.spad.pamphlet: Likewise.
* algebra/rf.spad.pamphlet: Likewise.
* algebra/regset.spad.pamphlet: Likewise.
* algebra/rderf.spad.pamphlet: Likewise.
* algebra/rdeef.spad.pamphlet: Likewise.
* algebra/quat.spad.pamphlet: Likewise.
* algebra/puiseux.spad.pamphlet: Likewise.
* algebra/pscat.spad.pamphlet: Likewise.
* algebra/prtition.spad.pamphlet: Likewise.
* algebra/prs.spad.pamphlet: Likewise.
* algebra/primelt.spad.pamphlet: Likewise.
* algebra/polycat.spad.pamphlet: Likewise.
* algebra/poly.spad.pamphlet: Likewise.
* algebra/polset.spad.pamphlet: Likewise.
* algebra/pfo.spad.pamphlet: Likewise.
* algebra/perm.spad.pamphlet: Likewise.
* algebra/pattern.spad.pamphlet: Likewise.
* algebra/padiclib.spad.pamphlet:Likewise.
* algebra/openmath.spad.pamphlet: Likewise.
* algebra/opalg.spad.pamphlet: Likewise.
* algebra/op.spad.pamphlet: Likewise.
* algebra/omerror.spad.pamphlet: Likewise.
* algebra/oderf.spad.pamphlet: Likewise.
* algebra/odeef.spad.pamphlet: Likewise.
* algebra/oct.spad.pamphlet: Likewise.
* algebra/nlinsol.spad.pamphlet: Likewise.
* algebra/newpoly.spad.pamphlet: Likewise.
* algebra/naalgc.spad.pamphlet: Likewise.
* algebra/naalg.spad.pamphlet: Likewise.
* algebra/multpoly.spad.pamphlet: Likewise.
* algebra/mring.spad.pamphlet: Likewise.
* algebra/modring.spad.pamphlet: Likewise.
* algebra/moddfact.spad.pamphlet: Likewise.
* algebra/mkfunc.spad.pamphlet: Likewise.
* algebra/matstor.spad.pamphlet: Likewise.
* algebra/matrix.spad.pamphlet: Likewise.
* algebra/matcat.spad.pamphlet: Likewise.
* algebra/manip.spad.pamphlet: Likewise.
* algebra/lodof.spad.pamphlet: Likewise.
* algebra/liouv.spad.pamphlet: Likewise.
* algebra/laplace.spad.pamphlet: Likewise.
* algebra/irexpand.spad.pamphlet: Likewise.
* algebra/intrf.spad.pamphlet: Likewise.
* algebra/intpm.spad.pamphlet: Likewise.
* algebra/intfact.spad.pamphlet: Likewise.
* algebra/integer.spad.pamphlet: Likewise.
* algebra/intclos.spad.pamphlet: Likewise.
* algebra/intaux.spad.pamphlet: Likewise.
* algebra/intalg.spad.pamphlet: Likewise.
* algebra/intaf.spad.pamphlet: Likewise.
* algebra/gpol.spad.pamphlet: Likewise.
* algebra/gpgcd.spad.pamphlet: Likewise.
* algebra/gb.spad.pamphlet: Likewise.
* algebra/gaussian.spad.pamphlet: Likewise.
* algebra/galutil.spad.pamphlet: Likewise.
* algebra/galpolyu.spad.pamphlet: Likewise.
* algebra/galfact.spad.pamphlet: Likewise.
* algebra/fspace.spad.pamphlet: Likewise.
* algebra/fs2ups.spad.pamphlet: Likewise.
* algebra/fs2expxp.spad.pamphlet: Likewise.
* algebra/free.spad.pamphlet: Likewise.
* algebra/fraction.spad.pamphlet: Likewise.
* algebra/fr.spad.pamphlet: Likewise.
* algebra/fparfrac.spad.pamphlet: Likewise.
* algebra/fortran.spad.pamphlet: Likewise.
* algebra/fmod.spad.pamphlet: Likewise.
* algebra/float.spad.pamphlet: Likewise.
* algebra/ffx.spad.pamphlet: Likewise.
* algebra/ffnb.spad.pamphlet: Likewise.
* algebra/ffcg.spad.pamphlet: Likewise.
* algebra/ffcat.spad.pamphlet: Likewise.
* algebra/exprode.spad.pamphlet: Likewise.
* algebra/expr.spad.pamphlet: Likewise.
* algebra/expexpan.spad.pamphlet: Likewise.
* algebra/elemntry.spad.pamphlet: Likewise.
* algebra/efupxs.spad.pamphlet: Likewise.
* algebra/efuls.spad.pamphlet: Likewise.
* algebra/e04routine.spad.pamphlet: Likewise.
* algebra/e04agents.spad.pamphlet: Likewise.
* algebra/divisor.spad.pamphlet: Likewise.
* algebra/derham.spad.pamphlet: Likewise.
* algebra/defintrf.spad.pamphlet: Likewise.
* algebra/defintef.spad.pamphlet: Likewise.
* algebra/defaults.spad.pamphlet: Likewise.
* algebra/d03agents.spad.pamphlet: Likewise.
* algebra/d01weights.spad.pamphlet: Likewise.
* algebra/d01routine.spad.pamphlet: Likewise.
* algebra/d01agents.spad.pamphlet: Likewise.
* algebra/curve.spad.pamphlet: Likewise.
* algebra/crfp.spad.pamphlet: Likewise.
* algebra/cont.spad.pamphlet: Likewise.
* algebra/constant.spad.pamphlet: Likewise.
* algebra/complet.spad.pamphlet: Likewise.
* algebra/combfunc.spad.pamphlet: Likewise.
* algebra/catdef.spad.pamphlet: Likewise.
* algebra/brill.spad.pamphlet: Likewise.
* algebra/array1.spad.pamphlet: Likewise.
* algebra/algfunc.spad.pamphlet: Likewise.
* algebra/algfact.spad.pamphlet: Likewise.
|
|
* interp/g-util.boot (isSubDomain): Tidy.
* interp/g-opt.boot (isVMConstantForm): New.
(findVMFreeVars): Likewise.
* interp/define.boot (insertViewMorphisms): Remove.
(emitSubdomainInfo): New.
(checkVariableName): Likewise.
(checkParameterNames): Likewise.
(checkRepresentation): Set $subdomain where appropriate.
(compDefines): Check parameter names.
(compDefineFunctor1): Propagate subdomain info.
(doIt): Don't call insertViewMorphisms.
* interp/compiler.boot (setqSingle): Check variable name.
(compIterator): Likewise.
(commonSuperType): New.
(satisfies): Likewise.
(coerceSubset): Use them to implemen cross-subdomain coercion.
(coerceSuperset): New.
(comCoerce1): Use it.
(compPer): New.
(compRep): Likewise.
* interp/c-util.boot (getRepresentation): New.
(proclaimCapsuleFunction): Improve for specialized subdomains.
* algebra/stream.spad.pamphlet: Don't use `per' as variable name.
* algebra/si.spad.pamphlet (size$SingleInteger): Tidy.
(coerce$SingleInteger): Likewise.
* algebra/reclos.spad.pamphlet (nonNull$RealClosure): Don't use
`rep' as parameter name.
* algebra/data.spad.pamphlet (Byte): Now a subdomain of
NonNegativeInteger. Tidy.
|
|
earlier tweaks.
(mkExplicitCategoryFunction): Likewise.
|
|
|
|
HomotopicTo P.
(OrdinaryWeightedPolynomials): Likewise.
* algebra/modmonom.spad.pamphlet (ModuleMonomial): Now
HomotopicTo MM.
* algebra/matrix.spad.pamphlet (coerce$RectangularMatrix): Remove
redundant signature.
* algebra/lodop.spad.pamphlet (OrdinaryDifferentialRing): Now
HomotopicTo HomotopicTo R.
* algebra/alql.spad.pamphlet (DataList): Now HomotopicTo List S.
* algebra/array1.spad.pamphlet (Tuple): Now HomotopicTo
PrimitiveArray S.
* algebra/kl.spad.pamphlet (CachableSet): Now HomotopicTo S.
* algebra/java.spad.pamphlet (JavaBytecode): Now HomotopicTo Byte.
* algebra/fname.spad.pamphlet (FileNameCategory): Extends
HomotopicTo String.
* algebra/data.spad.pamphlet (Byte): Now HomotopicTo Character.
|
|
(ConvertibleFrom): Likewise.
(RetractableTo): Use it.
* algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include
KRCFROM and KVTFROM.
* share/algebra/: Update databases.
|
|
* interp/i-map.boot (compileCoerceMap): Tell backend that
minivector is global.
* interp/i-spec1.boot (compileADEFBody): Likewise.
* interp/slam.boot (reportFunctionCompilation): Likewise.
* interp/define.boot (spadCompileOrSetq): Tell backend to ignore
last argument for simple functions.
* interp/c-util.boot (skipDeclarations): New.
(lastDeclarationNode): Likewise.
(declareGlobalVariables): Likewise.
(transformToBackendCode): Use them to allow for Lisp
declarations in middle-end forms.
* interp/sys-driver.boot (AxiomCore::%sysInit): Reading Lisp level
Floating point numbers default to double precision.
* algebra/strap: Update.
|
|
|
|
|
|
* interp/types.boot: Tidy.
* interp/sys-constants.boot: Define limits for builtin numeric types.
* interp/sys-os.boot: Import sys-constants.
* interp/foam_l.lisp: Import sys-constants. Align builtin numeric
types with OpenAxiom runtime's.
* interp/fortcall.boot: Tidy.
* interp/i-output.boot: Likewise.
* interp/Makefile.pamphlet (foam_l.$(FASLEXT)): Now require
sys-constants.$(FASLEXT).
* algebra/si.spad.pamphlet: Use $ShortMinimum and $ShortMaximum
for SingleInteger limits.
* algebra/sf.spad.pamphlet: Use $DoubleFloatMaximum,
$DoubleFloatMinimum for DoubleFloat limits.
* algebra/strap: Update cached Lisp translation.
|
|
Gabriel Dos Reis <gdr@cs.tamu.edu>
Fix AW/431
* algebra/ore.spad.pamphlet (SpareUnivariateSkewPolynomial):
Implement **.
2008-09-01 Gabriel Dos Reis <gdr@cs.tamu.edu>
Make ^ an alias for **.
* interp/postpar.boot (postAtom): Replace "^" with "**".
* interp/format.boot (reportOpSymbol): Announce that "^" is an
alias for "**".
* interp/nrungo.boot (compiledLookup): Be sure to look for "**"
when operation is "^".
* interp/define.boot (noteCapsuleFunctionDefinition): New.
(clearCapsuleFunctionTable): Likewise.
(noteExport): Likewise.
(clearExportsTable): Likewise.
(compDefineCapsuleFunction): Rename "^" to "**". Take a note
of the capsule function being compiled.
(compCapsule): Clear previous capsule functions table.
(doItIf): Keep track of predicate validity.
(compCategory): Clear previous exports table.
(compCategoryItem): Take notes of declared attributes and signatures.
* algebra/catdef.spad.pamphlet (DivisionRing): Remove duplicate
definition for "^".
(Group): Likewise.
(Monoid): Likewise.
(SemiGroup): Likewise.
* algebra/poly.spad.pamphlet (PolynomialRing): Remove duplicate
definitins of "^".
(SparseUnivariatePolynomial): Likewise.
* algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial):
Remove duplicate definitions for "^".
* algebra/interval.spad.pamphlet (Interval): Remove duplicate
definition for "^".
* algebra/curve.spad.pamphlet (FunctionFieldCategory): Remove
duplicate declaration for represents.
* algebra/strap/: Update cached Lisp translations.
* share/algebra: Update databases.
|
|
* algebra/strap: Update cached Lisp translation.
|
|
algebra bootstrap domains here.
|