fma、fmaf、fmalfma, fmaf, fmal

9/1/2020

本文内容

将两个值相乘,添加第三个值,然后对结果进行舍入,而不会因中间舍入而丢失任何精度。Multiplies two values together, adds a third value, and then rounds the result, without losing any precision due to intermediary rounding.

语法Syntax

double fma(

double x,

double y,

double z

);

float fma(

float x,

float y,

float z

); //C++ only

long double fma(

long double x,

long double y,

long double z

); //C++ only

float fmaf(

float x,

float y,

float z

);

long double fmal(

long double x,

long double y,

long double z

);

#define fma(X, Y, Z) // Requires C11 or higher

参数Parameters

x-bladex

要相乘的第一个值。The first value to multiply.

误差y

要相乘的第二个值。The second value to multiply.

zz

要相加的值。The value to add.

返回值Return Value

返回 (x * y) + z。Returns (x * y) + z. 然后使用当前舍入格式舍入返回值。The return value is then rounded using the current rounding format.

否则,可能返回以下值之一:Otherwise, may return one of the following values:

问题Issue

返回Return

x = 无限大、 y = 0 或x = INFINITY, y = 0 or

x = 0、 y = 无限大x = 0, y = INFINITY

NaNNaN

x 或 y = 精确的±无限大, z = 无穷大,正负号x or y = exact ± INFINITY, z = INFINITY with the opposite sign

NaNNaN

x 或 y = NaNx or y = NaN

NaNNaN

not (x = 0, y= 不定) , z = NaNnot (x = 0, y= indefinite) and z = NaN

not (x= 不定, y= 0) , z = NaNnot (x=indefinite, y=0) and z = NaN

NaNNaN

溢出范围错误Overflow range error

± HUGE_VAL、± HUGE_VALF 或± HUGE_VALL±HUGE_VAL, ±HUGE_VALF, or ±HUGE_VALL

下溢范围错误Underflow range error

舍入后的正确值。correct value, after rounding.

按 _matherr 中所指定的报告错误。Errors are reported as specified in _matherr.

备注Remarks

由于 c + + 允许重载,因此你可以调用采用并返回和类型的 fma 的重载 float long double 。Because C++ allows overloading, you can call overloads of fma that take and return float and long double types. 在 C 程序中,除非使用 宏调用此函数,否则 fma 始终采用并返回 double 。In a C program, unless you're using the macro to call this function, fma always takes and returns a double.

如果使用 fma() 宏,则参数的类型将决定选择哪个版本的函数。If you use the fma() macro, the type of the argument determines which version of the function is selected. 有关详细信息,请参阅 类型-泛型数学 。

此函数计算值就好像它采取了无限精度,然后将最终结果舍入。This function computes the value as though it were taken to infinite precision, and then rounds the final result.

默认情况下,此函数的全局状态的作用域限定为应用程序。By default, this function's global state is scoped to the application. 若要更改此项,请参阅 CRT 中的全局状态。

要求Requirements

函数Function

C 标头C header

C++ 标头C++ header

fma、 fmaf、 fmalfma, fmaf, fmal

fma 宏fma macro

有关其他兼容性信息,请参阅兼容性。For additional compatibility information, see Compatibility.

另请参阅See also

java fmal_fma、fmaf、fmal相关推荐

  1. 从底层吃透java内存模型(JMM)、volatile、CAS

    前言 随着计算机的飞速发展,cpu从单核到四核,八核.在2020年中国网民数预计将达到11亿人.这些数据都意味着,作为一名java程序员,必须要掌握多线程开发,谈及多线程,绕不开的是对JMM(Java ...

  2. Java中类、常量、变量、方法名等命名规则

    Java中类.常量.变量.方法名等命名规则 命名规则: 命名由字母.数字.下划线.美元符号($)构成. 命名不可以数字作为开头. 长度无限制,但不可存在空格. 大小写所表述内容含义不同. 命名不可与J ...

  3. [JAVA EE] JPA 技术实践:完成增、删、改、查操作

    项目已上传:https://codechina.csdn.net/qq_36286039/javaee 注意本项目是包含后文JPA 查询用法内容的,若您想看只有本文内容的项目,请下载: https:/ ...

  4. 【java线程】锁机制:synchronized、Lock、Condition

    [Java线程]锁机制:synchronized.Lock.Condition 原创 2013年08月14日 17:15:55 标签:Java /多线程 74967 http://www.infoq. ...

  5. java which语句,java入门之表达式、语句、块

    表达式.语句和块是java语言的基础.运算符(Operator)用来计算值,它和变量(Variable)构成了表达式(Expression),表达式是语句(Statement)的核心部分,而语句又构成 ...

  6. Java对点、线、面生成栅格瓦片jpg,并渲染呈现

    Java对点.线.面生成栅格瓦片jpg,并渲染呈现 1. 效果图 2. 原理 2.1 面瓦片的生成 2.2 线瓦片的生成 2.3 多点瓦片的生成 3. 源码 参考 这篇博客将介绍从前端HTML页面到后 ...

  7. Java CSV文件读取、写入及追加

    Java CSV文件读取.写入及追加 https://blog.csdn.net/liq816/article/details/81286472 追加: FileOutputStream out = ...

  8. java 读取流的字符编码格式_如何使用Java代码获取文件、文件流或字符串的编码方式...

    标签: 今天通过网络资源研究了一下如何使用Java代码获取文件.文件流或字符串的编码方式,现将代码与大家分享: package com.ghj.packageoftool; import info.m ...

  9. print、printf、println在Java中的使用

    print.printf.println在Java中的使用 文章目录 print.printf.println在Java中的使用 一.println 在JAVA中常常使用System.out.pirn ...

最新文章

  1. 首次BCH无需信任原子交换已完成
  2. python基础第三章选择结构答案-Python days03-选择结构【if】
  3. Java 异常处理中对于 finally 的一些思考
  4. 神策数据简宁:如何更好地借助数据驱动产品价值提升?
  5. 科普: 中间件底层实现的分布式协议之Raft
  6. R--线性回归诊断(一)
  7. Redis简单命令(部分示例代码)
  8. VMware-workstation安装手册
  9. 15优秀免费JQuery 图片 滑动效果
  10. 提高 Mac OS X 速度的 52 个方法
  11. Windows 环境下 Python 环境安装
  12. 微信小程序map中polyline的坑
  13. 蒙特卡洛方法 (Monte Carlo Method)(5)
  14. SQL数据库常用约束及建表、插入数据时注意事项
  15. AWS KVS(Kinesis Video Streams)之WebRTC集成过程报错问题整理(七)
  16. 人身三流指什么_关于《三流人生》那些事儿
  17. TextView文本尾部添加标签,支持自动换行
  18. 【arduino】esp8266---wifi模块接线和程序烧录
  19. [luogu]P1315 观光公交[贪心]
  20. 基于c++和 opengl 鞋子定制系统

热门文章

  1. [词性] 十八、介词 8 [ within ] [ within ] [ across ] [ among ] [ outside ] [ into ] [ beyond ] [ against ]
  2. 十分钟带你了解阿里、美团、滴滴、头条等互联网头部大厂面经
  3. The Pilots Brothers refrigerator's 题解
  4. java毕业设计拾忆鲜花销售系统mybatis+源码+调试部署+系统+数据库+lw
  5. 计算机毕业设计JAVA拾忆鲜花销售系统mybatis+源码+调试部署+系统+数据库+lw
  6. Recipient List camel并行
  7. 无缝漫游11k,11r, 11v
  8. CentOS6 安装gcc编译器,解决【configure: error: no acceptable C compiler found in $PATH】问题
  9. vue项目中解决路由重复点击报错问题
  10. 5G网络的NSA与SA