primitive vector types

Denis Koroskin 2korden at gmail.com
Thu Feb 19 11:58:51 PST 2009


On Thu, 19 Feb 2009 22:25:04 +0300, Mattias Holm <hannibal.holm at gmail.com>  
wrote:

> Since (SIMD) vectors are so common and every reasonabe system support  
> them in one way or the other (and scalar emulation of this is rather  
> simple), why not have support for this in D directly?
>
> Yes, the array operations are nice (and one of the main reasons for why  
> I like D :) ), but have the problem that an array of floats must be  
> aligned on float boundaries and not vector boundaries. In my mind  
> vectors are a primitive data type that should be exposed by the  
> programming language.
>
> Something OpenCL-like:
>
> 	float4 vec;
> 	vec.xyzw = {1.0,1.0, 1.0, 1.0}; // assignment
> 	vec.xyzw = vec.wyxz; // permutation
> 	vec[i] = 1.0; // indexing
>
> And then we can easily immagine some extra nice features to have with  
> respect to operators:
>
> 	vec ^ vec2; // 3d cross product for float vectors, for int vectors xor
>
> Has this been discussed before?
>
> / Mattias
>

I don't see any reason why float4 can't be made a library type.



More information about the Digitalmars-d mailing list