⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 f_llrint.c

📁 Newlib 嵌入式 C库 标准实现代码
💻 C
字号:
/* * ==================================================== * x87 FP implementation contributed to Newlib by * Dave Korn, November 2007.  This file is placed in the * public domain.  Permission to use, copy, modify, and  * distribute this software is freely granted. * ==================================================== */#ifdef __GNUC__#if !defined(_SOFT_FLOAT)#include <math.h>/*FUNCTION<<llrint>>, <<llrintf>>, <<llrintl>>---round and convert to long long integerINDEX	llrintINDEX	llrintfINDEX	llrintlANSI_SYNOPSIS	#include <math.h>	long long int llrint(double x);        long long int llrintf(float x);        long long int llrintl(long double x);TRAD_SYNOPSIS	ANSI-only.DESCRIPTIONThe <<llrint>>, <<llrintf>> and <<llrintl>> functions round <[x]> to the nearest integer value,according to the current rounding direction. If the rounded value is outside therange of the return type, the numeric result is unspecified. A range error may occur if the magnitude of <[x]> is too large.RETURNSThese functions return the rounded integer value of <[x]>.<<llrint>>, <<llrintf>> and <<llrintl>> return the result as a long long integer.PORTABILITY<<llrint>>, <<llrintf>> and <<llrintl>> are ANSI.<<llrint>>, <<llrintf>> and <<llrintl>> are only available on i386 platforms whenhardware floating point support is available and when compiling with GCC.*//* * Fast math version of llrint(x) * Return x rounded to integral value according to the prevailing * rounding mode. * Method: *	Using inline x87 asms. * Exception: *	Governed by x87 FPCR. */long long int _f_llrint (double x){  long long int _result;  asm ("fistpll %0" : "=m" (_result) : "t" (x) : "st");  return _result;}/* For now, we only have the fast math version.  */long long int llrint (double x) {  return _f_llrint(x);}#endif /* !_SOFT_FLOAT */#endif /* __GNUC__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -