comparison liboctave/Array-d.cc @ 7924:4976f66d469b

miscellaneous cleanup
author John W. Eaton <jwe@octave.org>
date Fri, 11 Jul 2008 17:59:28 -0400
parents 2467639bd8c0
children 7cbe01c21986
comparison
equal deleted inserted replaced
7923:c3d21b9b94b6 7924:4976f66d469b
137 { 137 {
138 if (mode == ASCENDING) 138 if (mode == ASCENDING)
139 { 139 {
140 octave_idx_type i = 0; 140 octave_idx_type i = 0;
141 double *vtmp = reinterpret_cast<double *> (p); 141 double *vtmp = reinterpret_cast<double *> (p);
142 while (xisnan (vtmp[i++]) && i < ns); 142 while (xisnan (vtmp[i++]) && i < ns)
143 /* do nothing */;
143 for (octave_idx_type l = 0; l < ns - i + 1; l++) 144 for (octave_idx_type l = 0; l < ns - i + 1; l++)
144 vtmp[l] = vtmp[l+i-1]; 145 vtmp[l] = vtmp[l+i-1];
145 for (octave_idx_type l = ns - i + 1; l < ns; l++) 146 for (octave_idx_type l = ns - i + 1; l < ns; l++)
146 vtmp[l] = octave_NaN; 147 vtmp[l] = octave_NaN;
147 } 148 }
148 else 149 else
149 { 150 {
150 octave_idx_type i = ns; 151 octave_idx_type i = ns;
151 double *vtmp = reinterpret_cast<double *> (p); 152 double *vtmp = reinterpret_cast<double *> (p);
152 while (xisnan (vtmp[--i]) && i > 0); 153 while (xisnan (vtmp[--i]) && i > 0)
154 /* do nothing */;
153 for (octave_idx_type l = i; l >= 0; l--) 155 for (octave_idx_type l = i; l >= 0; l--)
154 vtmp[l-i+ns-1] = vtmp[l]; 156 vtmp[l-i+ns-1] = vtmp[l];
155 for (octave_idx_type l = 0; l < ns - i - 1; l++) 157 for (octave_idx_type l = 0; l < ns - i - 1; l++)
156 vtmp[l] = octave_NaN; 158 vtmp[l] = octave_NaN;
157 } 159 }
197 if (lo_ieee_signbit (octave_NaN)) 199 if (lo_ieee_signbit (octave_NaN))
198 { 200 {
199 if (mode == ASCENDING) 201 if (mode == ASCENDING)
200 { 202 {
201 octave_idx_type i = 0; 203 octave_idx_type i = 0;
202 while (xisnan (v[i++*stride + offset]) && i < ns); 204 while (xisnan (v[i++*stride + offset]) && i < ns)
205 /* do nothing */;
203 for (octave_idx_type l = 0; l < ns - i + 1; l++) 206 for (octave_idx_type l = 0; l < ns - i + 1; l++)
204 v[l*stride + offset] = v[(l+i-1)*stride + offset]; 207 v[l*stride + offset] = v[(l+i-1)*stride + offset];
205 for (octave_idx_type l = ns - i + 1; l < ns; l++) 208 for (octave_idx_type l = ns - i + 1; l < ns; l++)
206 v[l*stride + offset] = octave_NaN; 209 v[l*stride + offset] = octave_NaN;
207 } 210 }
208 else 211 else
209 { 212 {
210 octave_idx_type i = ns; 213 octave_idx_type i = ns;
211 while (xisnan (v[--i*stride + offset]) && i > 0); 214 while (xisnan (v[--i*stride + offset]) && i > 0)
215 /* do nothing */;
212 for (octave_idx_type l = i; l >= 0; l--) 216 for (octave_idx_type l = i; l >= 0; l--)
213 v[(l-i+ns-1)*stride + offset] = v[l*stride + offset]; 217 v[(l-i+ns-1)*stride + offset] = v[l*stride + offset];
214 for (octave_idx_type l = 0; l < ns - i - 1; l++) 218 for (octave_idx_type l = 0; l < ns - i - 1; l++)
215 v[l*stride + offset] = octave_NaN; 219 v[l*stride + offset] = octave_NaN;
216 } 220 }
301 if (lo_ieee_signbit (octave_NaN)) 305 if (lo_ieee_signbit (octave_NaN))
302 { 306 {
303 if (mode == ASCENDING) 307 if (mode == ASCENDING)
304 { 308 {
305 octave_idx_type i = 0; 309 octave_idx_type i = 0;
306 while (xisnan (v[i++*stride+offset]) && i < ns); 310 while (xisnan (v[i++*stride+offset]) && i < ns)
311 /* do nothing */;
307 OCTAVE_LOCAL_BUFFER (double, itmp, i - 1); 312 OCTAVE_LOCAL_BUFFER (double, itmp, i - 1);
308 for (octave_idx_type l = 0; l < i -1; l++) 313 for (octave_idx_type l = 0; l < i -1; l++)
309 itmp[l] = sidx(l*stride + offset); 314 itmp[l] = sidx(l*stride + offset);
310 for (octave_idx_type l = 0; l < ns - i + 1; l++) 315 for (octave_idx_type l = 0; l < ns - i + 1; l++)
311 { 316 {
320 } 325 }
321 } 326 }
322 else 327 else
323 { 328 {
324 octave_idx_type i = ns; 329 octave_idx_type i = ns;
325 while (xisnan (v[--i*stride+offset]) && i > 0); 330 while (xisnan (v[--i*stride+offset]) && i > 0)
331 /* do nothing */;
326 OCTAVE_LOCAL_BUFFER (double, itmp, ns - i - 1); 332 OCTAVE_LOCAL_BUFFER (double, itmp, ns - i - 1);
327 for (octave_idx_type l = 0; l < ns - i -1; l++) 333 for (octave_idx_type l = 0; l < ns - i -1; l++)
328 itmp[l] = sidx((l+i+1)*stride + offset); 334 itmp[l] = sidx((l+i+1)*stride + offset);
329 for (octave_idx_type l = i; l >= 0; l--) 335 for (octave_idx_type l = i; l >= 0; l--)
330 { 336 {