Exemple #1
0
float sqrtfcn(float val)
{
   float x = val/10;

   float dx;

   double diff;
   double min_tol = 0.00001;

   int i, flag;

   flag = 0;
   if (val == 0 )
      x = 0;
   else {
      for (i=1;i<20;i++)
      {
         if (!flag) {
            dx = (val - (x*x)) / (2.0 * x);
            x = x + dx;
            diff = val - (x*x);
            if (fabs1(diff) <= min_tol)
               flag = 1;
         }
         else {} /* JG */
/*            x =x; */
      }
   }
   return (x);
}
Exemple #2
0
int main(void)
{
#ifdef _MSC_VER
	NAN /= ZERO;
	INFINITY /= ZERO;
#endif
	printf("abs1(%f) = %f\n", NAN, fabs1(NAN));
	printf("abs2(%f) = %f\n", NAN, fabs2(NAN));
	printf("abs1(%f) = %f\n", 1.0, fabs1(1.0));
	printf("abs2(%f) = %f\n", 1.0, fabs2(1.0));
	printf("abs1(%f) = %f\n", -1.0, fabs1(-1.0));
	printf("abs2(%f) = %f\n", -1.0, fabs2(-1.0));
	printf("abs1(%f) = %f\n", INFINITY, fabs1(INFINITY));
	printf("abs2(%f) = %f\n", INFINITY, fabs2(INFINITY));
	printf("abs1(%f) = %f\n", -INFINITY, fabs1(-INFINITY));
	printf("abs2(%f) = %f\n", -INFINITY, fabs2(-INFINITY));

	return 0;
}