## table of contents

SYMBOLIC MATH CONSTA(3clc) | OpenCL Manual | SYMBOLIC MATH CONSTA(3clc) |

# 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 Name |
Description |

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 Name |
Description |

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 Name |
Description |

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 Name |
Description |

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 **half***n*
types will need to include the #pragma OPENCL EXTENSION
**cl_khr_fp16**(3clc) : enable directive.

Constant |
Description |

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

01/14/2021 | The Khronos Group |