On 01/13/2012 11:36 PM, Andrei Alexandrescu wrote:
On 1/13/12 3:08 PM, Manu wrote:
On 13 January 2012 22:57, bearophile <bearophileh...@lycos.com
<mailto:bearophileh...@lycos.com>> wrote:

Walter:

> What's our vector, Victor?
> http://www.youtube.com/watch?v=fVq4_HhBK8Y

Thank you Walter :-)


> If int4 is out, I'd prefer something like vint4. Something short.

Current names:

void16
double2
float4
byte16
ubyte16
short8
ushort8
int4
uint4
long2

Your suggestion:

vvoid16
vdouble2
vfloat4
vbyte16
vubyte16
vshort8
vushort8
vint4
vuint4
vlong2


My suggestion:

void16v
double2v
float4v
byte16v
ubyte16v
short8v
ushort8v
int4v
uint4v
long2v

Bye,
bearophile


I think I'd vote for leaving it as it is, swayed by the fact that the
more ambiguous types are super-rarely used. float4/int4 has a nice
familiarity with HLSL/Cg.

All names should have a __ prepended, and then the library defines names
for them such as vec!(int, 4) that obey module lookup and all. Dumping a
wheelbarrow of confusable new keywords doesn't sound right at all.

Andrei

All of those are library types defined in core.simd.

For example, float4 is declared as

alias Vector!(float[4]) float4

And Vector simply hides what is built-in.

template Vector(T){
    alias __vector(T) Vector;
}

I think this is a very clean design.



Reply via email to