ภาพรวม
Scalar
RenderScript รองรับประเภทตัวเลขสเกลาร์ต่อไปนี้
8 บิต | 16 บิต | 32 บิต | 64 บิต | |
จำนวนเต็ม: | char, int8_t | short, int16_t | int32_t | long, long long, int64_t |
จํานวนเต็มที่ไม่มีการรับรอง | uchar, uint8_t | ushort, uint16_t | uint, uint32_t | ulong, uint64_t |
จุดลอยตัว | ครึ่งหนึ่ง | float | คู่ |
เวกเตอร์
RenderScript รองรับเวกเตอร์ขนาดคงที่ที่มีความยาว 2, 3 และ 4 เวกเตอร์จะประกาศโดยใช้ชื่อประเภททั่วไปตามด้วย 2, 3 หรือ 4 เช่น float4, int3, double2, ulong4
หากต้องการสร้างลิเทอรัลเวกเตอร์ ให้ใช้ประเภทเวกเตอร์ตามด้วยค่าที่ใส่ไว้ระหว่างวงเล็บปีกกา เช่น (float3){1.0f, 2.0f, 3.0f}
คุณสามารถเข้าถึงรายการของเวกเตอร์ได้โดยใช้รูปแบบการตั้งชื่อที่แตกต่างกัน
คุณสามารถเข้าถึงรายการเดี่ยวได้โดยใส่จุดตามหลังชื่อตัวแปรแล้วทำดังนี้
- ตัวอักษร x, y, z และ w
- ตัวอักษร r, g, b และ a
- ตัวอักษร s หรือ S ตามด้วยดัชนีแบบนับจาก 0
ตัวอย่างเช่น เมื่อใช้ int4 myVar;
เงื่อนไขต่อไปนี้จะเทียบเท่ากัน
myVar.x == myVar.r == myVar.s0 == myVar.S0
myVar.y == myVar.g == myVar.s1 == myVar.S1
myVar.z == myVar.b == myVar.s2 == myVar.S2
myVar.w == myVar.a == myVar.s3 == myVar.S3
คุณสามารถเข้าถึงหลายรายการของเวกเตอร์พร้อมกันได้โดยใช้ตัวระบุซึ่งเป็นการต่อตัวอักษรหรือดัชนีหลายรายการ เวกเตอร์ที่ได้จะมีขนาดเท่ากับจํานวนรายการที่มีชื่อ
จากตัวอย่างข้างต้น คุณจะเข้าถึง 2 รายการตรงกลางได้โดยใช้ myVar.yz
, myVar.gb
, myVar.s12
และ myVar.S12
โดยรายการไม่จำเป็นต้องอยู่ติดกันหรือเรียงตามลำดับจากน้อยไปมาก รายการอาจซ้ำกันได้ ตราบใดที่เราไม่ได้พยายามกำหนดค่าให้กับรายการนั้น นอกจากนี้ คุณยังใช้รูปแบบการตั้งชื่อแบบผสมไม่ได้
ตัวอย่างสิ่งที่ทำได้หรือทำไม่ได้มีดังนี้
float4 v4;
float3 v3;
float2 v2;
v2 = v4.xx; // Valid
v3 = v4.zxw; // Valid
v3 = v4.bba; // Valid
v3 = v4.s032; // Valid
v3.s120 = v4.S233; // Valid
v4.yz = v3.rg; // Valid
v4.yzx = v3.rg; // Invalid: mismatched sizes
v4.yzz = v3; // Invalid: z appears twice in an assignment
v3 = v3.xas0; // Invalid: can't mix xyzw with rgba nor s0...
v3 = v4.s034; // Invalid: the digit can only be 0, 1, 2, or 3
เมทริกซ์และควอร์เทอร์ไบน์:
RenderScript รองรับเมทริกซ์สี่เหลี่ยมจัตุรัสขนาดคงที่ของประเภท float ขนาด 2x2, 3x3 และ 4x4 โดยประเภทต่างๆ มีชื่อว่า rs_matrix2x2, rs_matrix3x3 และ rs_matrix4x4 ดูรายการการดำเนินการได้ที่ฟังก์ชันเมทริกซ์
นอกจากนี้ ระบบยังรองรับควอร์เทอร์เนิดผ่าน rs_quaternion ด้วย ดูรายการการดำเนินการได้ที่ฟังก์ชันควอร์เทอร์เลียน
สรุป
ประเภท | |
---|---|
char2 | จํานวนเต็มแบบมีเครื่องหมาย 8 บิต 2 รายการ |
char3 | จํานวนเต็มแบบมีเครื่องหมาย 8 บิต 3 รายการ |
char4 | จํานวนเต็มแบบมีเครื่องหมาย 8 บิต 4 รายการ |
double2 | จํานวนลอยตัว 64 บิต 2 รายการ |
double3 | ทศนิยม 64 บิต 3 รายการ |
double4 | จำนวนลอยตัว 64 บิต 4 รายการ |
float2 | จํานวนลอยตัว 32 บิต 2 รายการ |
float3 | ทศนิยม 32 บิต 3 รายการ |
float4 | ทศนิยม 32 บิต 4 รายการ |
half | ค่าจุดลอยตัว 16 บิต |
half2 | จำนวนทศนิยม 16 บิต 2 รายการ |
half3 | จำนวนลอยตัว 16 บิต 3 รายการ |
half4 | จำนวนลอยตัว 16 บิต 4 รายการ |
int16_t | จํานวนเต็มแบบ 16 บิตที่มีเครื่องหมาย |
int2 | จํานวนเต็มแบบมีเครื่องหมาย 32 บิต 2 รายการ |
int3 | จํานวนเต็มแบบมีเครื่องหมาย 32 บิต 3 รายการ |
int32_t | จํานวนเต็มแบบมีเครื่องหมาย 32 บิต |
int4 | จํานวนเต็มแบบมีเครื่องหมาย 32 บิต 4 รายการ |
int64_t | จํานวนเต็มแบบมีเครื่องหมาย 64 บิต |
int8_t | จํานวนเต็มแบบมีเครื่องหมาย 8 บิต |
long2 | จํานวนเต็มแบบมีเครื่องหมาย 64 บิต 2 รายการ |
long3 | จํานวนเต็มแบบมีเครื่องหมาย 64 บิต 3 รายการ |
long4 | จํานวนเต็มแบบมีเครื่องหมาย 64 บิต 4 รายการ |
rs_matrix2x2 | เมทริกซ์ 2x2 ของจำนวนลอยตัว 32 บิต |
rs_matrix3x3 | แมทริกซ์ 3x3 ของจำนวนลอยตัว 32 บิต |
rs_matrix4x4 | เมทริกซ์ 4x4 ของจำนวนลอยตัว 32 บิต |
rs_quaternion | ควอเทอร์เนียน |
short2 | จํานวนเต็มแบบมีเครื่องหมาย 16 บิต 2 รายการ |
short3 | จํานวนเต็มแบบมีเครื่องหมาย 16 บิต 3 รายการ |
short4 | จํานวนเต็มแบบมีเครื่องหมาย 16 บิต 4 รายการ |
size_t | ประเภทขนาดที่ไม่มีการรับรอง |
ssize_t | ประเภทขนาดที่ลงนาม |
uchar | จํานวนเต็มแบบไม่ลงนาม 8 บิต |
uchar2 | จํานวนเต็ม 8 บิตแบบไม่มีเครื่องหมาย 2 รายการ |
uchar3 | จํานวนเต็ม 8 บิตแบบไม่มีเครื่องหมาย 3 รายการ |
uchar4 | จํานวนเต็มแบบไม่มีเครื่องหมาย 8 บิต 4 รายการ |
uint | จํานวนเต็มแบบไม่ลงนาม 32 บิต |
uint16_t | จํานวนเต็มแบบไม่ลงนาม 16 บิต |
uint2 | จำนวนเต็มแบบไม่ลงนาม 32 บิต 2 รายการ |
uint3 | จํานวนเต็ม 32 บิตแบบไม่ลงนาม 3 รายการ |
uint32_t | จํานวนเต็มแบบไม่ลงนาม 32 บิต |
uint4 | จํานวนเต็ม 32 บิตแบบไม่ลงนาม 4 รายการ |
uint64_t | จํานวนเต็ม 64 บิตแบบไม่มีเครื่องหมาย |
uint8_t | จํานวนเต็มแบบไม่ลงนาม 8 บิต |
ulong | จํานวนเต็ม 64 บิตแบบไม่มีเครื่องหมาย |
ulong2 | จํานวนเต็ม 64 บิตแบบไม่มีเครื่องหมาย 2 รายการ |
ulong3 | จํานวนเต็ม 64 บิตแบบไม่มีเครื่องหมาย 3 รายการ |
ulong4 | จํานวนเต็ม 64 บิตแบบไม่มีเครื่องหมาย 4 รายการ |
ushort | จํานวนเต็มแบบไม่ลงนาม 16 บิต |
ushort2 | จํานวนเต็มแบบไม่ลงนาม 16 บิต 2 รายการ |
ushort3 | จํานวนเต็มแบบไม่ลงนาม 16 บิต 3 รายการ |
ushort4 | จํานวนเต็มแบบไม่ลงนาม 16 บิต 4 รายการ |
ประเภท
char2 : จำนวนเต็ม 8 บิตที่มีเครื่องหมาย 2 รายการ
typedef ของ: char __attribute__((ext_vector_type(2)))
เวกเตอร์ของ 2 อักขระ ระบบจะแพ็ก 2 อักขระเหล่านี้ลงในช่อง 16 บิตช่องเดียวโดยมีการจัดแนว 16 บิต
char3 : จำนวนเต็ม 8 บิตที่มีเครื่องหมาย 3 รายการ
typedef ของ: char __attribute__((ext_vector_type(3)))
เวกเตอร์ของ 3 อักขระ ระบบจะแพ็กอักขระ 3 ตัวเหล่านี้ลงในฟิลด์ 32 บิตเดียวโดยมีการจัดแนว 32 บิต
char4 : จำนวนเต็ม 8 บิตที่มีเครื่องหมาย 4 รายการ
typedef ของ: char __attribute__((ext_vector_type(4)))
เวกเตอร์ของ 4 อักขระ ระบบจะแพ็กอักขระ 4 ตัวเหล่านี้ไว้ในฟิลด์ 32 บิตเดียวโดยมีการจัดแนว 32 บิต
double2 : ตัวเลขทศนิยม 64 บิต 2 รายการ
typedef ของ: double __attribute__((ext_vector_type(2)))
เวกเตอร์ของเลขทศนิยม 2 รายการ ฟิลด์แบบ Double 2 รายการนี้จัดเก็บไว้ในฟิลด์ 128 บิตเดียวโดยมีการจัดแนว 128 บิต
double3 : ตัวเลขทศนิยม 64 บิต 3 รายการ
typedef ของ: double __attribute__((ext_vector_type(3)))
เวกเตอร์ของเลขทศนิยม 3 รายการ ฟิลด์แบบ Double 3 รายการเหล่านี้จะจัดแพ็กลงในฟิลด์ 256 บิตเดียวโดยมีการจัดแนว 256 บิต
double4 : ตัวเลขทศนิยม 64 บิต 4 รายการ
typedef ของ: double __attribute__((ext_vector_type(4)))
เวกเตอร์ของเลขทศนิยม 4 รายการ ฟิลด์แบบ Double 4 รายการเหล่านี้จะจัดแพ็กลงในฟิลด์ 256 บิตเดียวโดยมีการจัดแนว 256 บิต
float2 : ตัวเลขทศนิยม 32 บิต 2 รายการ
typedef ของ: float __attribute__((ext_vector_type(2)))
เวกเตอร์ของตัวเลขทศนิยม 2 รายการ ระบบจะแพ็ก Float 2 รายการนี้ไว้ในช่อง 64 บิตช่องเดียวโดยมีการจัดแนว 64 บิต
เวกเตอร์ของตัวเลขทศนิยม 2 รายการ ระบบจะแพ็ก Float 2 รายการนี้ไว้ในช่อง 64 บิตช่องเดียวโดยมีการจัดแนว 64 บิต
float3 : จำนวนลอยตัว 32 บิต 3 รายการ
typedef ของ: float __attribute__((ext_vector_type(3)))
เวกเตอร์ของตัวเลขทศนิยม 3 รายการ ระบบจะแพ็ก Float 3 รายการเหล่านี้ไว้ในช่อง 128 บิตช่องเดียวโดยมีการจัดแนว 128 บิต
float4 : ตัวเลขทศนิยม 32 บิต 4 รายการ
typedef ของ: float __attribute__((ext_vector_type(4)))
เวกเตอร์ประเภท Float 4 รายการ ระบบจะแพ็ก Float 4 รายการเหล่านี้ไว้ในช่อง 128 บิตช่องเดียวโดยมีการจัดแนว 128 บิต
half : ค่าทศนิยม 16 บิต
typedef ของ: __fp16 เพิ่มใน API ระดับ 23
ค่าทศนิยม 16 บิต
half2 : ตัวเลขทศนิยม 16 บิต 2 รายการ
typedef ของ: half __attribute__((ext_vector_type(2))) เพิ่มใน API ระดับ 23
เวอร์ชันเวกเตอร์ของประเภทครึ่งลอย มีฟิลด์ครึ่งหนึ่ง 2 ฟิลด์ที่แพ็กรวมกันเป็นฟิลด์ 32 บิตเดียวโดยมีการจัดแนว 32 บิต
half3 : เลขทศนิยม 16 บิต 3 รายการ
typedef ของ: half __attribute__((ext_vector_type(3))) เพิ่มใน API ระดับ 23
เวอร์ชันเวกเตอร์ของประเภทครึ่งลอย มีช่องครึ่ง 3 ช่องที่แพ็กเป็นช่อง 64 บิตช่องเดียวโดยมีการจัดแนว 64 บิต
half4 : เลขทศนิยม 16 บิต 4 รายการ
typedef ของ: half __attribute__((ext_vector_type(4))) เพิ่มใน API ระดับ 23
เวอร์ชันเวกเตอร์ของประเภทครึ่งลอย มีช่องครึ่งหนึ่ง 4 ช่องที่แพ็กรวมกันเป็นช่อง 64 บิตช่องเดียวโดยมีการจัดแนว 64 บิต
int16_t : จำนวนเต็มแบบลงนาม 16 บิต
ประเภทข้อมูลของ: short
ประเภทจำนวนเต็มแบบมีเครื่องหมาย 16 บิต
int2 : จำนวนเต็ม 32 บิตที่มีเครื่องหมาย 2 รายการ
typedef ของ: int __attribute__((ext_vector_type(2)))
เวกเตอร์ของ int 2 รายการ ระบบจะแพ็ก int 2 รายการนี้ลงในช่อง 64 บิตช่องเดียวโดยมีการจัดแนว 64 บิต
int3 : จำนวนเต็ม 32 บิตที่มีเครื่องหมาย 3 รายการ
typedef ของ: int __attribute__((ext_vector_type(3)))
เวกเตอร์ของ int 3 รายการ ระบบจะแพ็ก int 3 รายการเหล่านี้ลงในช่อง 128 บิตช่องเดียวโดยมีการจัดแนว 128 บิต
int32_t : จํานวนเต็ม 32 บิตแบบมีเครื่องหมาย
typedef ของ: int
ประเภทจำนวนเต็มแบบมีเครื่องหมาย 32 บิต
int4 : จำนวนเต็ม 32 บิตที่มีเครื่องหมาย 4 รายการ
typedef ของ: int __attribute__((ext_vector_type(4)))
เวกเตอร์ของ int 4 รายการ ระบบจะแพ็กเลข 4 ตัวนี้ลงในช่อง 128 บิตช่องเดียวโดยมีการจัดแนว 128 บิต
int64_t : จํานวนเต็มแบบ 64 บิตที่มีเครื่องหมาย
typedef ของ: long long นําออกจาก API ระดับ 21 ขึ้นไป
typedef ของ: long เพิ่มใน API ระดับ 21
ประเภทจำนวนเต็มแบบมีเครื่องหมาย 64 บิต
int8_t : จำนวนเต็ม 8 บิตที่มีเครื่องหมาย
typedef ของ: char
ประเภทจำนวนเต็มแบบมีเครื่องหมาย 8 บิต
long2 : จำนวนเต็มแบบมีเครื่องหมาย 64 บิต 2 รายการ
typedef ของ: long __attribute__((ext_vector_type(2)))
เวกเตอร์ของ Long 2 รายการ ระบบจะแพ็ก Long 2 รายการนี้ลงในช่อง 128 บิตช่องเดียวโดยมีการจัดแนว 128 บิต
long3 : จํานวนเต็มที่มีเครื่องหมาย 64 บิต 3 รายการ
typedef ของ: long __attribute__((ext_vector_type(3)))
เวกเตอร์ของ Long 3 รายการ ระบบจะแพ็ก Long 3 รายการเหล่านี้ไว้ในฟิลด์ 256 บิตเดียวโดยมีการจัดแนว 256 บิต
long4 : จํานวนเต็มที่มีเครื่องหมาย 64 บิต 4 รายการ
typedef ของ: long __attribute__((ext_vector_type(4)))
เวกเตอร์ของ Long 4 รายการ ระบบจะแพ็ก Long 4 รายการเหล่านี้ลงในช่อง 256 บิตช่องเดียวโดยมีการจัดแนว 256 บิต
rs_matrix2x2 : ตาราง 2x2 ของตัวเลขทศนิยม 32 บิต
โครงสร้างที่มีช่องต่อไปนี้
float m[4] |
---|
เมทริกซ์สี่เหลี่ยมจัตุรัส 2x2 ของตัวเลขทศนิยม ระบบจะจัดเก็บรายการไว้ในอาร์เรย์ที่ตําแหน่ง [row*2 + col]
rs_matrix3x3 : เมทริกซ์ 3x3 ของตัวเลขทศนิยม 32 บิต
โครงสร้างที่มีช่องต่อไปนี้
float m[9] |
---|
เมทริกซ์จัตุรัส 3x3 ของตัวเลขทศนิยม ระบบจะจัดเก็บรายการไว้ในอาร์เรย์ที่ตําแหน่ง [row*3 + col]
rs_matrix4x4 : เมทริกซ์ 4x4 ของตัวเลขทศนิยม 32 บิต
โครงสร้างที่มีช่องต่อไปนี้
float m[16] |
---|
เมทริกซ์จัตุรัส 4x4 ของตัวเลขทศนิยม ระบบจะจัดเก็บรายการไว้ในอาร์เรย์ที่ตําแหน่ง [row*4 + col]
rs_quaternion : Quaternion
typedef ของ: float4
เมทริกซ์สี่เหลี่ยมจัตุรัส 4x4 ของตัวเลขทศนิยมที่แสดงถึงควอตเทอร์เนิด
short2 : จำนวนเต็ม 16 บิตที่มีเครื่องหมาย 2 รายการ
typedef ของ: short __attribute__((ext_vector_type(2)))
เวกเตอร์ของ Shorts 2 รายการ 2 รายการนี้ได้รับการจัดแพ็กลงในช่อง 32 บิตช่องเดียวที่มีการจัดแนว 32 บิต
short3 : จำนวนเต็ม 16 บิตที่มีเครื่องหมาย 3 รายการ
typedef ของ: short __attribute__((ext_vector_type(3)))
เวกเตอร์ของ Shorts 3 รายการ ฟิลด์สั้น 3 ฟิลด์เหล่านี้จะรวมกันเป็นฟิลด์ 64 บิตฟิลด์เดียวที่มีการจัดแนว 64 บิต
short4 : จำนวนเต็ม 16 บิตที่มีเครื่องหมาย 4 รายการ
typedef ของ: short __attribute__((ext_vector_type(4)))
เวกเตอร์ของ Shorts 4 รายการ ฟิลด์สั้น 4 ฟิลด์เหล่านี้จะรวมกันเป็นฟิลด์ 64 บิตเดียวโดยมีการจัดแนว 64 บิต
size_t : ประเภทขนาดแบบไม่ลงนาม
typedef ของ: uint64_t เมื่อคอมไพล์สำหรับ 64 บิต
typedef ของ: uint32_t เมื่อคอมไพล์สำหรับ 32 บิต
ประเภทขนาดแบบไม่ลงนาม จำนวนบิตจะขึ้นอยู่กับ Flag การคอมไพล์
ssize_t : ประเภทขนาดที่มีค่าลงท้าย
typedef ของ: int64_t เมื่อคอมไพล์สำหรับ 64 บิต
typedef ของ: int32_t เมื่อคอมไพล์สำหรับ 32 บิต
ประเภทขนาดแบบมีเครื่องหมาย จำนวนบิตจะขึ้นอยู่กับ Flag การคอมไพล์
uchar : จำนวนเต็มแบบไม่ลงนาม 8 บิต
typedef ของ: uint8_t
ประเภทจำนวนเต็มแบบไม่ลงนาม 8 บิต
uchar2 : จำนวนเต็ม 8 บิตแบบไม่ลงนาม 2 รายการ
typedef ของ uchar __attribute__((ext_vector_type(2)))
เวกเตอร์ของ uchar 2 รายการ ฟิลด์ uchar 2 รายการนี้จัดเก็บไว้ในฟิลด์ 16 บิตเดียวโดยมีการจัดแนว 16 บิต
uchar3 : จำนวนเต็ม 8 บิตแบบไม่ลงนาม 3 รายการ
typedef ของ uchar __attribute__((ext_vector_type(3)))
เวกเตอร์ของ uchar 3 รายการ ฟิลด์ uchar 3 รายการเหล่านี้จะจัดแพ็กลงในฟิลด์ 32 บิตเดียวโดยมีการจัดแนว 32 บิต
uchar4 : จำนวนเต็ม 8 บิตที่ไม่มีเครื่องหมาย 4 รายการ
typedef ของ uchar __attribute__((ext_vector_type(4)))
เวกเตอร์ของ uchar 4 ตัว ฟิลด์ uchar 4 รายการเหล่านี้จะจัดแพ็กเป็นฟิลด์ 32 บิตเดียวโดยมีการจัดแนว 32 บิต
uint : จํานวนเต็มแบบไม่ลงนาม 32 บิต
typedef ของ uint32_t
ประเภทจำนวนเต็มแบบ 32 บิตที่ไม่มีการนําหน้า
uint16_t : จำนวนเต็มแบบไม่ลงนาม 16 บิต
typedef ของ: unsigned short
ประเภทจำนวนเต็มแบบไม่ลงนาม 16 บิต
uint2 : จำนวนเต็ม 32 บิตแบบไม่ลงนาม 2 รายการ
typedef ของ: uint __attribute__((ext_vector_type(2)))
เวกเตอร์ของ uint 2 รายการ ระบบจะแพ็ก uint 2 รายการนี้ลงในช่อง 64 บิตช่องเดียวโดยมีการจัดแนว 64 บิต
uint3 : จำนวนเต็ม 32 บิตแบบไม่ลงนาม 3 รายการ
typedef ของ: uint __attribute__((ext_vector_type(3)))
เวกเตอร์ของ uint 3 รายการ ระบบจะแพ็ก uint 3 รายการเหล่านี้ลงในช่อง 128 บิตช่องเดียวโดยมีการจัดแนว 128 บิต
uint32_t : จํานวนเต็มแบบไม่ลงนาม 32 บิต
typedef ของ: unsigned int
ประเภทจำนวนเต็มแบบ 32 บิตที่ไม่มีการนําหน้า
uint4 : จำนวนเต็ม 32 บิตที่ไม่มีค่าลงท้าย 4 รายการ
typedef ของ: uint __attribute__((ext_vector_type(4)))
เวกเตอร์ของ uint 4 รายการ ระบบจะแพ็ก uint 4 รายการเหล่านี้ลงในช่อง 128 บิตช่องเดียวที่มีการจัดแนว 128 บิต
uint64_t : จํานวนเต็มแบบไม่ลงนาม 64 บิต
typedef ของ: unsigned long long นําออกจาก API ระดับ 21 ขึ้นไป
typedef ของ: unsigned long เพิ่มใน API ระดับ 21
ประเภทจำนวนเต็ม 64 บิตแบบไม่มีเครื่องหมาย
uint8_t : จำนวนเต็มแบบไม่ลงนาม 8 บิต
typedef ของ unsigned char
ประเภทจำนวนเต็มแบบไม่ลงนาม 8 บิต
ulong : จำนวนเต็มแบบไม่ลงนาม 64 บิต
typedef ของ: uint64_t
ประเภทจำนวนเต็ม 64 บิตแบบไม่มีเครื่องหมาย
ulong2 : จำนวนเต็มแบบไม่ลงนาม 64 บิต 2 รายการ
typedef ของ: ulong __attribute__((ext_vector_type(2)))
เวกเตอร์ของ ulong 2 รายการ ulong 2 รายการนี้ได้รับการจัดแพ็กลงในช่อง 128 บิตช่องเดียวที่มีการจัดแนว 128 บิต
ulong3 : จำนวนเต็มแบบไม่ลงนาม 64 บิต 3 รายการ
typedef ของ ulong __attribute__((ext_vector_type(3)))
เวกเตอร์ของ ulong 3 รายการ ฟิลด์ ulong 3 รายการเหล่านี้จะจัดแพ็กลงในฟิลด์ 256 บิตเดียวโดยมีการจัดแนว 256 บิต
ulong4 : จำนวนเต็ม 64 บิตที่ไม่มีเครื่องหมาย 4 รายการ
typedef ของ: ulong __attribute__((ext_vector_type(4)))
เวกเตอร์ของ ulong 4 รายการ ฟิลด์ ulong 4 รายการเหล่านี้จะจัดแพ็กลงในฟิลด์ 256 บิตเดียวโดยมีการจัดแนว 256 บิต
ushort : จำนวนเต็มแบบไม่ลงนาม 16 บิต
typedef ของ: uint16_t
ประเภทจำนวนเต็มแบบไม่ลงนาม 16 บิต
ushort2 : จำนวนเต็ม 16 บิตแบบไม่ลงนาม 2 รายการ
typedef ของ: ushort __attribute__((ext_vector_type(2)))
เวกเตอร์ของ ushort 2 รายการ ฟิลด์ ushort 2 ฟิลด์เหล่านี้จะจัดแพ็กลงในฟิลด์ 32 บิตเดียวโดยมีการจัดแนว 32 บิต
ushort3 : จำนวนเต็ม 16 บิตแบบไม่ลงนาม 3 รายการ
typedef ของ: ushort __attribute__((ext_vector_type(3)))
เวกเตอร์ของ ushort 3 รายการ ฟิลด์ ushort 3 รายการเหล่านี้จะจัดแพ็กลงในฟิลด์ 64 บิตเดียวโดยมีการจัดแนว 64 บิต
ushort4 : จำนวนเต็ม 16 บิตแบบไม่ลงนาม 4 รายการ
typedef ของ: ushort __attribute__((ext_vector_type(4)))
เวกเตอร์ของ ushort 4 รายการ ฟิลด์ ushort 4 รายการเหล่านี้จะจัดแพ็กลงในฟิลด์ 64 บิตเดียวโดยมีการจัดแนว 64 บิต