Mercurial > hg > octave-lyh
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 } |