In the above example, dot method accepts entry address of given two vectors and computes the dot product of the values they have.
Hence, in the test case 21, dot($lhs,$rhs) should return 31.25e0, where $lhs is the entry address of the CArray[Feature] (the values it has are 2.5e0 xx 5) and $rhs is the entry address of the other CArray[Feature] (the values it has are 2.5e0 xx 5).
However, in fact, it returns 6.25e0.
It seems that dot function in C side receive the entry address of the given vector correctly, but it fails in incrementing the pointer address and points a irrelevant address, because CArray cannot allocate contiguous memory.
I think that NativeCall needs something for allocating contiguous memory.