comparison liboctave/CSparse.cc @ 5389:25c8956d2204

[project @ 2005-06-15 03:45:46 by jwe]
author jwe
date Wed, 15 Jun 2005 03:45:49 +0000
parents a103c41e68b2
children b91241999ba6
comparison
equal deleted inserted replaced
5388:7099eb9841b4 5389:25c8956d2204
233 233
234 for (octave_idx_type i = cidx(j); i < cidx(j+1); i++) 234 for (octave_idx_type i = cidx(j); i < cidx(j+1); i++)
235 { 235 {
236 Complex tmp = data (i); 236 Complex tmp = data (i);
237 237
238 if (octave_is_NaN_or_NA (tmp)) 238 if (xisnan (tmp))
239 continue; 239 continue;
240 240
241 double abs_tmp = std::abs (tmp); 241 double abs_tmp = std::abs (tmp);
242 242
243 if (octave_is_NaN_or_NA (abs_max) || abs_tmp > abs_max) 243 if (xisnan (abs_max) || abs_tmp > abs_max)
244 { 244 {
245 idx_j = ridx (i); 245 idx_j = ridx (i);
246 tmp_max = tmp; 246 tmp_max = tmp;
247 abs_max = abs_tmp; 247 abs_max = abs_tmp;
248 } 248 }
249 } 249 }
250 250
251 idx_arg.elem (j) = octave_is_NaN_or_NA (tmp_max) ? 0 : idx_j; 251 idx_arg.elem (j) = xisnan (tmp_max) ? 0 : idx_j;
252 if (abs_max != 0.) 252 if (abs_max != 0.)
253 nel++; 253 nel++;
254 } 254 }
255 255
256 result = SparseComplexMatrix (1, nc, nel); 256 result = SparseComplexMatrix (1, nc, nel);
299 { 299 {
300 octave_idx_type ir = ridx (i); 300 octave_idx_type ir = ridx (i);
301 octave_idx_type ix = idx_arg.elem (ir); 301 octave_idx_type ix = idx_arg.elem (ir);
302 Complex tmp = data (i); 302 Complex tmp = data (i);
303 303
304 if (octave_is_NaN_or_NA (tmp)) 304 if (xisnan (tmp))
305 continue; 305 continue;
306 else if (ix == -1 || std::abs(tmp) > std::abs(elem (ir, ix))) 306 else if (ix == -1 || std::abs(tmp) > std::abs(elem (ir, ix)))
307 idx_arg.elem (ir) = j; 307 idx_arg.elem (ir) = j;
308 } 308 }
309 } 309 }
385 385
386 for (octave_idx_type i = cidx(j); i < cidx(j+1); i++) 386 for (octave_idx_type i = cidx(j); i < cidx(j+1); i++)
387 { 387 {
388 Complex tmp = data (i); 388 Complex tmp = data (i);
389 389
390 if (octave_is_NaN_or_NA (tmp)) 390 if (xisnan (tmp))
391 continue; 391 continue;
392 392
393 double abs_tmp = std::abs (tmp); 393 double abs_tmp = std::abs (tmp);
394 394
395 if (octave_is_NaN_or_NA (abs_min) || abs_tmp < abs_min) 395 if (xisnan (abs_min) || abs_tmp < abs_min)
396 { 396 {
397 idx_j = ridx (i); 397 idx_j = ridx (i);
398 tmp_min = tmp; 398 tmp_min = tmp;
399 abs_min = abs_tmp; 399 abs_min = abs_tmp;
400 } 400 }
401 } 401 }
402 402
403 idx_arg.elem (j) = octave_is_NaN_or_NA (tmp_min) ? 0 : idx_j; 403 idx_arg.elem (j) = xisnan (tmp_min) ? 0 : idx_j;
404 if (abs_min != 0.) 404 if (abs_min != 0.)
405 nel++; 405 nel++;
406 } 406 }
407 407
408 result = SparseComplexMatrix (1, nc, nel); 408 result = SparseComplexMatrix (1, nc, nel);
451 { 451 {
452 octave_idx_type ir = ridx (i); 452 octave_idx_type ir = ridx (i);
453 octave_idx_type ix = idx_arg.elem (ir); 453 octave_idx_type ix = idx_arg.elem (ir);
454 Complex tmp = data (i); 454 Complex tmp = data (i);
455 455
456 if (octave_is_NaN_or_NA (tmp)) 456 if (xisnan (tmp))
457 continue; 457 continue;
458 else if (ix == -1 || std::abs(tmp) < std::abs(elem (ir, ix))) 458 else if (ix == -1 || std::abs(tmp) < std::abs(elem (ir, ix)))
459 idx_arg.elem (ir) = j; 459 idx_arg.elem (ir) = j;
460 } 460 }
461 } 461 }