sf_remquo.c

来自「用于嵌入式Linux系统的标准C的库函数」· C语言 代码 · 共 51 行

C
51
字号
/* Copyright (C) 2002 by  Red Hat, Incorporated. All rights reserved. * * Permission to use, copy, modify, and distribute this software * is freely granted, provided that this notice is preserved. */#include "fdlibm.h"#ifdef __STDC__	float remquof(float x, float y, int *quo)	/* wrapper remquof */#else	float remquof(x,y,quo)			/* wrapper remquof */	float x,y;        int *quo;#endif{        int signx, signy, signres;        int wx;        int wy;        float x_over_y;        GET_FLOAT_WORD(wx, x);        GET_FLOAT_WORD(wy, y);        signx = (wx & 0x80000000) >> 31;        signy = (wy & 0x80000000) >> 31;        signres = (signx ^ signy) ? -1 : 1;        x_over_y = fabsf(x / y);        *quo = signres * (lrintf(x_over_y) & 0x7f);        return remainderf(x,y);}#ifdef _DOUBLE_IS_32BITS#ifdef __STDC__	double remquo(double x, double y, int *quo)	/* wrapper remquof */#else	double remquo(x,y,quo)			/* wrapper remquof */	double x,y;        int *quo;#endif{	return (double) remquof((float) x, (float) y, quo);}#endif /* defined(_DOUBLE_IS_32BITS) */

⌨️ 快捷键说明

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