Host. More...
Macros | |
Configuration options | |
| #define | VL_DISABLE_THREADS |
| Defined if multi-threading support is disabled. | |
| #define | VL_DISABLE_SSE2 |
| Defined if SSE2 support if disabled. | |
| #define | VL_DISABLE_OPENMP |
| Defined if OpenMP support is disabled. | |
Defining functions | |
| #define | VL_EXPORT |
| Declares a DLL exported symbol. | |
| #define | VL_INLINE |
| Adds appropriate inline function qualifier. | |
C preprocessor helper macros | |
| #define | VL_STRINGIFY(x) # x |
| Convert the argument to a string. | |
| #define | VL_XSTRINGIFY(x) VL_STRINGIFY(x) |
| Expand and then convert the argument to a string. | |
| #define | VL_CAT(x, y) x ## y |
| Concatenate two arguments into a lexical unit. | |
| #define | VL_XCAT(x, y) VL_CAT(x,y) |
| Expand and then concatenate two arguments into a lexical unit. | |
| #define | VL_XCAT3(x, y, z) VL_XCAT(VL_XCAT(x,y),z) |
| Expand and then concatenate three arguments into a lexical unit. | |
| #define | VL_XCAT4(x, y, z, u) VL_XCAT(VL_XCAT3(x,y,z),u) |
| Expand and then concatenate four arguments into a lexical unit. | |
| #define | VL_XCAT5(x, y, z, u, v) VL_XCAT(VL_XCAT4(x,y,z,u),v) |
| Expand and then concatenate five arguments into a lexical unit. | |
| #define | VL_YESNO(x) ((x)?"yes":"no") |
| Convert a boolean to "yes" or "no" strings. | |
Identifying the host operating system | |
| #define | VL_OS_LINUX 1 |
| Defined if the host operating system is Linux. | |
| #define | VL_OS_MACOSX 1 |
| Defined if the host operating system is Mac OS X. | |
| #define | VL_OS_WIN 1 |
| Defined if the host operating system is Windows (32 or 64) | |
| #define | VL_OS_WIN64 1 |
| Defined if the host operating system is Windows-64. | |
Identifying the host threading library | |
| #define | VL_THREADS_POSIX 1 |
| Defiend if the host uses POISX threads. | |
| #define | VL_THREADS_WIN 1 |
| Defined if the host uses Windows threads. | |
Identifying the host compiler | |
| #define | VL_COMPILER_GNUC |
| Defined if the host compiler is GNU C. | |
| #define | VL_COMPILER_MSC _MSC_VER |
| Defined if the host compiler is Microsoft Visual C++. | |
| #define | VL_COMPILER_LCC 1 |
| Defined if the host compiler is LCC. | |
Identifying the host CPU architecture | |
| #define | VL_ARCH_IX86 300 |
| Defined if the host CPU is of the Intel x86 family. | |
| #define | VL_ARCH_IA64 |
| Defined if the host CPU is of the Intel Architecture-64 family. | |
Identifying the host data model | |
| #define | VL_COMPILER_LLP64 |
| Defined if the host compiler data model is LLP64. | |
| #define | VL_COMPILER_LP64 |
| Defined if the host compiler data model is LP64. | |
| #define | VL_COMPILER_ILP32 |
| Defined if the host compiler data model is ILP32. | |
Identifying the host endianness | |
| #define | VL_ARCH_LITTLE_ENDIAN |
| Defined if the host CPU is little endian. | |
| #define | VL_ARCH_BIG_ENDIAN |
| Defined if the host CPU is big endian. | |
Creating integer constants | |
| #define | VL_INT8_C(x) x |
| Create an integer constant of the specified width and sign. | |
| #define | VL_INT16_C(x) x |
| Create an integer constant of the specified width and sign. | |
| #define | VL_INT32_C(x) x |
| Create an integer constant of the specified width and sign. | |
| #define | VL_INT64_C(x) x ## L |
| Create an integer constant of the specified width and sign. | |
| #define | VL_UINT8_C(x) x |
| Create an integer constant of the specified width and sign. | |
| #define | VL_UINT16_C(x) x |
| Create an integer constant of the specified width and sign. | |
| #define | VL_UINT32_C(x) x ## U |
| Create an integer constant of the specified width and sign. | |
| #define | VL_UINT64_C(x) x ## UL |
| Create an integer constant of the specified width and sign. | |
Printing the atomic data types | |
| #define | VL_FL_INT64 "I64" |
printf length flag for vl_int64 and vl_uint64. | |
| #define | VL_FL_INT32 "" |
printf length flag for vl_int32 and vl_uint32. | |
| #define | VL_FL_INT16 "h" |
printf length flag for vl_int16 and vl_uint16. | |
| #define | VL_FL_INT8 "hh" |
printf length flag for vl_int8 and vl_uint8. | |
| #define | VL_FL_INDEX VL_FL_INT64 |
printf length flag for vl_index and vl_uindex | |
| #define | VL_FL_INDEX VL_FL_INT32 |
printf length flag for vl_index and vl_uindex | |
| #define | VL_FMT_INDEX VL_FL_INDEX "d" |
printf flag for vl_index | |
| #define | VL_FMT_INTPTR VL_FMT_INDEX |
printf flag for vl_intptr | |
| #define | VL_FMT_UINDEX VL_FL_INDEX "u" |
printf flag for vl_uindex | |
| #define | VL_FMT_SIZE VL_FMT_UINDEX |
printf flag for vl_size | |
| #define | VL_FMT_UINTPTR VL_FMT_UINDEX |
printf flag for vl_uintptr | |
Atomic data types limits | |
| #define | VL_BIG_INT 0x7FFFFFFFL |
| Largest integer (math constant) | |
| #define | VL_SMALL_INT (- VL_BIG_INT - 1) |
| Smallest integer (math constant) | |
| #define | VL_BIG_UINT 0xFFFFFFFFUL |
| Largest unsigned integer (math constant) | |
Functions | |
| char * | vl_static_configuration_to_string_copy () |
| Human readable static library configuration. | |
Endianness detection and conversion | |
| void | vl_swap_host_big_endianness_8 (void *dst, void *src) |
| Host <-> big endian transformation for 8-bytes value. | |
| void | vl_swap_host_big_endianness_4 (void *dst, void *src) |
| Host <-> big endian transformation for 4-bytes value. | |
| void | vl_swap_host_big_endianness_2 (void *dst, void *src) |
| Host <-> big endian transformation for 2-bytes value. | |
Obtaining host info at run time | |
| void | _vl_x86cpu_info_init (VlX86CpuInfo *self) |
| char * | _vl_x86cpu_info_to_string_copy (VlX86CpuInfo const *self) |
Atomic data types | |
| #define | VL_TRUE 1 |
true (1) constant | |
| #define | VL_FALSE 0 |
false (0) constant | |
| typedef long long | vl_int64 |
| Signed 64-bit integer. | |
| typedef int | vl_int32 |
| Signed 32-bit integer. | |
| typedef short | vl_int16 |
| Signed 16-bit integer. | |
| typedef char | vl_int8 |
| Signed 8-bit integer. | |
| typedef long long unsigned | vl_uint64 |
| Unsigned 64-bit integer. | |
| typedef int unsigned | vl_uint32 |
| Unsigned 32-bit integer. | |
| typedef short unsigned | vl_uint16 |
| Unsigned 16-bit integer. | |
| typedef char unsigned | vl_uint8 |
| Unsigned 8-bit integer. | |
| typedef int | vl_int |
Same as int. | |
| typedef unsigned int | vl_uint |
Same as unsigned int. | |
| typedef int | vl_bool |
| Boolean. | |
| typedef vl_int64 | vl_intptr |
| Integer holding a pointer. | |
| typedef vl_uint64 | vl_uintptr |
| Unsigned integer holding a pointer. | |
| typedef vl_uint64 | vl_size |
| Unsigned integer holding the size of a memory block. | |
| typedef vl_int64 | vl_index |
| Signed version of vl_size and vl_uindex. | |
| typedef vl_uint64 | vl_uindex |
| Same as vl_size. | |
Detailed Description
- See also:
- Portability features
Macro Definition Documentation
| #define VL_ARCH_BIG_ENDIAN |
- See also:
- Endianness
| #define VL_ARCH_IA64 |
- See also:
- Host CPU architecture
| #define VL_ARCH_IX86 300 |
- See also:
- Host CPU architecture
| #define VL_ARCH_LITTLE_ENDIAN |
- See also:
- Endianness
| #define VL_CAT | ( | x, | |
| y | |||
| ) | x ## y |
- Parameters:
-
x first argument to be concatenated. y second argument to be concatenated.
This macro concatenates its arguments into a single lexical unit by means of the ## preprocessor operator. Notice that arguments concatenated by ## are not pre-expanded by the C preprocessor. To macro-expand the arguments and then concatenate them,use VL_XCAT.
- See also:
- VL_XCAT
| #define VL_COMPILER_GNUC |
This macro is defined if the compiler is GNUC. Its value is calculated as
- See also:
- Host compiler
| #define VL_COMPILER_ILP32 |
- See also:
- Data models
| #define VL_COMPILER_LCC 1 |
- Deprecated:
- The LCC is not supported anymore.
- See also:
- Host compiler
| #define VL_COMPILER_LLP64 |
- See also:
- Data models
| #define VL_COMPILER_LP64 |
- See also:
- Data models
| #define VL_COMPILER_MSC _MSC_VER |
- See also:
- Host compiler
| #define VL_DISABLE_OPENMP |
Define this symbol during compilation of the library and linking to another project to disable VLFeat OpenMP support.
| #define VL_DISABLE_SSE2 |
Define this symbol during compliation of the library and linking to another project to disable VLFeat SSE2 support.
| #define VL_DISABLE_THREADS |
Define this symbol during compilation of the library and linking to another project to disable VLFeat multi-threading support.
| #define VL_EXPORT |
- See also:
- Other compiler-specific features
| #define VL_INLINE |
- See also:
- Other compiler-specific features
| #define VL_INT16_C | ( | x | ) | x |
- Parameters:
-
x integer constant.
- Returns:
- x with the correct suffix for the given sign and size. The suffix used depends on the Data models.
- Example:
- The macro
VL_INT64_C(1234)is expanded as123Lin a LP64 system and as123LLin a LLP64 system.
| #define VL_INT32_C | ( | x | ) | x |
- Parameters:
-
x integer constant.
- Returns:
- x with the correct suffix for the given sign and size. The suffix used depends on the Data models.
- Example:
- The macro
VL_INT64_C(1234)is expanded as123Lin a LP64 system and as123LLin a LLP64 system.
| #define VL_INT64_C | ( | x | ) | x ## L |
- Parameters:
-
x integer constant.
- Returns:
- x with the correct suffix for the given sign and size. The suffix used depends on the Data models.
- Example:
- The macro
VL_INT64_C(1234)is expanded as123Lin a LP64 system and as123LLin a LLP64 system.
| #define VL_INT8_C | ( | x | ) | x |
- Parameters:
-
x integer constant.
- Returns:
- x with the correct suffix for the given sign and size. The suffix used depends on the Data models.
- Example:
- The macro
VL_INT64_C(1234)is expanded as123Lin a LP64 system and as123LLin a LLP64 system.
| #define VL_STRINGIFY | ( | x | ) | # x |
- Parameters:
-
x value to be stringified.
This macro stringifies the argument x by means of the # prerpocessor operator.
The standard C preprocessor does not prescan arguments which are stringified, so
initializes str with a pointer to the string "A", which mihgt be unexpected. To fix this issue, you can use VL_XSTRINGIFY.
- See also:
- VL_XSTRINGIFY
| #define VL_THREADS_POSIX 1 |
- See also:
- Multi-threading
| #define VL_THREADS_WIN 1 |
- See also:
- Multi-threading
| #define VL_UINT16_C | ( | x | ) | x |
- Parameters:
-
x integer constant.
- Returns:
- x with the correct suffix for the given sign and size. The suffix used depends on the Data models.
- Example:
- The macro
VL_INT64_C(1234)is expanded as123Lin a LP64 system and as123LLin a LLP64 system.
| #define VL_UINT32_C | ( | x | ) | x ## U |
- Parameters:
-
x integer constant.
- Returns:
- x with the correct suffix for the given sign and size. The suffix used depends on the Data models.
- Example:
- The macro
VL_INT64_C(1234)is expanded as123Lin a LP64 system and as123LLin a LLP64 system.
| #define VL_UINT64_C | ( | x | ) | x ## UL |
- Parameters:
-
x integer constant.
- Returns:
- x with the correct suffix for the given sign and size. The suffix used depends on the Data models.
- Example:
- The macro
VL_INT64_C(1234)is expanded as123Lin a LP64 system and as123LLin a LLP64 system.
| #define VL_UINT8_C | ( | x | ) | x |
- Parameters:
-
x integer constant.
- Returns:
- x with the correct suffix for the given sign and size. The suffix used depends on the Data models.
- Example:
- The macro
VL_INT64_C(1234)is expanded as123Lin a LP64 system and as123LLin a LLP64 system.
| #define VL_XCAT | ( | x, | |
| y | |||
| ) | VL_CAT(x,y) |
| #define VL_XSTRINGIFY | ( | x | ) | VL_STRINGIFY(x) |
- Parameters:
-
x value to be macro-expanded and converted.
This macro macro-expands the argument x and stringifies the result of the expansion. For instance
initializes str with a pointer to the string "B".
- See also:
- VL_STRINGIFY
| #define VL_YESNO | ( | x | ) | ((x)?"yes":"no") |
Function Documentation
| char* vl_static_configuration_to_string_copy | ( | ) |
- Returns:
- a new string with the static configuration.
The string includes information about the compiler, the host, and other static configuration parameters. The string must be released by vl_free.
|
inline |
- Parameters:
-
dst destination 2-byte buffer. src source 2-byte bufffer.
- See also:
- Endianness.
|
inline |
- Parameters:
-
dst destination 4-byte buffer. src source 4-byte bufffer.
- See also:
- Endianness.
|
inline |
- Parameters:
-
dst destination 8-byte buffer. src source 8-byte bufffer.
- See also:
- Endianness.