Mercurial > hg > octave-nkf
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; |