swig/Examples/test-suite/javascript/li_cdata_carrays_cpp_runme.js

22 lines
569 B
JavaScript

var li_cdata_carrays_cpp = require("li_cdata_carrays_cpp");
ia = new li_cdata_carrays_cpp.intArray(5);
for(i = 0; i < 5; i++) {
ia.setitem(i, i * i);
}
y = li_cdata_carrays_cpp.cdata_int(ia.cast(), 5);
const INT_SIZE = 4; // We assume int uses 4 bytes
// The numbers are smaller than 256
// so we can simply sum and skip endian issues
a = [0, 0, 0, 0, 0];
for(j = 0; j < 5; j++) {
for(i = 0; i < INT_SIZE; i++) {
a[j] += 0 + y[j * INT_SIZE + i];
}
}
if (a[0] !== 0 || a[1] !== 1 || a[2] !== 4 || a[3] !== 9 || a[4] !== 16) {
throw new Error("failed");
}