changeset 12686:7c1bc8d8c406 octave-forge

fix range check of k-index
author schloegl
date Sat, 12 Sep 2015 07:33:55 +0000
parents f26b1170ea90
children 4f3528f4795b
files extra/NaN/src/kth_element.cpp
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/extra/NaN/src/kth_element.cpp	Sat Sep 12 07:15:01 2015 +0000
+++ b/extra/NaN/src/kth_element.cpp	Sat Sep 12 07:33:55 2015 +0000
@@ -190,10 +190,10 @@
 	POutput[0] = mxCreateDoubleMatrix(mxGetM(PInputs[1]),mxGetN(PInputs[1]),mxREAL);
 	Y = (double*) mxGetData(POutput[0]);
 	for (k=0; k < szK; k++) {
-		n = K[k]-1;       // convert to zero-based indexing 
-		if (n >= szX || n < 0)
+		if (K[k] > szX || K[k] < 1)
 			Y[k] = 0.0/0.0;	// NaN: result undefined
 		else {
+        		n = (size_t)(K[k]-1);       // convert to zero-based indexing, round towards 0 
         		findFirstK(T, 0, szX-1, n);
         		Y[k] = T[n];
 		}