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

📄 target.c

📁 gcc-2.95.3 Linux下最常用的C编译器
💻 C
📖 第 1 页 / 共 5 页
字号:
    ++p;  /* Interpret rest of number. */  bad_digit = FALSE;  while (c != '\0')    {      if ((c >= '0') && (c <= '7'))	c -= '0';      else	{	  bad_digit = TRUE;	  c = 0;	}#if 0				/* Don't complain about signed overflow; just				   unsigned overflow. */      if ((x == FFETARGET_integerALMOST_BIG_OVERFLOW_OCTAL)	  && (c == FFETARGET_integerFINISH_BIG_OVERFLOW_OCTAL)	  && (*(p + 1) == '\0'))	{	  *val = FFETARGET_integerBIG_OVERFLOW_OCTAL;	  return TRUE;	}      else#endif#if FFETARGET_integerFINISH_BIG_OVERFLOW_OCTAL == 0      if (x >= FFETARGET_integerALMOST_BIG_OVERFLOW_OCTAL)#else      if (x == FFETARGET_integerALMOST_BIG_OVERFLOW_OCTAL)	{	  if ((c > FFETARGET_integerFINISH_BIG_OVERFLOW_OCTAL)	      || (*(p + 1) != '\0'))	    {	      ffebad_start (FFEBAD_INTEGER_TOO_LARGE);	      ffebad_here (0, ffelex_token_where_line (integer),			   ffelex_token_where_column (integer));	      ffebad_finish ();	      *val = 0;	      return FALSE;	    }	}      else if (x > FFETARGET_integerALMOST_BIG_OVERFLOW_OCTAL)#endif	{	  ffebad_start (FFEBAD_INTEGER_TOO_LARGE);	  ffebad_here (0, ffelex_token_where_line (integer),		       ffelex_token_where_column (integer));	  ffebad_finish ();	  *val = 0;	  return FALSE;	}      x = (x << 3) + c;      c = *(++p);    };  if (bad_digit)    {      ffebad_start (FFEBAD_INVALID_OCTAL_DIGIT);      ffebad_here (0, ffelex_token_where_line (integer),		   ffelex_token_where_column (integer));      ffebad_finish ();    }  *val = x;  return !bad_digit;}/* ffetarget_multiply_complex1 -- Multiply function   See prototype.  */#if FFETARGET_okCOMPLEX1ffebadffetarget_multiply_complex1 (ffetargetComplex1 *res, ffetargetComplex1 l,			     ffetargetComplex1 r){  ffebad bad;  ffetargetReal1 tmp1, tmp2;  bad = ffetarget_multiply_real1 (&tmp1, l.real, r.real);  if (bad != FFEBAD)    return bad;  bad = ffetarget_multiply_real1 (&tmp2, l.imaginary, r.imaginary);  if (bad != FFEBAD)    return bad;  bad = ffetarget_subtract_real1 (&res->real, tmp1, tmp2);  if (bad != FFEBAD)    return bad;  bad = ffetarget_multiply_real1 (&tmp1, l.imaginary, r.real);  if (bad != FFEBAD)    return bad;  bad = ffetarget_multiply_real1 (&tmp2, l.real, r.imaginary);  if (bad != FFEBAD)    return bad;  bad = ffetarget_add_real1 (&res->imaginary, tmp1, tmp2);  return bad;}#endif/* ffetarget_multiply_complex2 -- Multiply function   See prototype.  */#if FFETARGET_okCOMPLEX2ffebadffetarget_multiply_complex2 (ffetargetComplex2 *res, ffetargetComplex2 l,			     ffetargetComplex2 r){  ffebad bad;  ffetargetReal2 tmp1, tmp2;  bad = ffetarget_multiply_real2 (&tmp1, l.real, r.real);  if (bad != FFEBAD)    return bad;  bad = ffetarget_multiply_real2 (&tmp2, l.imaginary, r.imaginary);  if (bad != FFEBAD)    return bad;  bad = ffetarget_subtract_real2 (&res->real, tmp1, tmp2);  if (bad != FFEBAD)    return bad;  bad = ffetarget_multiply_real2 (&tmp1, l.imaginary, r.real);  if (bad != FFEBAD)    return bad;  bad = ffetarget_multiply_real2 (&tmp2, l.real, r.imaginary);  if (bad != FFEBAD)    return bad;  bad = ffetarget_add_real2 (&res->imaginary, tmp1, tmp2);  return bad;}#endif/* ffetarget_power_complexdefault_integerdefault -- Power function   See prototype.  */ffebadffetarget_power_complexdefault_integerdefault (ffetargetComplexDefault *res,					       ffetargetComplexDefault l,					       ffetargetIntegerDefault r){  ffebad bad;  ffetargetRealDefault tmp;  ffetargetRealDefault tmp1;  ffetargetRealDefault tmp2;  ffetargetRealDefault two;  if (ffetarget_iszero_real1 (l.real)      && ffetarget_iszero_real1 (l.imaginary))    {      ffetarget_real1_zero (&res->real);      ffetarget_real1_zero (&res->imaginary);      return FFEBAD;    }  if (r == 0)    {      ffetarget_real1_one (&res->real);      ffetarget_real1_zero (&res->imaginary);      return FFEBAD;    }  if (r < 0)    {      r = -r;      bad = ffetarget_multiply_real1 (&tmp1, l.real, l.real);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real1 (&tmp2, l.imaginary, l.imaginary);      if (bad != FFEBAD)	return bad;      bad = ffetarget_add_real1 (&tmp, tmp1, tmp2);      if (bad != FFEBAD)	return bad;      bad = ffetarget_divide_real1 (&l.real, l.real, tmp);      if (bad != FFEBAD)	return bad;      bad = ffetarget_divide_real1 (&l.imaginary, l.imaginary, tmp);      if (bad != FFEBAD)	return bad;      bad = ffetarget_uminus_real1 (&l.imaginary, l.imaginary);      if (bad != FFEBAD)	return bad;    }  ffetarget_real1_two (&two);  while ((r & 1) == 0)    {      bad = ffetarget_multiply_real1 (&tmp1, l.real, l.real);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real1 (&tmp2, l.imaginary, l.imaginary);      if (bad != FFEBAD)	return bad;      bad = ffetarget_subtract_real1 (&tmp, tmp1, tmp2);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real1 (&l.imaginary, l.real, l.imaginary);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real1 (&l.imaginary, l.imaginary, two);      if (bad != FFEBAD)	return bad;      l.real = tmp;      r >>= 1;    }  *res = l;  r >>= 1;  while (r != 0)    {      bad = ffetarget_multiply_real1 (&tmp1, l.real, l.real);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real1 (&tmp2, l.imaginary, l.imaginary);      if (bad != FFEBAD)	return bad;      bad = ffetarget_subtract_real1 (&tmp, tmp1, tmp2);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real1 (&l.imaginary, l.real, l.imaginary);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real1 (&l.imaginary, l.imaginary, two);      if (bad != FFEBAD)	return bad;      l.real = tmp;      if ((r & 1) == 1)	{	  bad = ffetarget_multiply_real1 (&tmp1, res->real, l.real);	  if (bad != FFEBAD)	    return bad;	  bad = ffetarget_multiply_real1 (&tmp2, res->imaginary,					  l.imaginary);	  if (bad != FFEBAD)	    return bad;	  bad = ffetarget_subtract_real1 (&tmp, tmp1, tmp2);	  if (bad != FFEBAD)	    return bad;	  bad = ffetarget_multiply_real1 (&tmp1, res->imaginary, l.real);	  if (bad != FFEBAD)	    return bad;	  bad = ffetarget_multiply_real1 (&tmp2, res->real, l.imaginary);	  if (bad != FFEBAD)	    return bad;	  bad = ffetarget_add_real1 (&res->imaginary, tmp1, tmp2);	  if (bad != FFEBAD)	    return bad;	  res->real = tmp;	}      r >>= 1;    }  return FFEBAD;}/* ffetarget_power_complexdouble_integerdefault -- Power function   See prototype.  */#if FFETARGET_okCOMPLEXDOUBLEffebadffetarget_power_complexdouble_integerdefault (ffetargetComplexDouble *res,			ffetargetComplexDouble l, ffetargetIntegerDefault r){  ffebad bad;  ffetargetRealDouble tmp;  ffetargetRealDouble tmp1;  ffetargetRealDouble tmp2;  ffetargetRealDouble two;  if (ffetarget_iszero_real2 (l.real)      && ffetarget_iszero_real2 (l.imaginary))    {      ffetarget_real2_zero (&res->real);      ffetarget_real2_zero (&res->imaginary);      return FFEBAD;    }  if (r == 0)    {      ffetarget_real2_one (&res->real);      ffetarget_real2_zero (&res->imaginary);      return FFEBAD;    }  if (r < 0)    {      r = -r;      bad = ffetarget_multiply_real2 (&tmp1, l.real, l.real);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real2 (&tmp2, l.imaginary, l.imaginary);      if (bad != FFEBAD)	return bad;      bad = ffetarget_add_real2 (&tmp, tmp1, tmp2);      if (bad != FFEBAD)	return bad;      bad = ffetarget_divide_real2 (&l.real, l.real, tmp);      if (bad != FFEBAD)	return bad;      bad = ffetarget_divide_real2 (&l.imaginary, l.imaginary, tmp);      if (bad != FFEBAD)	return bad;      bad = ffetarget_uminus_real2 (&l.imaginary, l.imaginary);      if (bad != FFEBAD)	return bad;    }  ffetarget_real2_two (&two);  while ((r & 1) == 0)    {      bad = ffetarget_multiply_real2 (&tmp1, l.real, l.real);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real2 (&tmp2, l.imaginary, l.imaginary);      if (bad != FFEBAD)	return bad;      bad = ffetarget_subtract_real2 (&tmp, tmp1, tmp2);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real2 (&l.imaginary, l.real, l.imaginary);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real2 (&l.imaginary, l.imaginary, two);      if (bad != FFEBAD)	return bad;      l.real = tmp;      r >>= 1;    }  *res = l;  r >>= 1;  while (r != 0)    {      bad = ffetarget_multiply_real2 (&tmp1, l.real, l.real);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real2 (&tmp2, l.imaginary, l.imaginary);      if (bad != FFEBAD)	return bad;      bad = ffetarget_subtract_real2 (&tmp, tmp1, tmp2);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real2 (&l.imaginary, l.real, l.imaginary);      if (bad != FFEBAD)	return bad;      bad = ffetarget_multiply_real2 (&l.imaginary, l.imaginary, two);      if (bad != FFEBAD)	return bad;      l.real = tmp;      if ((r & 1) == 1)	{	  bad = ffetarget_multiply_real2 (&tmp1, res->real, l.real);	  if (bad != FFEBAD)	    return bad;	  bad = ffetarget_multiply_real2 (&tmp2, res->imaginary,					  l.imaginary);	  if (bad != FFEBAD)	    return bad;	  bad = ffetarget_subtract_real2 (&tmp, tmp1, tmp2);	  if (bad != FFEBAD)	    return bad;	  bad = ffetarget_multiply_real2 (&tmp1, res->imaginary, l.real);	  if (bad != FFEBAD)	    return bad;	  bad = ffetarget_multiply_real2 (&tmp2, res->real, l.imaginary);	  if (bad != FFEBAD)	    return bad;	  bad = ffetarget_add_real2 (&res->imaginary, tmp1, tmp2);	  if (bad != FFEBAD)	    return bad;	  res->real = tmp;	}      r >>= 1;    }  return FFEBAD;}#endif/* ffetarget_power_integerdefault_integerdefault -- Power function   See prototype.  */ffebadffetarget_power_integerdefault_integerdefault (ffetargetIntegerDefault *res,		       ffetargetIntegerDefault l, ffetargetIntegerDefault r){  if (l == 0)    {      *res = 0;      return FFEBAD;    }  if (r == 0)    {      *res = 1;      return FFEBAD;    }  if (r < 0)    {      if (l == 1)	*res = 1;      else if (l == 0)	*res = 1;      else if (l == -1)	*res = ((-r) & 1) == 0 ? 1 : -1;      else	*res = 0;      return FFEBAD;    }  while ((r & 1) == 0)    {      l *= l;      r >>= 1;    }  *res = l;  r >>= 1;  while (r != 0)    {      l *= l;      if ((r & 1) == 1)	*res *= l;      r >>= 1;    }  return FFEBAD;}/* ffetarget_power_realdefault_integerdefault -- Power function   See prototype.  */ffebadffetarget_power_realdefault_integerdefault (ffetargetRealDefault *res,			  ffetargetRealDefault l, ffetargetIntegerDefault r){  ffebad bad;  if (ffetarget_iszero_real1 (l))    {      ffetarget_real1_zero (res);      return FFEBAD;    }  if (r == 0)    {      ffetarget_real1_one (res);      return FFEBAD;    }  if (r < 0)    {      ffetargetRealDefault one;      ffetarget_real1_one (&one);      r = -r;      bad = ffetarget_divide_real1 (&l, one, l);      if (bad != FFEBAD)	return bad;    }  while ((r & 1) == 0)    {      bad = ffetarget_multiply_real1 (&l, l, l);      if (bad != FFEBAD)	return bad;      r >>= 1;    }  *res = l;  r >>= 1;  while (r != 0)    {      bad = ffetarget_multiply_real1 (&l, l, l);      if (bad != FFEBAD)	return bad;      if ((r & 1) == 1)	{	  bad = ffetarget_multiply_real1 (res, *res, l);	  if (bad != FFEBAD)	    return bad;	}      r >>= 1;    }  return FFEBAD;}/* ffetarget_power_realdouble_integerdefault -- Power function   See prototype.  */ffebadffetarget_power_realdouble_integerdefault (ffetargetRealDouble *res,					   ffetargetRealDouble l,					   ffetargetIntegerDefault r){  ffebad bad;  if (ffetarget_iszero_real2 (l))

⌨️ 快捷键说明

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