[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #58807] Tolerance in BISTs is exceeded in 32bi
From: |
Markus Mützel |
Subject: |
[Octave-bug-tracker] [bug #58807] Tolerance in BISTs is exceeded in 32bit Windows builds |
Date: |
Wed, 22 Jul 2020 06:56:30 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 Edg/84.0.522.40 |
URL:
<https://savannah.gnu.org/bugs/?58807>
Summary: Tolerance in BISTs is exceeded in 32bit Windows
builds
Project: GNU Octave
Submitted by: mmuetzel
Submitted on: Wed 22 Jul 2020 12:56:28 PM CEST
Category: Interpreter
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Incorrect Result
Status: None
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Release: 6.0.90
Discussion Lock: Any
Operating System: Microsoft Windows
_______________________________________________________
Details:
MXE Octave (hg id a65cacd05892) was configured to cross-compile Windows 32bit
executables with:
./configure --with-pkg-dir=../mxe-octave-pkg --with-ccache
--enable-octave=default --enable-binary-packages --enable-qt5
--enable-devel-tools --disable-windows-64 --disable-64
--disable-fortran-int64
--disable-system-opengl
On Windows 10 2004 64bit (and according to bug #58790 also on Windows 7), the
tolerance for some of the tests is exceeded.
E.g.:
>>>>> processing
D:\SVN\Octave\test\OC20A7~1\OCTAVE~1\mingw32\share\octave\7.0.0\etc\tests\libinterp\corefcn\graphics.cc-tst
***** test
hf = figure ("visible", "off");
unwind_protect
hax = axes ("parent", hf);
plot (0, pi);
assert (get (hax, "xlim"), [-1, 1]);
assert (get (hax, "xlimmode"), "auto");
assert (get (hax, "ylim"), [2.8, 3.5], 2*eps);
assert (get (hax, "ylimmode"), "auto");
set (hax, "xlim", [1, 1], "ylim", [0, 0]);
assert (get (hax, "xlim"), [0.9, 1.1]);
assert (get (hax, "xlimmode"), "manual");
assert (get (hax, "ylim"), [0, 1]);
assert (get (hax, "ylimmode"), "manual");
set (hax, "xlim", [-Inf, Inf], "ylim", [-Inf, Inf]);
## Matlab does not update the properties
assert (get (hax, "xlim"), [0, 1]);
assert (get (hax, "ylim"), [0.9, 1.1]*pi, 2*eps);
unwind_protect_cleanup
delete (hf);
end_unwind_protect
!!!!! test failed
ASSERT errors for: assert (get (hax, "ylim"),[2.8, 3.5],2 * eps)
Location | Observed | Expected | Reason
(1) 2.7 2.8 Abs err 0.1 exceeds tol 4.4409e-16 by
0.1
>>>>> processing
D:\SVN\Octave\test\OC20A7~1\OCTAVE~1\mingw32\share\octave\7.0.0\m\plot\appearance\xlim.m
***** test
hf = figure ("visible", "off");
unwind_protect
h = plot3 ([0,1.1], [0,1], [0, 1]);
assert (get (gca, "xlim"), [0, 1.4], eps);
assert (xlim ("mode"), "auto");
unwind_protect_cleanup
close (hf);
end_unwind_protect
!!!!! test failed
ASSERT errors for: assert (get (gca, "xlim"),[0, 1.4],eps)
Location | Observed | Expected | Reason
(2) 1.2 1.4 Abs err 0.2 exceeds tol 2.2204e-16 by
0.2
>>>>> processing
D:\SVN\Octave\test\OC20A7~1\OCTAVE~1\mingw32\share\octave\7.0.0\m\plot\appearance\ylim.m
***** test
hf = figure ("visible", "off");
unwind_protect
plot3 ([0,1], [0,1.1], [0, 1]);
assert (get (gca, "ylim"), [0, 1.4], eps);
assert (ylim ("mode"), "auto");
unwind_protect_cleanup
close (hf);
end_unwind_protect
!!!!! test failed
ASSERT errors for: assert (get (gca, "ylim"),[0, 1.4],eps)
Location | Observed | Expected | Reason
(2) 1.2 1.4 Abs err 0.2 exceeds tol 2.2204e-16 by
0.2
>>>>> processing
D:\SVN\Octave\test\OC20A7~1\OCTAVE~1\mingw32\share\octave\7.0.0\m\plot\appearance\zlim.m
***** test
hf = figure ("visible", "off");
unwind_protect
plot3 ([0,1], [0,1], [0, 1.1]);
assert (get (gca, "zlim"), [0, 1.4], eps);
assert (zlim ("mode"), "auto");
unwind_protect_cleanup
close (hf);
end_unwind_protect
!!!!! test failed
ASSERT errors for: assert (get (gca, "zlim"),[0, 1.4],eps)
Location | Observed | Expected | Reason
(2) 1.2 1.4 Abs err 0.2 exceeds tol 2.2204e-16 by
0.2
>>>>> processing
D:\SVN\Octave\test\OC20A7~1\OCTAVE~1\mingw32\share\octave\7.0.0\m\polynomial\polyfit.m
***** assert (polyfit (x, x.^2 + 2*x + 3, 3), [0, 1, 2, 3], 10*eps)
!!!!! test failed
ASSERT errors for: assert (polyfit (x, x .^ 2 + 2 * x + 3, 3),[0, 1, 2, 3],10
* eps)
Location | Observed | Expected | Reason
(3) 2 2 Abs err 2.6645e-15 exceeds tol
2.2204e-15 by 4e-16
shared variables scalar structure containing the fields:
x =
-2 -1 0 1 2
>>>>> processing
D:\SVN\Octave\test\OC20A7~1\OCTAVE~1\mingw32\share\octave\7.0.0\m\specfun\cosint.m
***** assert (cosint (pi), 0.0736679120464254860, -2e-15)
!!!!! test failed
ASSERT errors for: assert (cosint (pi),0.0736679120464254860,-2e-15)
Location | Observed | Expected | Reason
() 0.073668 0.073668 Rel err 2.2606e-15 exceeds tol 2e-15
by 3e-16
In bug #58795, Dmitri proposed to use the SSE2 instruction set (instead of the
387 coprocessor instructions) also for 32bit builds.
I'll repeat some of the information in bug #58795 here:
Basically, Windows 7 with all updates no longer supports CPUs without SSE2
instruction set.
Also Octave no longer starts on Windows XP anyway. Windows Vista is no longer
supported by MS since more than 3 years.
So raising the minimum hardware requirements might be ok. (I'll ask about this
on the mailing list or discourse.)
I'm currently cross-compiling Octave 32bit for Windows with the "-mfpmath=sse
-msse -msse2" flags that Dmitri mentioned in bug #58795. I'll report back with
the results.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?58807>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #58807] Tolerance in BISTs is exceeded in 32bit Windows builds,
Markus Mützel <=