So I was reading the documentation page:
http://dlang.org/simd.html and noticed what appears to be a typo:
int4 v;
(cast(int*)&v)[3] = 2; // set 3rd element of the 4 int vector
(cast(int[4])v)[3] = 2; // set 3rd element of the 4 int vector
v.array[3] = 2; // set 3rd element of the 4 int vector
v.ptr[3] = 2; // set 3rd element of the 4 int vector
v.array[3] = 2; and v.ptr[3] = 2; set the fourth element, and not
the third.
As I was verifying this, I realized I had to compile it in 64 bit
code. The 32 bit code produced the error "SIMD vector types not
supported on this platform".
My test code is:
void main() {
import std.stdio;
import core.simd;
int4 v = 7;
v.ptr[3] = 2;
writeln(v.array[]);
}
Is that related to me compiling while using a 64 bit OS, or is
that true of any 32 bit OS, and thus, vectors can't be used in
programs intended to be run on 32 bit OSs?
Thanks,
Charles