Mercurial > jwe > octave
comparison liboctave/array/dNDArray.cc @ 21136:7cac4e7458f2
maint: clean up code around calls to current_liboctave_error_handler.
Remove statements after call to handler that are no longer reachable.
Place input validation first and immediately call handler if necessary.
Change if/error_handler/else to if/error_handler and re-indent code.
* Array-util.cc, Array.cc, CColVector.cc, CDiagMatrix.cc, CMatrix.cc,
CNDArray.cc, CRowVector.cc, CSparse.cc, DiagArray2.cc, MArray.cc,
PermMatrix.cc, Sparse.cc, Sparse.h, chMatrix.cc, chNDArray.cc, dColVector.cc,
dDiagMatrix.cc, dMatrix.cc, dNDArray.cc, dRowVector.cc, dSparse.cc,
fCColVector.cc, fCDiagMatrix.cc, fCMatrix.cc, fCNDArray.cc, fCRowVector.cc,
fColVector.cc, fDiagMatrix.cc, fMatrix.cc, fNDArray.cc, fRowVector.cc,
idx-vector.cc, CmplxAEPBAL.cc, CmplxCHOL.cc, CmplxGEPBAL.cc, CmplxHESS.cc,
CmplxLU.cc, CmplxQR.cc, CmplxSCHUR.cc, CmplxSVD.cc, DASPK.cc, EIG.cc, LSODE.cc,
Quad.cc, SparseCmplxCHOL.cc, SparseCmplxLU.cc, SparseCmplxQR.cc, SparseQR.cc,
SparsedbleCHOL.cc, SparsedbleLU.cc, base-lu.cc, bsxfun-defs.cc, dbleAEPBAL.cc,
dbleCHOL.cc, dbleGEPBAL.cc, dbleHESS.cc, dbleLU.cc, dbleQR.cc, dbleSCHUR.cc,
dbleSVD.cc, eigs-base.cc, fCmplxAEPBAL.cc, fCmplxCHOL.cc, fCmplxLU.cc,
fCmplxQR.cc, fCmplxSCHUR.cc, fEIG.cc, floatAEPBAL.cc, floatCHOL.cc,
floatGEPBAL.cc, floatHESS.cc, floatLU.cc, floatQR.cc, floatSCHUR.cc,
floatSVD.cc, lo-specfun.cc, oct-fftw.cc, oct-rand.cc, oct-spparms.cc,
sparse-base-chol.cc, sparse-dmsolve.cc, file-ops.cc, lo-sysdep.cc,
mach-info.cc, oct-env.cc, oct-syscalls.cc, cmd-edit.cc, cmd-hist.cc,
data-conv.cc, lo-ieee.cc, lo-regexp.cc, oct-base64.cc, oct-shlib.cc,
pathsearch.cc, singleton-cleanup.cc, sparse-util.cc, unwind-prot.cc:
Remove statements after call to handler that are no longer reachable.
Place input validation first and immediately call handler if necessary.
Change if/error_handler/else to if/error_handler and re-indent code.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 23 Jan 2016 13:52:03 -0800 |
parents | e39e05d90788 |
children | 40051830f89b |
comparison
equal
deleted
inserted
replaced
21135:95da3bc8a281 | 21136:7cac4e7458f2 |
---|---|
765 for (octave_idx_type i = 0; i < nel; i++) | 765 for (octave_idx_type i = 0; i < nel; i++) |
766 { | 766 { |
767 double d = elem (i); | 767 double d = elem (i); |
768 | 768 |
769 if (xisnan (d)) | 769 if (xisnan (d)) |
770 { | 770 (*current_liboctave_error_handler) |
771 (*current_liboctave_error_handler) | 771 ("invalid conversion from NaN to character"); |
772 ("invalid conversion from NaN to character"); | 772 |
773 return retval; | 773 octave_idx_type ival = NINTbig (d); |
774 } | 774 |
775 else | 775 if (ival < 0 || ival > std::numeric_limits<unsigned char>::max ()) |
776 { | 776 // FIXME: is there something better to do? Should we warn the user? |
777 octave_idx_type ival = NINTbig (d); | 777 ival = 0; |
778 | 778 |
779 if (ival < 0 || ival > std::numeric_limits<unsigned char>::max ()) | 779 retval.elem (i) = static_cast<char>(ival); |
780 // FIXME: is there something better to do? Should we warn the user? | |
781 ival = 0; | |
782 | |
783 retval.elem (i) = static_cast<char>(ival); | |
784 } | |
785 } | 780 } |
786 | 781 |
787 if (rb.is_empty ()) | 782 if (rb.is_empty ()) |
788 return retval; | 783 return retval; |
789 | 784 |