powtst.c 617 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include <stdio.h>
  2. #include <math.h>
  3. extern float MAXNUMF, MAXLOGF, MINLOGF;
  4. int
  5. main()
  6. {
  7. float exp1, minnum, x, y, z, e;
  8. exp1 = expf(1.0F);
  9. minnum = powif(2.0F,-149);
  10. x = exp1;
  11. y = MINLOGF + logf(0.501);
  12. /*y = MINLOGF - 0.405;*/
  13. z = powf(x,y);
  14. e = (z - minnum) / minnum;
  15. printf("%.16e %.16e\n", z, e);
  16. x = exp1;
  17. y = MAXLOGF;
  18. z = powf(x,y);
  19. e = (z - MAXNUMF) / MAXNUMF;
  20. printf("%.16e %.16e\n", z, e);
  21. x = MAXNUMF;
  22. y = 1.0F/MAXLOGF;
  23. z = powf(x,y);
  24. e = (z - exp1) / exp1;
  25. printf("%.16e %.16e\n", z, e);
  26. x = exp1;
  27. y = MINLOGF;
  28. z = powf(x,y);
  29. e = (z - minnum) / minnum;
  30. printf("%.16e %.16e\n", z, e);
  31. exit(0);
  32. }