Linux Assemblycollection of fast libraries

Data typesTypes.h

LinAsm libraries define their own data types. They are separated into two categories: scalar and vector data types. Scalar types are just aliases to internal C and C++ types and have the same length and operations set. Vector types are custom types, which use gcc aggregates to hold vectors. LinAsm also define union types which can hold both types simultaneously. They are useful when you apply vector operations to the data, but also need to extract some elements of target vectors.

Contents

Scalar types

TypeDescriptionC/C++ equivalent
Unsigned integer types
uint8_t8-bit wide unsigned integer typeunsigned char
uint16_t16-bit wide unsigned integer typeunsigned short
uint32_t32-bit wide unsigned integer typeunsigned int
uint64_t64-bit wide unsigned integer typeunsigned long long
Signed integer types
sint8_t8-bit wide signed integer typesigned char
sint16_t16-bit wide signed integer typesigned short
sint32_t32-bit wide signed integer typesigned int
sint64_t64-bit wide signed integer typesigned long long
Bit field types
bit8_t8-bit wide bit field typeunsigned char
bit16_t16-bit wide bit field typeunsigned short
bit32_t32-bit wide bit field typeunsigned int
bit64_t64-bit wide bit field typeunsigned long long
Character types
char8_t8-bit wide character typechar
char16_t16-bit wide character typeshort
char32_t32-bit wide character typeint
Floating-point types
flt32_t32-bit wide floating-point typefloat
flt64_t64-bit wide floating-point typedouble
Other types
size_tInteger type that holds object sizeunsigned long int
ptr_tInteger type that can hold pointer valuesigned long int
time_tInteger type that holds unix time valuesigned long long
error_tInteger type that holds errno valueunsigned int
enum_tInteger type that can hold enumeration valueunsigned int
Boolean type
boolBoolean type for C programs_Bool

Vector types

TypeDescription
Unsigned integer types
uint8v16_tVector of 16 elements of 8-bit wide unsigned integer type
uint16v8_tVector of 8 elements of 16-bit wide unsigned integer type
uint32v4_tVector of 4 elements of 32-bit wide unsigned integer type
uint64v2_tVector of 2 elements of 64-bit wide unsigned integer type
Signed integer types
sint8v16_tVector of 16 elements of 8-bit wide signed integer type
sint16v8_tVector of 8 elements of 16-bit wide signed integer type
sint32v4_tVector of 4 elements of 32-bit wide signed integer type
sint64v2_tVector of 2 elements of 64-bit wide signed integer type
Bit field types
bit8v16_tVector of 16 elements of 8-bit wide bit field type
bit16v8_tVector of 8 elements of 16-bit wide bit field type
bit32v4_tVector of 4 elements of 32-bit wide bit field type
bit64v2_tVector of 2 elements of 64-bit wide bit field type
Character types
char8v16_tVector of 16 elements of 8-bit wide character type
char16v8_tVector of 8 elements of 16-bit wide character type
char32v4_tVector of 4 elements of 32-bit wide character type
Floating-point types
flt32v2_tVector of 2 elements of 32-bit wide floating-point type
flt32v4_tVector of 4 elements of 32-bit wide floating-point type
flt64v2_tVector of 2 elements of 64-bit wide floating-point type
Other types
sizev2_tVector of 2 elements of object size type
ptrv2_tVector of 2 elements of pointer type
timev2_tVector of 2 elements of unix time type

Union types

TypeDescription
Unsigned integer types
uint8v16_unionUnion that holds uint8v16_t vector and array of 16 elements of 8-bit unsigned integer type
uint16v8_unionUnion that holds uint16v8_t vector and array of 8 elements of 16-bit unsigned integer type
uint32v4_unionUnion that holds uint32v4_t vector and array of 4 elements of 32-bit unsigned integer type
uint64v2_unionUnion that holds uint64v2_t vector and array of 2 elements of 64-bit unsigned integer type
Signed integer types
sint8v16_unionUnion that holds sint8v16_t vector and array of 16 elements of 8-bit unsigned integer type
sint16v8_unionUnion that holds sint16v8_t vector and array of 8 elements of 16-bit unsigned integer type
sint32v4_unionUnion that holds sint32v4_t vector and array of 4 elements of 32-bit unsigned integer type
sint64v2_unionUnion that holds sint64v2_t vector and array of 2 elements of 64-bit unsigned integer type
Bit field types
bit8v16_unionUnion that holds bit8v16_t vector and array of 16 elements of 8-bit bit field type
bit16v8_unionUnion that holds bit16v8_t vector and array of 8 elements of 16-bit bit field type
bit32v4_unionUnion that holds bit32v4_t vector and array of 4 elements of 32-bit bit field type
bit64v2_unionUnion that holds bit64v2_t vector and array of 2 elements of 64-bit bit field type
Character types
char8v16_unionUnion that holds char8v16_t vector and array of 16 elements of 8-bit character type
char16v8_unionUnion that holds char16v8_t vector and array of 8 elements of 16-bit character type
char32v4_unionUnion that holds char32v4_t vector and array of 4 elements of 32-bit character type
Floating-point types
flt32v2_unionUnion that holds flt32v2_t vector and array of 2 elements of 32-bit wide floating-point type
flt32v4_unionUnion that holds flt32v4_t vector and array of 4 elements of 32-bit wide floating-point type
flt64v2_unionUnion that holds flt64v2_t vector and array of 2 elements of 64-bit wide floating-point type
Other types
sizev2_unionUnion that holds sizev2_t vector and array of 2 elements of object size type
ptrv2_unionUnion that holds ptr2_t vector and array of 2 elements of pointer type
time2_unionUnion that holds time2_t vector and array of 2 elements of unix time type
Copyright 2012-2018 Jack Black. All rights reserved.