1 /* $OpenBSD: exp.c,v 1.3 2017/08/06 20:31:58 robert Exp $ */ 2 3 /* Written by Otto Moerbeek, 2006, Public domain. */ 4 5 #include <math.h> 6 #include <err.h> 7 8 int 9 main(void) 10 { 11 double rd, bigd = HUGE_VAL; 12 float rf, bigf = HUGE_VALF; 13 long double rl, bigl = HUGE_VALL; 14 15 rd = exp(bigd); 16 if (!isinf(rd)) 17 errx(1, "exp(bigd) = %f", rd); 18 rd = exp(-bigd); 19 if (rd != 0.0) 20 errx(1, "exp(-bigd) = %f", rd); 21 22 rf = expf(bigf); 23 if (!isinf(rf)) 24 errx(1, "exp(bigf) = %f", rf); 25 rf = expf(-bigf); 26 if (rf != 0.0F) 27 errx(1, "exp(-bigf) = %f", rf); 28 29 rl = expl(bigl); 30 if (!isinf(rl)) 31 errx(1, "exp(bigl) = %Lf", rl); 32 rl = expl(-bigl); 33 if (rl != 0.0L) 34 errx(1, "exp(-bigl) = %Lf", rl); 35 36 return (0); 37 } 38