primitive vector types

Mattias Holm hannibal.holm at gmail.com
Fri Feb 20 02:08:19 PST 2009


Yeah, this is good statistics and does point out that the vector add/mul/permute stuff are used whenever vectors are in use.

Intrinsics is one thing, however, better would be platform independent stuff. Altivec have a different syntax for the permute instructions than the SSE shuffle instructions, so in my mind primitive vectors should support all the basic operations of the base type such as +,-,* and / for float vectors. Permutation should be supported with the OpenCL-like syntax (as it is easy to remember) as I suggested.

Stuff like cross and dot products are up for libraries in my opinion (but could be nice as operators for readability issues, but this is probably not worth the hassle unless there is a way to override operators for standard types, which is probably a bad idea anyway, better would be proper unicode support and a way to define infix functions so it is possible define a cross product function with the proper cross product operator as function name on a library level).

/ Mattias



More information about the Digitalmars-d mailing list