fmod.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 28 行

C
28
字号
/* floating-point mod function without infinity or NaN checking */#include <math.h>doublefmod (double x, double y){	int sign = 0, yexp;	double r, yfr;	if (y == 0)		return 0;	if (y < 0)		y = -y;	yfr = frexp (y, &yexp);	if (x < 0) {		sign = 1;		r = -x;	} else		r = x;	while (r >= y) {		int rexp;		double rfr = frexp (r, &rexp);		r -= ldexp (y, rexp - yexp - (rfr < yfr));	}	if (sign)		r = -r;	return r;}

⌨️ 快捷键说明

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