comparison liboctave/LSODE.cc @ 5552:bcc328604953

[project @ 2005-11-30 05:48:59 by jwe]
author jwe
date Wed, 30 Nov 2005 05:48:59 +0000
parents 4c8a2e4e0717
children 87c9641d938f
comparison
equal deleted inserted replaced
5551:71cfd8fedd5d 5552:bcc328604953
132 if (jac) 132 if (jac)
133 method_flag = 21; 133 method_flag = 21;
134 else 134 else
135 method_flag = 22; 135 method_flag = 22;
136 136
137 liw = 20 + n; 137 liw = 20 + n + 10000;
138 lrw = 22 + n * (9 + n); 138 lrw = 22 + n * (9 + n) + 10000;
139 } 139 }
140 else 140 else
141 { 141 {
142 max_maxord = 12; 142 max_maxord = 12;
143 143
146 liw = 20; 146 liw = 20;
147 lrw = 22 + 16 * n; 147 lrw = 22 + 16 * n;
148 } 148 }
149 149
150 maxord = maximum_order (); 150 maxord = maximum_order ();
151
152 iwork.resize (liw);
153
154 for (octave_idx_type i = 4; i < 9; i++)
155 iwork(i) = 0;
156
157 rwork.resize (lrw);
158
159 for (octave_idx_type i = 4; i < 9; i++)
160 rwork(i) = 0;
151 161
152 if (maxord >= 0) 162 if (maxord >= 0)
153 { 163 {
154 if (maxord > 0 && maxord <= max_maxord) 164 if (maxord > 0 && maxord <= max_maxord)
155 { 165 {
162 ("lsode: invalid value for maximum order"); 172 ("lsode: invalid value for maximum order");
163 integration_error = true; 173 integration_error = true;
164 return retval; 174 return retval;
165 } 175 }
166 } 176 }
167
168 iwork.resize (liw);
169
170 for (octave_idx_type i = 4; i < 9; i++)
171 iwork(i) = 0;
172
173 rwork.resize (lrw);
174
175 for (octave_idx_type i = 4; i < 9; i++)
176 rwork(i) = 0;
177 177
178 if (stop_time_set) 178 if (stop_time_set)
179 { 179 {
180 itask = 4; 180 itask = 4;
181 rwork(0) = stop_time; 181 rwork(0) = stop_time;