Revision: 2654
http://sourceforge.net/p/fricas/code/2654
Author: whebisch
Date: 2020-03-18 15:28:49 +0000 (Wed, 18 Mar 2020)
Log Message:
-----------
Cleanup related to free modules
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/algebra/expr.spad
trunk/src/algebra/opalg.spad
trunk/src/algebra/pgcd.spad
trunk/src/algebra/xlpoly.spad
trunk/src/algebra/xpoly.spad
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2020-03-14 19:23:45 UTC (rev 2653)
+++ trunk/ChangeLog 2020-03-18 15:28:49 UTC (rev 2654)
@@ -1,3 +1,10 @@
+2020-03-18 Waldek Hebisch <
heb...@math.uni.wroc.pl>
+
+ * src/algebra/expr.spad, src/algebra/opalg.spad,
+ src/algebra/pgcd.spad, src/algebra/xlpoly.spad,
+ src/algebra/xpoly.spad: Cleanup related to free
+ modules
+
2020-03-14 Waldek Hebisch <
heb...@math.uni.wroc.pl>
* src/interp/buildom.boot, src/interp/i-funsel.boot,
Modified: trunk/src/algebra/expr.spad
===================================================================
--- trunk/src/algebra/expr.spad 2020-03-14 19:23:45 UTC (rev 2653)
+++ trunk/src/algebra/expr.spad 2020-03-18 15:28:49 UTC (rev 2654)
@@ -773,7 +773,7 @@
x : % + y : % == x +$Rep y
x : % = y : % == x =$Rep y
smaller?(x : %, y : %) == smaller?(x, y)$Rep
- coerce(k : K) : % == coerce(k)$Rep
+ coerce(k : K) : % == monomial(1, k)$Rep
kernels(x : %) : List(K) == [f.k for f in listOfTerms x]
coerce(x : R) : % == (zero? x => 0; constantKernel(x)::%)
retract(x : %) : R == (zero? x => 0; retNotUnit x)
@@ -789,7 +789,7 @@
isPlus x ==
empty?(l := listOfTerms x) or empty? rest l => "failed"
- [t.c *$Rep t.k for t in l]$List(%)
+ [monomial(t.c, t.k)$Rep for t in l]$List(%)
isMult x ==
empty?(l := listOfTerms x) or not empty? rest l => "failed"
Modified: trunk/src/algebra/opalg.spad
===================================================================
--- trunk/src/algebra/opalg.spad 2020-03-14 19:23:45 UTC (rev 2653)
+++ trunk/src/algebra/opalg.spad 2020-03-18 15:28:49 UTC (rev 2654)
@@ -75,7 +75,7 @@
rmeval(t, r) == t.coef * monomeval(t.monom, r)
termcopy t == [[rm.coef, rm.monom] for rm in t]
characteristic() == characteristic()$R
- mkop(r, fg) == [[r, fg]$RM]$TERM :: %
+ mkop(r, fg) == monomial(1, [[r, fg]$RM]$TERM)$FAB
evaluate(f, g) == nocopy setProperty(retract(f)@OP, OPEVAL, g pretend None)
if R has OrderedSet then
@@ -118,8 +118,8 @@
for t in listOfTerms x]
termprod0(n, x, y) ==
- n >= 0 => termprod(n, x, y)::%
- - (termprod(-n, x, y)::%)
+ n >= 0 => monomial(1, termprod(n, x, y))$FAB
+ - monomial(1, termprod(-n, x, y))$FAB
termprod(n, x, y) ==
lc := first(xx := termcopy x)
Modified: trunk/src/algebra/pgcd.spad
===================================================================
--- trunk/src/algebra/pgcd.spad 2020-03-14 19:23:45 UTC (rev 2653)
+++ trunk/src/algebra/pgcd.spad 2020-03-18 15:28:49 UTC (rev 2654)
@@ -325,7 +325,7 @@
f := lgcd*f
ldeg := [n0+n1 for n0 in ldeg for n1 in degree(lgcd, lvar)]
lcd : R := leadingCoefficient d
- lgcd1 :=
+ lgcd1 : R :=
degree(lgcd) = 0 => retract lgcd
retract(eval(lgcd, lvar, lval))
du := (lgcd1*d) exquo lcd
Modified: trunk/src/algebra/xlpoly.spad
===================================================================
--- trunk/src/algebra/xlpoly.spad 2020-03-14 19:23:45 UTC (rev 2653)
+++ trunk/src/algebra/xlpoly.spad 2020-03-18 15:28:49 UTC (rev 2654)
@@ -516,7 +516,7 @@
p : Integer
(s := retractIfCan(lw)$LWORD) case VarSet =>
p := position(s::VarSet, lv)$List(VarSet)
- if p = 0 then lw::% else elt(lnv, p)$List(%)
+ if p = 0 then monomial(1$R, lw) else elt(lnv, p)$List(%)
l : LWORD := left lw
r : LWORD := right lw
construct(eval2(l, lv, lnv), eval2(r, lv, lnv))
Modified: trunk/src/algebra/xpoly.spad
===================================================================
--- trunk/src/algebra/xpoly.spad 2020-03-14 19:23:45 UTC (rev 2653)
+++ trunk/src/algebra/xpoly.spad 2020-03-18 15:28:49 UTC (rev 2654)
@@ -536,7 +536,7 @@
p
coerce (v : VarSet) : % ==
- [0$R, coerce(v)$REGPOLY]$VPOLY
+ [0$R, monomial(1, v)$REGPOLY]$VPOLY
coerce (r : R) : % == r::%
coerce (n : Integer) == n::R::%
@@ -588,7 +588,7 @@
v : VarSet * p : % ==
p = 0 => 0$%
- [0$R, v *$REGPOLY p]$VPOLY
+ [0$R, monomial(p, v)$REGPOLY]$VPOLY
p1 : % * p2 : % ==
p1 case R => p1::R * p2
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.