Skip to content

Commit c388489

Browse files
committed
fix #3906, prevent promote(CC,RR)
1 parent ef09b87 commit c388489

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

M2/Macaulay2/m2/engine.m2

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ raw Number := x -> x_((class x).RawRing)
255255
raw InexactNumber := x -> x_((ring x).RawRing)
256256
Number _ RawRing := (n,R) -> rawFromNumber(R,n)
257257
RawRingElement _ RawRing := (x,R) -> rawPromote(R,x)
258+
raw Constant := raw @@ numeric
258259

259260
RawRingElement == RawRingElement := (x,y) -> x === y
260261

M2/Macaulay2/m2/reals.m2

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,9 @@ promote(RawRingElement,RRi') := (x,R) -> new RRi from x
103103
promote(RawRingElement,CC') := (x,R) -> new CC from x
104104
promote(RawRingElement,Number) := (x,R) -> new R from x
105105
promote(RawRingElement,RingElement) := (x,R) -> new R from x
106-
promote(Number,InexactNumber) := (x,RR) -> promote(x,default RR)
106+
promote(QQ,RR) :=
107+
promote(ZZ,RR) := (x,RR) -> promote(x,default RR)
108+
promote(Number,CC) := (x,CC) -> promote(x,default CC)
107109
promote(ZZ,RR') :=
108110
promote(QQ,RR') :=
109111
promote(RR,RR') := (i,K) -> toRR(K.precision,i)

0 commit comments

Comments
 (0)