Mercurial > octave-libgccjit
comparison liboctave/Array.cc @ 9046:88bf56bbccca
make Array::find already return Matlab-compatible dimensions
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Fri, 27 Mar 2009 12:22:05 +0100 |
parents | 2df28ad88b0e |
children | 2da105bf2507 |
comparison
equal
deleted
inserted
replaced
9045:ac0a23e9f5c5 | 9046:88bf56bbccca |
---|---|
2543 } | 2543 } |
2544 if (k < n) | 2544 if (k < n) |
2545 retval.resize (k); | 2545 retval.resize (k); |
2546 } | 2546 } |
2547 } | 2547 } |
2548 | |
2549 // Fixup return dimensions, for Matlab compatibility. | |
2550 // find(zeros(0,0)) -> zeros(0,0) | |
2551 // find(zeros(1,0)) -> zeros(1,0) | |
2552 // find(zeros(0,1)) -> zeros(0,1) | |
2553 // find(zeros(0,X)) -> zeros(0,1) | |
2554 // find(zeros(1,1)) -> zeros(0,0) !!!! WHY? | |
2555 // find(zeros(0,1,0)) -> zeros(0,0) | |
2556 // find(zeros(0,1,0,1)) -> zeros(0,0) etc | |
2557 | |
2558 if ((numel () == 1 && retval.is_empty ()) | |
2559 || (rows () == 0 && dims ().numel (1) == 0)) | |
2560 retval.dimensions = dim_vector (); | |
2561 else if (rows () == 1 && ndims () == 2) | |
2562 retval.dimensions = dim_vector (1, retval.length ()); | |
2548 | 2563 |
2549 return retval; | 2564 return retval; |
2550 } | 2565 } |
2551 | 2566 |
2552 | 2567 |