Mercurial > mxe-octave
comparison src/of-interval-3-error_state.patch @ 5986:7e4b598bd679
of-interval: Fix for Octave 8 (bug #61568).
* src/of-interval-2-error_state.patch: Add patch to fix compilation with Octave
8.
* dist-files.mk: Add new file to dist.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Fri, 26 Nov 2021 23:27:10 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
5985:1b5d45d7afd4 | 5986:7e4b598bd679 |
---|---|
1 # HG changeset patch | |
2 # User Markus Mützel <markus.muetzel@gmx.de> | |
3 # Date 1637946154 -3600 | |
4 # Fri Nov 26 18:02:34 2021 +0100 | |
5 # Node ID afe5ca3dbea5893fcc0b166a4c9e4bbaf24f18c5 | |
6 # Parent 9014fec674bdbac46727ca3e3f25d57bf06a2115 | |
7 Fix compilation with Octave 8 (bug #61568). | |
8 | |
9 * src/crlibm_function.cc (Fcrlibm_function), src/mpfr_function_d.cc | |
10 (Fmpfr_function_d), src/mpfr_linspace_d.cc (Fmpfr_linspace_d), | |
11 src/mpfr_matrix_mul_d.cc (Fmpfr_matrix_mul_d), src/mpfr_matrix_sqr_d.cc | |
12 (Fmpfr_matrix_sqr_d), src/mpfr_to_string_d.cc (Fmpfr_to_string_d), | |
13 src/mpfr_vector_dot_d.cc (Fmpfr_vector_dot_d), src/mpfr_vector_sum_d.cc | |
14 (Fmpfr_vector_sum_d), src/__setround__.cc (F__setround__): Remove usage of | |
15 `error_state`. It was unconditionally set to 0 since about 6 years ago and will | |
16 finally be removed in Octave 8. | |
17 | |
18 diff -r 9014fec674bd -r afe5ca3dbea5 src/__setround__.cc | |
19 --- a/src/__setround__.cc Mon Dec 21 08:57:25 2020 +0100 | |
20 +++ b/src/__setround__.cc Fri Nov 26 18:02:34 2021 +0100 | |
21 @@ -62,9 +62,6 @@ | |
22 error ("__setround__: Unsupported rounding mode, please use -inf, +inf " | |
23 "or 0.5"); | |
24 | |
25 - if (error_state) | |
26 - return octave_value_list (); | |
27 - | |
28 if (fesetround (mode) != 0) | |
29 error ("__setround__: Unable to change rounding mode"); | |
30 | |
31 diff -r 9014fec674bd -r afe5ca3dbea5 src/crlibm_function.cc | |
32 --- a/src/crlibm_function.cc Mon Dec 21 08:57:25 2020 +0100 | |
33 +++ b/src/crlibm_function.cc Fri Nov 26 18:02:34 2021 +0100 | |
34 @@ -84,9 +84,6 @@ | |
35 const double rnd = args(1).scalar_value (); | |
36 NDArray arg1 = args(2).array_value (); | |
37 | |
38 - if (error_state) | |
39 - return octave_value_list (); | |
40 - | |
41 if (rnd == INFINITY) | |
42 { | |
43 // Round upwards | |
44 diff -r 9014fec674bd -r afe5ca3dbea5 src/mpfr_function_d.cc | |
45 --- a/src/mpfr_function_d.cc Mon Dec 21 08:57:25 2020 +0100 | |
46 +++ b/src/mpfr_function_d.cc Fri Nov 26 18:02:34 2021 +0100 | |
47 @@ -391,8 +391,6 @@ | |
48 if (arg1.dims () != arg2.dims () || arg2.dims () != arg3.dims ()) | |
49 error ("mpfr_function_d: Array dimensions must agree!"); | |
50 } | |
51 - if (error_state) | |
52 - return octave_value_list (); | |
53 | |
54 // Choose the function to evaluate | |
55 switch (nargin - 2) | |
56 @@ -491,8 +489,6 @@ | |
57 else if (function == "nthroot") | |
58 { | |
59 uint64NDArray n = args (3).uint64_array_value (); | |
60 - if (error_state) | |
61 - return octave_value_list (); | |
62 nthroot (arg1, n, rnd); | |
63 } | |
64 else if (function == "plus") | |
65 diff -r 9014fec674bd -r afe5ca3dbea5 src/mpfr_linspace_d.cc | |
66 --- a/src/mpfr_linspace_d.cc Mon Dec 21 08:57:25 2020 +0100 | |
67 +++ b/src/mpfr_linspace_d.cc Fri Nov 26 18:02:34 2021 +0100 | |
68 @@ -65,8 +65,6 @@ | |
69 error ("mpfr_linspace_d: vectors must be of equal length"); | |
70 if (rnd != MPFR_RNDD && rnd != MPFR_RNDU) | |
71 error ("mpfr_linspace_d: only directed rounding supported"); | |
72 - if (error_state) | |
73 - return octave_value_list (); | |
74 | |
75 // Result size | |
76 n = std::max (n, 1); | |
77 diff -r 9014fec674bd -r afe5ca3dbea5 src/mpfr_matrix_mul_d.cc | |
78 --- a/src/mpfr_matrix_mul_d.cc Mon Dec 21 08:57:25 2020 +0100 | |
79 +++ b/src/mpfr_matrix_mul_d.cc Fri Nov 26 18:02:34 2021 +0100 | |
80 @@ -137,9 +137,7 @@ | |
81 Matrix matrix_yl = args (1).matrix_value (); | |
82 Matrix matrix_xu = args (2).matrix_value (); | |
83 Matrix matrix_yu = args (3).matrix_value (); | |
84 - if (error_state) | |
85 - return octave_value_list (); | |
86 - | |
87 + | |
88 std::pair <Matrix, Matrix> result_d = | |
89 interval_matrix_mul (matrix_xl, matrix_yl, matrix_xu, matrix_yu); | |
90 octave_value_list result; | |
91 diff -r 9014fec674bd -r afe5ca3dbea5 src/mpfr_matrix_sqr_d.cc | |
92 --- a/src/mpfr_matrix_sqr_d.cc Mon Dec 21 08:57:25 2020 +0100 | |
93 +++ b/src/mpfr_matrix_sqr_d.cc Fri Nov 26 18:02:34 2021 +0100 | |
94 @@ -331,9 +331,7 @@ | |
95 | |
96 Matrix matrix_xl = args (0).matrix_value (); | |
97 Matrix matrix_xu = args (1).matrix_value (); | |
98 - if (error_state) | |
99 - return octave_value_list (); | |
100 - | |
101 + | |
102 std::pair <Matrix, Matrix> result_d = | |
103 interval_matrix_sqr (matrix_xl, matrix_xu); | |
104 octave_value_list result; | |
105 diff -r 9014fec674bd -r afe5ca3dbea5 src/mpfr_to_string_d.cc | |
106 --- a/src/mpfr_to_string_d.cc Mon Dec 21 08:57:25 2020 +0100 | |
107 +++ b/src/mpfr_to_string_d.cc Fri Nov 26 18:02:34 2021 +0100 | |
108 @@ -128,9 +128,7 @@ | |
109 } | |
110 | |
111 const Matrix x = args (2).matrix_value (); | |
112 - if (error_state) | |
113 - return octave_value_list (); | |
114 - | |
115 + | |
116 char buf [768]; | |
117 mpfr_t mp; | |
118 mpfr_t zero; | |
119 diff -r 9014fec674bd -r afe5ca3dbea5 src/mpfr_vector_dot_d.cc | |
120 --- a/src/mpfr_vector_dot_d.cc Mon Dec 21 08:57:25 2020 +0100 | |
121 +++ b/src/mpfr_vector_dot_d.cc Fri Nov 26 18:02:34 2021 +0100 | |
122 @@ -460,8 +460,6 @@ | |
123 NDArray array_xu = args (2).array_value (); | |
124 NDArray array_yu = args (3).array_value (); | |
125 octave_idx_type dim = args (4).scalar_value (); | |
126 - if (error_state) | |
127 - return octave_value_list (); | |
128 | |
129 std::pair <NDArray, NDArray> result_d = | |
130 interval_vector_dot (array_xl, array_yl, array_xu, array_yu, dim); | |
131 @@ -475,8 +473,6 @@ | |
132 const NDArray array_x = args (1).array_value (); | |
133 const NDArray array_y = args (2).array_value (); | |
134 const octave_idx_type dim = args (3).scalar_value (); | |
135 - if (error_state) | |
136 - return octave_value_list (); | |
137 | |
138 std::pair <NDArray, NDArray> result_and_error | |
139 = vector_dot (rnd, array_x, array_y, dim, nargout >= 2); | |
140 diff -r 9014fec674bd -r afe5ca3dbea5 src/mpfr_vector_sum_d.cc | |
141 --- a/src/mpfr_vector_sum_d.cc Mon Dec 21 08:57:25 2020 +0100 | |
142 +++ b/src/mpfr_vector_sum_d.cc Fri Nov 26 18:02:34 2021 +0100 | |
143 @@ -69,8 +69,6 @@ | |
144 const mpfr_rnd_t rnd = parse_rounding_mode (args (0).scalar_value ()); | |
145 const NDArray array = args (1).array_value (); | |
146 const octave_idx_type dim = args (2).scalar_value (); | |
147 - if (error_state) | |
148 - return octave_value_list (); | |
149 | |
150 if (dim > array.ndims ()) | |
151 { |