Provided by: opencl-1.2-man-doc_1.0~svn27110-1_all bug

NAME

       Symbolic_Math_Constants - The following symbolic constants are available.

BUILT-IN MATH CONSTANTS

       The following symbolic constants are available. Their values are of type float and are
       accurate within the precision of a single precision floating-point number.

       ┌──────────────┬─────────────────────────────────┐
       │Constant NameDescription                     │
       ├──────────────┼─────────────────────────────────┤
       │MAXFLOAT      │ Value of maximum non-infinite   │
       │              │ single-precision floating-point │
       │              │ number.                         │
       ├──────────────┼─────────────────────────────────┤
       │HUGE_VALF     │ A positive float constant       │
       │              │ expression. HUGE_VALF evaluates │
       │              │ to +infinity.  Used as an error │
       │              │ value returned by the           │
       │              │ mathFunctions(3clc).            │
       ├──────────────┼─────────────────────────────────┤
       │INFINITY      │ A constant expression of type   │
       │              │ float representing positive or  │
       │              │ unsigned infinity.              │
       ├──────────────┼─────────────────────────────────┤
       │NAN           │ A constant expression of type   │
       │              │ float representing a quiet NaN. │
       └──────────────┴─────────────────────────────────┘

       If double precision is supported by the device, the following symbolic constant will also
       be available:

       ┌──────────────┬────────────────────────────────┐
       │Constant NameDescription                    │
       ├──────────────┼────────────────────────────────┤
       │HUGE_VAL      │                                │
       │              │        A positive double       │
       │              │        constant expression.    │
       │              │        HUGE_VAL evaluates to   │
       │              │        +infinity. Used as an   │
       │              │        error value returned by │
       │              │        the built-in math       │
       │              │        functions.              │
       └──────────────┴────────────────────────────────┘

       The following constants are also available. They are of type float and are accurate within
       the precision of the float type.

       ┌──────────────┬──────────────────────────────────┐
       │Constant NameDescription                      │
       ├──────────────┼──────────────────────────────────┤
       │M_E_F         │ Value of e                       │
       ├──────────────┼──────────────────────────────────┤
       │M_LOG2E_F     │ Value of log<sub>2</sub>e        │
       ├──────────────┼──────────────────────────────────┤
       │M_LOG10E_F    │ Value of log<sub>10</sub>e       │
       ├──────────────┼──────────────────────────────────┤
       │M_LN2_F       │ Value of log<sub>e</sub>2        │
       ├──────────────┼──────────────────────────────────┤
       │M_LN10_F      │ Value of log<sub>e</sub>10       │
       ├──────────────┼──────────────────────────────────┤
       │M_PI_F        │ Value of pi                      │
       ├──────────────┼──────────────────────────────────┤
       │M_PI_2_F      │ Value of pi / 2                  │
       ├──────────────┼──────────────────────────────────┤
       │M_PI_4_F      │ Value of pi / 4                  │
       ├──────────────┼──────────────────────────────────┤
       │M_1_PI_F      │ Value of 1 / pi                  │
       ├──────────────┼──────────────────────────────────┤
       │M_2_PI_F      │ Value of 2 / pi                  │
       ├──────────────┼──────────────────────────────────┤
       │M_2_SQRTPI_F  │ Value of 2 / (square root of pi) │
       ├──────────────┼──────────────────────────────────┤
       │M_SQRT2_F     │ Value of square root of 2        │
       ├──────────────┼──────────────────────────────────┤
       │M_SQRT1_2_F   │ Value of 1 / (square root of 2)  │
       └──────────────┴──────────────────────────────────┘

       If double precision is supported by the device, the following macros and constants are
       also available. They are of type double and are accurate within the precision of the
       double type.

       ┌──────────────┬──────────────────────────────────┐
       │Constant NameDescription                      │
       ├──────────────┼──────────────────────────────────┤
       │M_E           │ Value of e                       │
       ├──────────────┼──────────────────────────────────┤
       │M_LOG2E       │ Value of log<sub>2</sub>e        │
       ├──────────────┼──────────────────────────────────┤
       │M_LOG10E      │ Value of log<sub>10</sub>e       │
       ├──────────────┼──────────────────────────────────┤
       │M_LN2         │ Value of log<sub>e</sub>2        │
       ├──────────────┼──────────────────────────────────┤
       │M_LN10        │ Value of log<sub>e</sub>10       │
       ├──────────────┼──────────────────────────────────┤
       │M_PI          │ Value of pi                      │
       ├──────────────┼──────────────────────────────────┤
       │M_PI_2        │ Value of pi / 2                  │
       ├──────────────┼──────────────────────────────────┤
       │M_PI_4        │ Value of pi / 4                  │
       ├──────────────┼──────────────────────────────────┤
       │M_1_PI        │ Value of 1 / pi                  │
       ├──────────────┼──────────────────────────────────┤
       │M_2_PI        │ Value of 2 / pi                  │
       ├──────────────┼──────────────────────────────────┤
       │M_2_SQRTPI    │ Value of 2 / (square root of pi) │
       ├──────────────┼──────────────────────────────────┤
       │M_SQRT2       │ Value of square root of 2        │
       ├──────────────┼──────────────────────────────────┤
       │M_SQRT1_2     │ Value of 1 / (square root of 2)  │
       └──────────────┴──────────────────────────────────┘

       The following constants are also available. They are of type half and are accurate within
       the precision of the half type. An application that wants to use half and halfn types will
       need to include the #pragma OPENCL EXTENSION cl_khr_fp16(3clc) : enable directive.

       ┌─────────────┬──────────────────────────────────┐
       │ConstantDescription                      │
       ├─────────────┼──────────────────────────────────┤
       │M_E_H        │ Value of e                       │
       ├─────────────┼──────────────────────────────────┤
       │M_LOG2E_H    │ Value of log<sub>2</sub>e        │
       ├─────────────┼──────────────────────────────────┤
       │M_LOG10E_H   │ Value of log<sub>10</sub>e       │
       ├─────────────┼──────────────────────────────────┤
       │M_LN2_H      │ Value of log<sub>e</sub>2        │
       ├─────────────┼──────────────────────────────────┤
       │M_LN10_H     │ Value of log<sub>e</sub>10       │
       ├─────────────┼──────────────────────────────────┤
       │M_PI_H       │ Value of pi                      │
       ├─────────────┼──────────────────────────────────┤
       │M_PI_2_H     │ Value of pi / 2                  │
       ├─────────────┼──────────────────────────────────┤
       │M_PI_4_H     │ Value of pi / 4                  │
       ├─────────────┼──────────────────────────────────┤
       │M_1_PI_H     │ Value of 1 / pi                  │
       ├─────────────┼──────────────────────────────────┤
       │M_2_PI_H     │ Value of 2 / pi                  │
       ├─────────────┼──────────────────────────────────┤
       │M_2_SQRTPI_H │ Value of 2 / (square root of pi) │
       ├─────────────┼──────────────────────────────────┤
       │M_SQRT2_H    │ Value of square root of 2        │
       ├─────────────┼──────────────────────────────────┤
       │M_SQRT1_2_H  │ Value of 1 / (square root of 2)  │
       └─────────────┴──────────────────────────────────┘

SPECIFICATION

       OpenCL Specification[1]

SEE ALSO

       mathFunctions(3clc), FP_CONTRACT(3clc), macroLimits(3clc)

AUTHORS

       The Khronos Group

COPYRIGHT

       Copyright © 2007-2011 The Khronos Group Inc.
       Permission is hereby granted, free of charge, to any person obtaining a copy of this
       software and/or associated documentation files (the "Materials"), to deal in the Materials
       without restriction, including without limitation the rights to use, copy, modify, merge,
       publish, distribute, sublicense, and/or sell copies of the Materials, and to permit
       persons to whom the Materials are furnished to do so, subject to the condition that this
       copyright notice and permission notice shall be included in all copies or substantial
       portions of the Materials.

NOTES

        1. OpenCL Specification
           page 251, section 6.12.2 - Table at end of Math Functions