__adjust.c

来自「KPIT GNU Tools is a set of GNU developme」· C语言 代码 · 共 45 行

C
45
字号
/* * return (*acc) scaled by 10**dexp. */#include <_ansi.h>#include <reent.h>#include "std.h"#define abs(x) (((x) < 0) ? -(x) : (x))double_DEFUN (__adjust, (ptr, acc, dexp, sign),	struct _reent *ptr _AND	double *acc _AND	int dexp _AND	int sign)     /* *acc	the 64 bit accumulator */     /* dexp	decimal exponent       */     /* sign	sign flag   	       */{  double r;  if (dexp > MAXE)    {      ptr->_errno = ERANGE;      return (sign) ? -HUGE_VAL : HUGE_VAL;    }  else if (dexp < MINE)    {      ptr->_errno = ERANGE;      return 0.0;    }  r = *acc;  if (sign)    r = -r;  if (dexp == 0)    return r;  if (dexp < 0)    return r / __exp10 (abs (dexp));  else    return r * __exp10 (dexp);}

⌨️ 快捷键说明

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