---
title: 内置宏
description: "下表列出了一些常用的内置宏，涵盖了bfloat16、half和float三种浮点类型的特殊值，以及常用的数学常数、对数和边界值。当开发者需要处理浮点边界或数学常量时，可以直接参考并使用这些内置宏，无需手动定义或查阅具体的数值，从而可以将更多精力集中在算法逻辑上。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendcopapi/atlasascendc_api_07_10561.html
sourcePath: /source/zh/canncommercial/900/API/ascendcopapi/atlasascendc_api_07_10561.html
indexId: 37c13f4ddc6bf293200e85dd714407f3b85cf7f15cdfdbe07e0609be5b5e948e77
---
# 内置宏

下表列出了一些常用的内置宏，涵盖了bfloat16、half和float三种浮点类型的特殊值，以及常用的数学常数、对数和边界值。当开发者需要处理浮点边界或数学常量时，可以直接参考并使用这些内置宏，无需手动定义或查阅具体的数值，从而可以将更多精力集中在算法逻辑上。


**表1 常用内置宏列表**

| 宏名 | 描述 | 需要包含的头文件 |
| --- | --- | --- |
| ASCRT\_INF\_BF16 | 定义bfloat16类型的正无穷大值。 | asc\_bf16.h |
| ASCRT\_MAX\_NORMAL\_BF16 | 定义bfloat16类型的最大表示值。 | asc\_bf16.h |
| ASCRT\_MIN\_DENORM\_BF16 | 定义bfloat16类型的最小表示值。 | asc\_bf16.h |
| ASCRT\_NAN\_BF16 | 定义bfloat16类型的nan值。 | asc\_bf16.h |
| ASCRT\_NEG\_ZERO\_BF16 | 定义bfloat16类型的负零值。 | asc\_bf16.h |
| ASCRT\_ONE\_BF16 | 定义bfloat16类型的1.0值。 | asc\_bf16.h |
| ASCRT\_ZERO\_BF16 | 定义bfloat16类型的正零值。 | asc\_bf16.h |
| ASCRT\_INF\_FP16 | 定义half类型的正无穷大值。 | asc\_fp16.h |
| ASCRT\_MAX\_NORMAL\_FP16 | 定义half类型的最大表示值。 | asc\_fp16.h |
| ASCRT\_MIN\_DENORM\_FP16 | 定义half类型的最小表示值。 | asc\_fp16.h |
| ASCRT\_NAN\_FP16 | 定义half类型的nan值。 | asc\_fp16.h |
| ASCRT\_NEG\_ZERO\_FP16 | 定义half类型的负零值。 | asc\_fp16.h |
| ASCRT\_ONE\_FP16 | 定义half类型的1.0值。 | asc\_fp16.h |
| ASCRT\_ZERO\_FP16 | 定义half类型的正零值。 | asc\_fp16.h |
| ASCRT\_INF\_F | 定义float类型的正无穷大值。 | math\_constants.h |
| ASCRT\_NAN\_F | 定义float类型的nan值。 | math\_constants.h |
| ASCRT\_MIN\_DENORM\_F | 定义float类型的最小表示值。 | math\_constants.h |
| ASCRT\_MAX\_NORMAL\_F | 定义float类型的最大表示值。 | math\_constants.h |
| ASCRT\_NEG\_ZERO\_F | 定义float类型的负零值。 | math\_constants.h |
| ASCRT\_ZERO\_F | 定义float类型的正零值。 | math\_constants.h |
| ASCRT\_ONE\_F | 定义float类型的1.0值。 | math\_constants.h |
| ASCRT\_SQRT\_HALF\_F | 定义的浮点数值。 | math\_constants.h |
| ASCRT\_SQRT\_HALF\_HI\_F | 定义的高位部分浮点数值。 | math\_constants.h |
| ASCRT\_SQRT\_HALF\_LO\_F | 定义的低位部分浮点数值。 | math\_constants.h |
| ASCRT\_SQRT\_TWO\_F | 定义的浮点数值。 | math\_constants.h |
| ASCRT\_THIRD\_F | 定义的浮点数值。 | math\_constants.h |
| ASCRT\_PIO4\_F | 定义的浮点数值。 | math\_constants.h |
| ASCRT\_PIO2\_F | 定义的浮点数值。 | math\_constants.h |
| ASCRT\_3PIO4\_F | 定义的浮点数值。 | math\_constants.h |
| ASCRT\_2\_OVER\_PI\_F | 定义的浮点数值。 | math\_constants.h |
| ASCRT\_SQRT\_2\_OVER\_PI\_F | 定义的浮点数值。 | math\_constants.h |
| ASCRT\_PI\_F | π的浮点数值。 | math\_constants.h |
| ASCRT\_L2E\_F | 定义log2(e)的浮点数值。 | math\_constants.h |
| ASCRT\_L2T\_F | 定义log2(10)的浮点数值。 | math\_constants.h |
| ASCRT\_LG2\_F | 定义log10(2)的浮点数值。 | math\_constants.h |
| ASCRT\_LGE\_F | 定义log10(e)的浮点数值。 | math\_constants.h |
| ASCRT\_LN2\_F | 定义ln(2)的浮点数值。 | math\_constants.h |
| ASCRT\_LNT\_F | 定义ln(10)的浮点数值。 | math\_constants.h |
| ASCRT\_LNPI\_F | 定义ln(π)的浮点数值。 | math\_constants.h |
| ASCRT\_TWO\_TO\_M126\_F | 定义2\-126的浮点数值。 | math\_constants.h |
| ASCRT\_TWO\_TO\_126\_F | 定义2126的浮点数值。 | math\_constants.h |
| ASCRT\_NORM\_HUGE\_F | 定义float类型的最大有限值，超过该值即溢出到inf。 | math\_constants.h |
| ASCRT\_TWO\_TO\_23\_F | 定义223的浮点数值。 | math\_constants.h |
| ASCRT\_TWO\_TO\_24\_F | 定义224的浮点数值。 | math\_constants.h |
| ASCRT\_TWO\_TO\_31\_F | 定义231的浮点数值。 | math\_constants.h |
| ASCRT\_TWO\_TO\_32\_F | 定义232的浮点数值。 | math\_constants.h |
| ASCRT\_REMQUO\_BITS\_F | 在remquof函数中提取商的最低3位有效位，即数值为3。 | math\_constants.h |
| ASCRT\_REMQUO\_MASK\_F | 用于提取remquof结果中低3位比特的位掩码。 | math\_constants.h |
| ASCRT\_TRIG\_PLOSS\_F | 105615.0F，表示三角函数计算中精度损失的临界阈值。 | math\_constants.h |
