61 barr = (*env)->GetByteArrayElements(env,bdata,&bb);
67 blen = (*env)->GetArrayLength(env,bdata);
69 len = blen/
sizeof(jint);
70 rarray = (*env)->NewIntArray(env,len);
72 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
77 iarray = (*env)->GetIntArrayElements(env,rarray,&bb);
79 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
86 for (ii = 0; ii < len; ii++) {
92 (*env)->ReleaseIntArrayElements(env,rarray,iarray, 0);
93 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
119 barr = (*env)->GetByteArrayElements(env,bdata,&bb);
124 blen = (*env)->GetArrayLength(env,bdata);
126 len = blen/
sizeof(jfloat);
127 rarray = (*env)->NewFloatArray(env,len);
128 if (rarray == NULL) {
129 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
133 farray = (*env)->GetFloatArrayElements(env,rarray,&bb);
134 if (farray == NULL) {
135 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
142 for (ii = 0; ii < len; ii++) {
143 *iap = *(jfloat *)bp;
145 bp +=
sizeof(jfloat);
148 (*env)->ReleaseFloatArrayElements(env,rarray,farray, 0);
149 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
175 barr = (*env)->GetByteArrayElements(env,bdata,&bb);
181 blen = (*env)->GetArrayLength(env,bdata);
183 len = blen/
sizeof(jshort);
184 rarray = (*env)->NewShortArray(env,len);
185 if (rarray == NULL) {
186 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
191 sarray = (*env)->GetShortArrayElements(env,rarray,&bb);
192 if (sarray == NULL) {
193 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
200 for (ii = 0; ii < len; ii++) {
201 *iap = *(jshort *)bp;
203 bp +=
sizeof(jshort);
206 (*env)->ReleaseShortArrayElements(env,rarray,sarray, 0);
207 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
234 barr = (*env)->GetByteArrayElements(env,bdata,&bb);
239 blen = (*env)->GetArrayLength(env,bdata);
241 len = blen/
sizeof(jlong);
242 rarray = (*env)->NewLongArray(env,len);
243 if (rarray == NULL) {
244 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
249 larray = (*env)->GetLongArrayElements(env,rarray,&bb);
250 if (larray == NULL) {
251 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
258 for (ii = 0; ii < len; ii++) {
263 (*env)->ReleaseLongArrayElements(env,rarray,larray, 0);
264 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
291 barr = (*env)->GetByteArrayElements(env,bdata,&bb);
296 blen = (*env)->GetArrayLength(env,bdata);
298 len = blen/
sizeof(jdouble);
299 rarray = (*env)->NewDoubleArray(env,len);
300 if (rarray == NULL) {
301 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
306 darray = (*env)->GetDoubleArrayElements(env,rarray,&bb);
307 if (darray == NULL) {
308 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
315 for (ii = 0; ii < len; ii++) {
316 *iap = *(jdouble *)bp;
318 bp +=
sizeof(jdouble);
321 (*env)->ReleaseDoubleArrayElements(env,rarray,darray,0);
322 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
349 barr = (*env)->GetByteArrayElements(env,bdata,&bb);
355 blen = (*env)->GetArrayLength(env,bdata);
356 if ((start < 0) || ((start + (len*
sizeof(jint))) > blen)) {
357 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
362 bp = (
char *)barr + start;
364 rarray = (*env)->NewIntArray(env,len);
365 if (rarray == NULL) {
366 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
371 iarray = (*env)->GetIntArrayElements(env,rarray,&bb);
372 if (iarray == NULL) {
373 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
379 for (ii = 0; ii < len; ii++) {
385 (*env)->ReleaseIntArrayElements(env,rarray,iarray, 0);
386 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
413 barr = (*env)->GetByteArrayElements(env,bdata,&bb);
419 blen = (*env)->GetArrayLength(env,bdata);
420 if ((start < 0) || ((start + (len*(
sizeof(jshort)))) > blen)) {
421 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
422 raiseException( env,
"byteToShort: start or len is out of bounds");
426 bp = (
char *)barr + start;
428 rarray = (*env)->NewShortArray(env,len);
429 if (rarray == NULL) {
430 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
435 iarray = (*env)->GetShortArrayElements(env,rarray,&bb);
436 if (iarray == NULL) {
437 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
443 for (ii = 0; ii < len; ii++) {
444 *iap = *(jshort *)bp;
446 bp +=
sizeof(jshort);
449 (*env)->ReleaseShortArrayElements(env,rarray,iarray, 0);
450 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
477 barr = (*env)->GetByteArrayElements(env,bdata,&bb);
483 blen = (*env)->GetArrayLength(env,bdata);
484 if ((start < 0) || ((start + (len*(
sizeof(jfloat)))) > blen)) {
485 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
486 raiseException( env,
"byteToFloat: start or len is out of bounds");
490 bp = (
char *)barr + start;
492 rarray = (*env)->NewFloatArray(env,len);
493 if (rarray == NULL) {
494 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
499 iarray = (*env)->GetFloatArrayElements(env,rarray,&bb);
500 if (iarray == NULL) {
501 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
507 for (ii = 0; ii < len; ii++) {
508 *iap = *(jfloat *)bp;
510 bp +=
sizeof(jfloat);
513 (*env)->ReleaseFloatArrayElements(env,rarray,iarray, 0);
514 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
541 barr = (*env)->GetByteArrayElements(env,bdata,&bb);
547 blen = (*env)->GetArrayLength(env,bdata);
548 if ((start < 0) || ((start + (len*(
sizeof(jlong)))) > blen)) {
549 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
550 raiseException( env,
"byteToLong: start or len is out of bounds");
554 bp = (
char *)barr + start;
556 rarray = (*env)->NewLongArray(env,len);
557 if (rarray == NULL) {
558 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
563 iarray = (*env)->GetLongArrayElements(env,rarray,&bb);
564 if (iarray == NULL) {
565 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
571 for (ii = 0; ii < len; ii++) {
578 (*env)->ReleaseLongArrayElements(env,rarray,iarray, 0);
579 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
606 barr = (*env)->GetByteArrayElements(env,bdata,&bb);
612 blen = (*env)->GetArrayLength(env,bdata);
613 if ((start < 0) || ((start + (len*(
sizeof(jdouble)))) > blen)) {
614 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
615 raiseException( env,
"byteToDouble: start or len is out of bounds");
619 bp = (
char *)barr + start;
621 rarray = (*env)->NewDoubleArray(env,len);
622 if (rarray == NULL) {
623 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
628 iarray = (*env)->GetDoubleArrayElements(env,rarray,&bb);
629 if (iarray == NULL) {
631 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
636 for (ii = 0; ii < len; ii++) {
637 *iap = *(jdouble *)bp;
639 bp +=
sizeof(jdouble);
642 (*env)->ReleaseDoubleArrayElements(env,rarray,iarray, 0);
643 (*env)->ReleaseByteArrayElements(env,bdata,barr,JNI_ABORT);
675 iarr = (*env)->GetIntArrayElements(env,idata,&bb);
681 ilen = (*env)->GetArrayLength(env,idata);
682 if ((start < 0) || (((start + len)) > ilen)) {
683 (*env)->ReleaseIntArrayElements(env,idata,iarr,JNI_ABORT);
690 blen = ilen *
sizeof(jint);
691 rarray = (*env)->NewByteArray(env,blen);
692 if (rarray == NULL) {
693 (*env)->ReleaseIntArrayElements(env,idata,iarr,JNI_ABORT);
698 barray = (*env)->GetByteArrayElements(env,rarray,&bb);
699 if (barray == NULL) {
700 (*env)->ReleaseIntArrayElements(env,idata,iarr,JNI_ABORT);
706 for (ii = 0; ii < len; ii++) {
708 for (ij = 0; ij <
sizeof(jint); ij++) {
714 (*env)->ReleaseByteArrayElements(env,rarray,barray, 0);
715 (*env)->ReleaseIntArrayElements(env,idata,iarr,JNI_ABORT);
748 iarr = (*env)->GetShortArrayElements(env,idata,&bb);
754 ilen = (*env)->GetArrayLength(env,idata);
755 if ((start < 0) || (((start + len)) > ilen)) {
756 (*env)->ReleaseShortArrayElements(env,idata,iarr,JNI_ABORT);
757 raiseException( env,
"shortToByte: start or len is out of bounds");
763 blen = ilen *
sizeof(jshort);
764 rarray = (*env)->NewByteArray(env,blen);
765 if (rarray == NULL) {
766 (*env)->ReleaseShortArrayElements(env,idata,iarr,JNI_ABORT);
771 barray = (*env)->GetByteArrayElements(env,rarray,&bb);
772 if (barray == NULL) {
773 (*env)->ReleaseShortArrayElements(env,idata,iarr,JNI_ABORT);
779 for (ii = 0; ii < len; ii++) {
781 for (ij = 0; ij <
sizeof(jshort); ij++) {
787 (*env)->ReleaseByteArrayElements(env,rarray,barray, 0);
788 (*env)->ReleaseShortArrayElements(env,idata,iarr,JNI_ABORT);
821 iarr = (*env)->GetFloatArrayElements(env,idata,&bb);
827 ilen = (*env)->GetArrayLength(env,idata);
828 if ((start < 0) || (((start + len)) > ilen)) {
829 (*env)->ReleaseFloatArrayElements(env,idata,iarr,JNI_ABORT);
830 raiseException( env,
"floatToByte: start or len is out of bounds");
836 blen = ilen *
sizeof(jfloat);
837 rarray = (*env)->NewByteArray(env,blen);
838 if (rarray == NULL) {
839 (*env)->ReleaseFloatArrayElements(env,idata,iarr,JNI_ABORT);
844 barray = (*env)->GetByteArrayElements(env,rarray,&bb);
845 if (barray == NULL) {
846 (*env)->ReleaseFloatArrayElements(env,idata,iarr,JNI_ABORT);
852 for (ii = 0; ii < len; ii++) {
854 for (ij = 0; ij <
sizeof(jfloat); ij++) {
860 (*env)->ReleaseByteArrayElements(env,rarray,barray, 0);
861 (*env)->ReleaseFloatArrayElements(env,idata,iarr,JNI_ABORT);
894 iarr = (*env)->GetDoubleArrayElements(env,idata,&bb);
900 ilen = (*env)->GetArrayLength(env,idata);
901 if ((start < 0) || (((start + len)) > ilen)) {
902 (*env)->ReleaseDoubleArrayElements(env,idata,iarr,JNI_ABORT);
903 raiseException( env,
"doubleToByte: start or len is out of bounds");
909 blen = ilen *
sizeof(jdouble);
910 rarray = (*env)->NewByteArray(env,blen);
911 if (rarray == NULL) {
912 (*env)->ReleaseDoubleArrayElements(env,idata,iarr,JNI_ABORT);
917 barray = (*env)->GetByteArrayElements(env,rarray,&bb);
918 if (barray == NULL) {
919 (*env)->ReleaseDoubleArrayElements(env,idata,iarr,JNI_ABORT);
925 for (ii = 0; ii < len; ii++) {
927 for (ij = 0; ij <
sizeof(jdouble); ij++) {
933 (*env)->ReleaseByteArrayElements(env,rarray,barray, 0);
934 (*env)->ReleaseDoubleArrayElements(env,idata,iarr,JNI_ABORT);
968 iarr = (*env)->GetLongArrayElements(env,idata,&bb);
974 ilen = (*env)->GetArrayLength(env,idata);
975 if ((start < 0) || (((start + len)) > ilen)) {
976 (*env)->ReleaseLongArrayElements(env,idata,iarr,JNI_ABORT);
977 raiseException( env,
"longToByte: start or len is out of bounds?\n");
983 blen = ilen *
sizeof(jlong);
984 rarray = (*env)->NewByteArray(env,blen);
985 if (rarray == NULL) {
986 (*env)->ReleaseLongArrayElements(env,idata,iarr,JNI_ABORT);
991 barray = (*env)->GetByteArrayElements(env,rarray,&bb);
992 if (barray == NULL) {
993 (*env)->ReleaseLongArrayElements(env,idata,iarr,JNI_ABORT);
999 for (ii = 0; ii < len; ii++) {
1001 for (ij = 0; ij <
sizeof(jlong); ij++) {
1007 (*env)->ReleaseByteArrayElements(env,rarray,barray, 0);
1008 (*env)->ReleaseLongArrayElements(env,idata,iarr,JNI_ABORT);
1029 char bytes[
sizeof(int)];
1032 rarray = (*env)->NewByteArray(env,
sizeof(jint));
1033 if (rarray == NULL) {
1038 barray = (*env)->GetByteArrayElements(env,rarray,&bb);
1039 if (barray == NULL) {
1046 for (ij = 0; ij <
sizeof(jint); ij++) {
1051 (*env)->ReleaseByteArrayElements(env,rarray,barray, 0);
1069 char bytes[
sizeof(float)];
1072 rarray = (*env)->NewByteArray(env,
sizeof(jfloat));
1073 if (rarray == NULL) {
1078 barray = (*env)->GetByteArrayElements(env,rarray,&bb);
1079 if (barray == NULL) {
1086 for (ij = 0; ij <
sizeof(jfloat); ij++) {
1091 (*env)->ReleaseByteArrayElements(env,rarray,(jbyte *)barray, 0);
1109 char bytes[
sizeof(short)];
1112 rarray = (*env)->NewByteArray(env,
sizeof(jshort));
1113 if (rarray == NULL) {
1118 barray = (*env)->GetByteArrayElements(env,rarray,&bb);
1119 if (barray == NULL) {
1126 for (ij = 0; ij <
sizeof(jshort); ij++) {
1131 (*env)->ReleaseByteArrayElements(env,rarray,(jbyte *)barray, 0);
1151 char bytes[
sizeof(double)];
1154 rarray = (*env)->NewByteArray(env,
sizeof(jdouble));
1155 if (rarray == NULL) {
1160 barray = (*env)->GetByteArrayElements(env,rarray,&bb);
1161 if (barray == NULL) {
1168 for (ij = 0; ij <
sizeof(jdouble); ij++) {
1173 (*env)->ReleaseByteArrayElements(env,rarray,(jbyte *)barray, 0);
1192 char bytes[
sizeof(jlong)];
1195 rarray = (*env)->NewByteArray(env,
sizeof(jlong));
1196 if (rarray == NULL) {
1201 barray = (*env)->GetByteArrayElements(env,rarray,&bb);
1202 if (barray == NULL) {
1209 for (ij = 0; ij <
sizeof(jlong); ij++) {
1214 (*env)->ReleaseByteArrayElements(env,rarray,(jbyte *)barray, 0);
1233 char bytes[
sizeof(jbyte)];
1236 rarray = (*env)->NewByteArray(env,
sizeof(jbyte));
1237 if (rarray == NULL) {
1242 barray = (*env)->GetByteArrayElements(env,rarray,&bb);
1243 if (barray == NULL) {
1250 for (ij = 0; ij <
sizeof(jbyte); ij++) {
1255 (*env)->ReleaseByteArrayElements(env,rarray,(jbyte *)barray, 0);