Module ocl_core::types::vectors [] [src]

OpenCL vector types.

These types should have the same memory layout no matter which repr is used. The default (repr(rust)) will be used until SIMD support is stable and its use can be evaluated. If using any of these types within another struct, memory alignment must be managed manually using spacing, etc. (OPEN QUESTION: Does using repr(simd) somehow help in this case?). If using within a Vec (typical usage, i.e.: Vec<ClFloat4>) you don't need to worry about it.

[TODO]: Create a macro to implement Index, mathematical operations such as Add, Mul, etc., and whatever else.

Not sure about swizzling interfaces or if they'll ever be realistic. Obviously for now just use .0, .1, .2, etc.

Structs

ClChar16
ClChar2
ClChar3
ClChar4
ClChar8
ClDouble16
ClDouble2
ClDouble3
ClDouble4
ClDouble8
ClFloat16
ClFloat2
ClFloat3
ClFloat4
ClFloat8
ClInt16
ClInt2
ClInt3
ClInt4
ClInt8
ClLong1
ClLong16
ClLong2
ClLong3
ClLong4
ClLong8
ClShort16
ClShort2
ClShort3
ClShort4
ClShort8
ClUchar16
ClUchar2
ClUchar3
ClUchar4
ClUchar8
ClUint16
ClUint2
ClUint3
ClUint4
ClUint8
ClUlong1
ClUlong16
ClUlong2
ClUlong3
ClUlong4
ClUlong8
ClUshort16
ClUshort2
ClUshort3
ClUshort4
ClUshort8