Android API Guides---RenderScript Numerical Types

RenderScript Numerical Types

概观
标量:
RenderScript支持以下标量数值类型:

8 bits 16 bits 32 bits 64 bits
Integer: char, int8_t short, int16_t int32_t long, long long, int64_t
Unsigned integer: uchar, uint8_t ushort, uint16_t uint, uint32_t ulong, uint64_t
Floating point:     float double
向量:


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和一,
字母S或S,其次是从零开始的索引。
例如,用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


载体的多个条目可以一次使用一个标识符是多个字母或指数的级联获得。所得载体的尺寸等于命名条目的数量。


与上面的例子中,中间的两个项可以使用myVar.yz,myVar.gb,myVar.s12和myVar.S12进行访问。


项不必是连续的或递增的顺序。参赛作品甚至可以重复的,只要我们不是要分配给它。你也不能混用的命名风格。


下面是可以或不可以做的例子:
float4变量V4;
FLOAT3 V3;
FLOAT2 V2;
V2 = V4.XX; //有效
V3 = v4.zxw; //有效
V3 = v4.bba; //有效
V3 = v4.s032; //有效
v3.s120 = v4.S233; //有效
v4.yz = v3.rg; //有效
v4.yzx = v3.rg; //无效:大小不匹配
v4.yzz = V3; //无效:Z在分配中出现两次
V3 = v3.xas0; //无效:不能与RGBA也不S0混合XYZW ...
V3 = v4.s034; //无效:数字只能是0,1,2或3


矩阵和四元数:


RenderScript支持2x2的大小,3x3的,和4x4的彩车固定大小的方阵。类型命名rs_matrix2x2,rs_matrix3x3和rs_matrix4x4。见矩阵函数用于操作的列表。


四元数通过rs_quaternion也支持。见Quaterion功能的操作的列表。


概要


类型
CHAR2 2个8位有符号整数
CHAR3 3个8位有符号整数
char4 4个8位有符号整数
double2两个64位浮点数
double3 3个64位浮点数
double4 4个64位浮点数
FLOAT2 2个32位浮点数
FLOAT3三个32位浮点数
第四个float4 32位浮点数
int16_t 16位有符号整数
int2,则2个32位有符号整数
INT3三个32位有符号整数
int32_t 32位有符号整数
INT4 4个32位有符号整数
64的int64_t位有符号整数
8中int8_t位有符号整数
long2两个64位有符号整数
long3 3个64位有符号整数
long4 4个64位有符号整数
32位浮点数rs_matrix2x2 2×2矩阵
32位浮点数rs_matrix3x3 3x3矩阵
32位浮点数rs_matrix4x4 4x4矩阵
rs_quaternion四元
short2两个16位有符号整数
short3 3个16位有符号整数
short4四个16位有符号整数
size_t型无符号的大小类型
ssiz​​e_t供符号的大小类型
UCHAR 8位无符号整数
uchar2两个8位无符号整数
uchar3 3个8位无符号整数
uchar4 4个8位无符号整数
UINT 32位无符号整数
uint16_t 16位无符号整数
UINT2两个32位无符号整数
为uint3三个32位无符号整数
uint32_t的32位无符号整数
uint4 4个32位无符号整数
uint64_t中64位无符号整数
uint8_t有8位无符号整数
ULONG 64位无符号整数
ulong2两个64位无符号整数
ulong3 3个64位无符号整数
ulong4 4个64位无符号整数
USHORT 16位无符号整数
ushort2两个16位无符号整数
ushort3 3个16位无符号整数
ushort4四个16位无符号整数
类型


CHAR2:2个8位有符号整数


一个的typedef:字符__attribute __((ext_vector_type(2)))


2字符的向量。这两个字符被包装成一个单一的16位的字段为16位对齐。


CHAR3:3个8位有符号整数


一个的typedef:字符__attribute __((ext_vector_type(3)))


三个字符的向量。这三个字符被打包成一个32比特字段具有32位对齐。


char4:4个8位有符号整数


一个的typedef:字符__attribute __((ext_vector_type(4)))


四个字符的向量。这四个字符被打包成一个32比特字段具有32位对齐。


double2:两个64位浮点数


的类型定义:双__attribute __((ext_vector_type(2)))


两个双打的向量。这两个双精度字段打包成一个128位的字段,有128位对齐。


double3:3个64位浮点数


的类型定义:双__attribute __((ext_vector_type(3)))


三个双打的向量。这三个领域的双重打包成一个256位的字段256位对齐。


double4:4个64位浮点数


的类型定义:双__attribute __((ext_vector_type(4)))


四个双打的向量。这四个双重字段打包成一个单一的256比特字段与256位的对准。


FLOAT2:两个32位浮点数


一个的typedef:浮动__attribute __((ext_vector_type(2)))


两个浮点数的向量。这两个浮筒被打包成一个64比特字段与一个64位对齐。


两个浮点数的向量。这两个浮筒被打包成一个64比特字段与一个64位对齐。


FLOAT3:三个32位浮点数


一个的typedef:浮动__attribute __((ext_vector_type(3)))


三个彩车的向量。这三个浮筒被包装成一个单一的128比特字段具有128位的对准。


float4变量:4个32位浮点数


一个的typedef:浮动__attribute __((ext_vector_type(4)))


四个浮筒型载体。这四个浮点数被包装成一个单一的128比特字段具有128位的对准。


int16_t:16位有符号整数


的类型定义:短


一个16位有符号整数类型。


INT2:两个32位有符号整数


的类型定义:INT __attribute __((ext_vector_type(2)))


2个整数的向量。这两个整数被打包成一个64比特字段与一个64位对齐。


INT3:三个32位有符号整数


的类型定义:INT __attribute __((ext_vector_type(3)))


三个整数的向量。这三个整数被包装成一个单一的128比特字段具有128位的对准。


int32_t:32位有符号整数


INT:的的typedef


32位有符号整数类型。


INT4:4个32位有符号整数


的类型定义:INT __attribute __((ext_vector_type(4)))


四个整数的向量。这两个四肢被包装成一个单一的128比特字段具有128位的对准。


的int64_t:64位有符号整数


的类型定义:长长的API级别21中删除


的类型定义:长在API级别21


64位有符号整数类型。


中int8_t:8位有符号整数


焦炭:的的typedef


8位有符号整数类型。


long2:两个64位有符号整数


的类型定义:长__attribute __((ext_vector_type(2)))


二次长的向量。这两个长材被包装成一个单一的128比特字段具有128位的对准。


long3:3个64位有符号整数


的类型定义:长__attribute __((ext_vector_type(3)))


三个多头的向量。这三个长材被包装成一个单一的256比特字段与256位的对准。


long4:4个64位有符号整数


的类型定义:长__attribute __((ext_vector_type(4)))


四多头的向量。这四个长材被包装成一个单一的256比特字段与256位的对准。


rs_matrix2x2:32位浮点数的2x2矩阵


具有以下字段的结构:


浮动米[4]


花车的正方形2×2矩阵。的条目存储在该位置[行* 2 +山口]的数组中为止。


见矩阵函数。


rs_matrix3x3:32位浮点数3x3矩阵


具有以下字段的结构:


浮动米[9]


彩车的广场3x3矩阵。的条目存储在该位置[行* 3 +山口]的数组中为止。


见矩阵函数。


rs_matrix4x4:32位浮点数4x4矩阵


具有以下字段的结构:


浮动米[16]


彩车的广场4x4矩阵。的条目存储在该位置[行* 4 +山口]的数组中为止。


见矩阵函数。


rs_quaternion:四元


float4变量:的的typedef


彩车的广场4x4矩阵表示四元数。


见四元数函数。


short2:两个16位有符号整数


的类型定义:短__attribute __((ext_vector_type(2)))


2短裤的向量。这两个短裤被打包成一个32比特字段具有32位对齐。


short3:3个16位有符号整数


的类型定义:短__attribute __((ext_vector_type(3)))


三短裤的向量。这三个领域的短打包成一个单一的64位字段与64位对齐。


short4:4个16位有符号整数


的类型定义:短__attribute __((ext_vector_type(4)))


四短裤的向量。这四个领域的短打包成一个单一的64位字段与64位对齐。


为size_t:无符号的大小类型


的类型定义:uint64_t中当编译为64位。


的类型定义:uint32_t的编译时为32位。


无符号的大小类型。位的数目取决于编译标志。


ssiz​​e_t供:符号的大小类型


的类型定义:当的int64_t为编译为64位。


的类型定义:int32_t当编译为32位。


符号的大小类型。位的数目取决于编译标志。


UCHAR:8位无符号整数


uint8_t有:一的typedef


8位无符号整数类型。


uchar2:两个8位无符号整数


的类型定义:UCHAR __attribute __((ext_vector_type(2)))


2 uchars的向量。这两个UCHAR字段打包成单个16位字段具有16位的对准。


uchar3:3个8位无符号整数


的类型定义:UCHAR __attribute __((ext_vector_type(3)))


三uchars向量。这三个领域UCHAR打包成一个32位的字段有32位对齐。


uchar4:4个8位无符号整数


的类型定义:UCHAR __attribute __((ext_vector_type(4)))


四uchars向量。这四个领域UCHAR打包成一个32位的字段有32位对齐。


UINT:32位无符号整数


uint32_t的:的的typedef


一个32位无符号整数类型。


uint16_t:16位无符号整数


的类型定义:无符号短


一个16位无符号整数类型。


UINT2:2个32位无符号整数


一个类型定义的:UINT __attribute __((ext_vector_type(2)))


2 uints的向量。这两个uints被打包成一个64比特字段与一个64位对齐。


为uint3:三个32位无符号整数


一个类型定义的:UINT __attribute __((ext_vector_type(3)))


三uints向量。这三个uints被包装成一个单一的128比特字段具有128位的对准。


uint32_t的:32位无符号整数


的类型定义:无符号整型


一个32位无符号整数类型。


uint4:4个32位无符号整数


一个类型定义的:UINT __attribute __((ext_vector_type(4)))


四uints向量。这四个uints被包装成一个单一的128比特字段具有128位的对准。


uint64_t中:64位无符号整数


的类型定义:无符号长长从API级别21中删除


的类型定义:unsigned long类型在API级别21


64位无符号整数类型。


uint8_t有:8位无符号整数


的类型定义:unsigned char型


8位无符号整数类型。


ULONG:64位无符号整数


uint64_t中:的的typedef


64位无符号整数类型。


ulong2:两个64位无符号整数


的类型定义:ULONG __attribute __((ext_vector_type(2)))


2 ulongs的向量。这两个ulongs被包装成一个单一的128比特字段具有128位的对准。


ulong3:3个64位无符号整数


的类型定义:ULONG __attribute __((ext_vector_type(3)))


三ulongs向量。这三个ULONG字段打包成一个单一的256比特字段与256位的对准。


ulong4:4个64位无符号整数


的类型定义:ULONG __attribute __((ext_vector_type(4)))


四ulongs向量。这四个领域ULONG打包成一个256位的字段256位对齐。


USHORT:16位无符号整数


uint16_t:的的typedef


一个16位无符号整数类型。


ushort2:2个16位无符号整数


的类型定义:USHORT __attribute __((ext_vector_type(2)))


2 ushorts的向量。这两个USHORT场打包成一个32位的字段有32位对齐。


ushort3:3个16位无符号整数


的类型定义:USHORT __attribute __((ext_vector_type(3)))


三ushorts向量。这三个USHORT字段打包成一个64比特字段与一个64位对齐。


ushort4:4个16位无符号整数


的类型定义:USHORT __attribute __((ext_vector_type(4)))


四ushorts向量。这四个USHORT字段打包成一个64比特字段与一个64位对齐。

8 bits 16 bits 32 bits 64 bits
Integer: char, int8_t short, int16_t int32_t long, long long, int64_t
Unsigned integer: uchar, uint8_t ushort, uint16_t uint, uint32_t ulong, uint64_t
Floating point:     float double
8 bits 16 bits 32 bits 64 bits
Integer: char, int8_t short, int16_t int32_t long, long long, int64_t
Unsigned integer: uchar, uint8_t ushort, uint16_t uint, uint32_t ulong, uint64_t
Floating point:     float double

你可能感兴趣的:(Android API Guides---RenderScript Numerical Types)