logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Macros_and_Limits - Macros for math limits.

Authors

TheKhronosGroup

Description

       The macro names given in the following list must use the values specified. These constant expressions are
       suitable for use in #if preprocessing directives.

       #define FLT_DIG          6
       #define FLT_MANT_DIG     24
       #define FLT_MAX_10_EXP   +38
       #define FLT_MAX_EXP      +128
       #define FLT_MIN_10_EXP   -37
       #define FLT_MIN_EXP      -125
       #define FLT_RADIX        2
       #define FLT_MAX          0x1.fffffep127f
       #define FLT_MIN          0x1.0p-126f
       #define FLT_EPSILON      0x1.0p-23f

       The macro names given in the following list (available if the double option is supported) must use the
       values specified. These constant expressions are suitable for use in #if preprocessing directives.

       #define DBL_DIG          15
       #define DBL_MANT_DIG     53
       #define DBL_MAX_10_EXP   +308
       #define DBL_MAX_EXP      +1024
       #define DBL_MIN_10_EXP   -307
       #define DBL_MIN_EXP      -1021
       #define DBL_MAX          0x1.fffffffffffffp1023
       #define DBL_MIN          0x1.0p-1022
       #define DBL_EPSILON      0x1.0p-52

       The macro names given in the following list must use the values specified. These constant expressions are
       suitable for use in #if preprocessing directives. An application that wants to use half and halfn types
       will need to include the #pragma OPENCL EXTENSION cl_khr_fp16(3clc) : enable directive.

       #define HALF_DIG          3
       #define HALF_MANT_DIG     11
       #define HALF_MAX_10_EXP   +4
       #define HALF_MAX_EXP      +16
       #define HALF_MIN_10_EXP   -4
       #define HALF_MIN_EXP      -13
       #define HALF_MAX          0x1.ffcp15h
       #define HALF_MIN          0x1.0p-14h
       #define HALF_EPSILON      0x1.0p-10h

       The macro names given in the following list must use the values specified. These constant expressions are
       suitable for use in #if preprocessing directives.

       #define CHAR_BIT    8
       #define CHAR_MAX    SCHAR_MAX
       #define CHAR_MIN    SCHAR_MIN
       #define INT_MAX     2147483647
       #define INT_MIN     (-2147483647- 1)
       #define LONG_MAX    0x7fffffffffffffffL
       #define LONG_MIN    (-0x7fffffffffffffffL- 1)
       #define SCHAR_MAX   127
       #define SCHAR_MIN   (-127 - 1)
       #define SHRT_MAX    32767
       #define SHRT_MIN    (-32767- 1)
       #define UCHAR_MAX   255
       #define USHRT_MAX   65535
       #define UINT_MAX    0xffffffff
       #define ULONG_MAX   0xffffffffffffffffUL

Name

       Macros_and_Limits - Macros for math limits.

Notes

        1. OpenCL Specification
           page 252, section 6.12.2.1 - Floating-point macros and pragmas

The Khronos Group                                  11/18/2024                            MACROSANDLIMITS(3clc)

See Also

mathFunctions(3clc), mathConstants(3clc), FP_CONTRACT(3clc), scalarDataTypes(3clc),
       vectorDataTypes(3clc), reservedDataTypes(3clc), otherDataTypes(3clc)

Specification

OpenCLSpecification[1]

See Also