1/* Copyright (C) 2002 Free Software Foundation. 2 by Hans-Peter Nilsson <hp@bitrange.com>, derived from mzero2.c 3 4 In the MMIX port, negdf2 was bogusly expanding -x into 0 - x. */ 5 6double nzerod = -0.0; 7float nzerof = -0.0; 8double zerod = 0.0; 9float zerof = 0.0; 10 11void expectd (double, double); 12void expectf (float, float); 13double negd (double); 14float negf (float); 15 16main () 17{ 18 expectd (negd (zerod), nzerod); 19 expectf (negf (zerof), nzerof); 20 expectd (negd (nzerod), zerod); 21 expectf (negf (nzerof), zerof); 22 exit (0); 23} 24 25void 26expectd (double value, double expected) 27{ 28 if (value != expected 29 || memcmp ((void *)&value, (void *) &expected, sizeof (double)) != 0) 30 abort (); 31} 32 33void 34expectf (float value, float expected) 35{ 36 if (value != expected 37 || memcmp ((void *)&value, (void *) &expected, sizeof (float)) != 0) 38 abort (); 39} 40 41double 42negd (double v) 43{ 44 return -v; 45} 46 47float 48negf (float v) 49{ 50 return -v; 51} 52