ประเภทตัวเลขของ RenderScript

ภาพรวม

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 บิต