From 16a2cb333d0062e6eb37e32a0bbec7b4bcb2bca4 Mon Sep 17 00:00:00 2001 From: "Colin B. Macdonald" Date: Mon, 29 Jan 2024 12:10:16 -0800 Subject: [PATCH 1/2] More tests about vpa inequality Related to Issue #1285, linked to the xtest. Probably waiting on upstream fix. --- inst/vpa.m | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/inst/vpa.m b/inst/vpa.m index 052012df..ad02818d 100644 --- a/inst/vpa.m +++ b/inst/vpa.m @@ -352,6 +352,39 @@ %! c = vpa('1524157877488187881'); %! assert (isequal (b, c)) +%!test +%! % isequal and other comparisons +%! a = vpa ("2/3", 32); +%! b = vpa ("2/3", 64); +%! assert (~ logical (a == b)) +%! assert (~ isequal (a, b)) +%! a = vpa ("1/3", 32); +%! b = vpa ("1/3", 64); +%! assert (~ logical (a == b)) +%! assert (~ isequal (a, b)) +%! a = vpa ("0.1", 32); +%! b = vpa ("0.1", 64); +%! assert (~ logical (a == b)) +%! assert (~ isequal (a, b)) + +%!test +%! % isequal with array: Issue #1285 +%! a = vpa ("2/3", 32); +%! b = vpa ("2/3", 64); +%! assert (~ isequal ([a 2*a], [b 2*b])) + +%!xtest +%! % non-equality of vpa that "might be" be integers: Issue #1285 +%! a = vpa ("123", 32); +%! b = vpa ("123", 64); +%! assert (~ logical (a == b)) + +%!test +%! % non-equality of vpa that "might be" be integers: Issue #1285 +%! a = vpa ("123", 32); +%! b = vpa ("123", 64); +%! assert (~ isequal (a, b)) + %!warning vpa ('sqrt(2.0)'); %!warning From b0b9d90a6dc90de69e6e8eba80842bb81cd730ee Mon Sep 17 00:00:00 2001 From: "Colin B. Macdonald" Date: Mon, 29 Jan 2024 12:26:34 -0800 Subject: [PATCH 2/2] Works on SymPy dev anyway --- inst/vpa.m | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/inst/vpa.m b/inst/vpa.m index ad02818d..9ad5389e 100644 --- a/inst/vpa.m +++ b/inst/vpa.m @@ -381,9 +381,11 @@ %!test %! % non-equality of vpa that "might be" be integers: Issue #1285 -%! a = vpa ("123", 32); -%! b = vpa ("123", 64); -%! assert (~ isequal (a, b)) +%! if (pycall_sympy__ ('return Version(spver) >= Version("1.12.1")')) +%! a = vpa ("123", 32); +%! b = vpa ("123", 64); +%! assert (~ isequal (a, b)) +%! end %!warning vpa ('sqrt(2.0)');