Skip to content

Commit 8d5df65

Browse files
committed
Add ring and promote methods for Constant objects
Add support for creating matrices with Constant entries. Also add a unit test.
1 parent 207cf44 commit 8d5df65

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

M2/Macaulay2/m2/reals.m2

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,10 @@ EulerConstant = new Constant from { symbol EulerConstant, mpfrConstantEuler, eRR
270270
CatalanConstant = new Constant from { symbol CatalanConstant, mpfrConstantCatalan, cRRi0}
271271
ii = new Constant from { symbol ii, ConstantII}
272272

273+
ring Constant := ring @@ numeric
274+
promote(Constant, InexactNumber') := (x, kk) -> (
275+
promote(numeric(precision kk, x), kk))
276+
273277
isFinite Constant := x -> true
274278

275279
lngamma = method()

M2/Macaulay2/tests/normal/matrix.m2

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,9 @@ scan({matrix {}, matrix(ZZ, {}), map(ZZ^0, ZZ^0, {}), map(ZZ^0,, {})}, A -> (
371371
assert Equation(source A, ZZ^0);
372372
assert Equation(target A, ZZ^0)))
373373

374+
-- issue #3456
375+
assert Equation(matrix {{ii}}, matrix {{numeric ii}})
376+
374377
-- Local Variables:
375378
-- compile-command: "make -C $M2BUILDDIR/Macaulay2/packages/Macaulay2Doc/test matrix.out"
376379
-- End:

0 commit comments

Comments
 (0)