|
|
1.1 ! root 1: /* The Plum Hall Validation Suite for C ! 2: * Unpublished copyright (c) 1986-1991, Chiron Systems Inc and Plum Hall Inc. ! 3: * VERSION: 4 ! 4: * DATE: 1993-01-01 ! 5: * The "ANSI" mode of the Suite corresponds to the official ANSI C, X3.159-1989. ! 6: * As per your license agreement, your distribution is not to be moved or copied outside the Designated Site ! 7: * without specific permission from Plum Hall Inc. ! 8: */ ! 9: ! 10: /**************************************************************************** ! 11: ** Self-checking C source code generated by EGEN component of ** ! 12: ** The Plum Hall Validation Suite for C. ** ! 13: ** (C) 1986-1988 Chiron Systems Inc and Plum Hall Inc ** ! 14: ** EGEN Version 1.09.000 88/08/21 ** ! 15: ** ** ! 16: ** EGEN -P -R10 -V -A -N5 -Dreal.gen ( @ @ ) @ ( @ @ ) ** ! 17: ****************************************************************************/ ! 18: #include "defs.h" ! 19: ! 20: ! 21: int main() ! 22: { ! 23: extern char *Filename; ! 24: auto float f1; ! 25: auto float * pf1; ! 26: auto float f2; ! 27: auto float * pf2; ! 28: auto float f3; ! 29: auto float * pf3; ! 30: auto float f4; ! 31: auto float * pf4; ! 32: auto double d1; ! 33: auto double * pd1; ! 34: auto double d2; ! 35: auto double * pd2; ! 36: auto double d3; ! 37: auto double * pd3; ! 38: auto double d4; ! 39: auto double * pd4; ! 40: auto double d5; ! 41: auto double * pd5; ! 42: auto double d6; ! 43: auto double * pd6; ! 44: ! 45: f1 = fvalue(1.000000E+000); ! 46: pf1 = &f1; ! 47: f2 = fvalue(2.000000E+000); ! 48: pf2 = &f2; ! 49: f3 = fvalue(3.000000E+000); ! 50: pf3 = &f3; ! 51: f4 = fvalue(4.000000E+000); ! 52: pf4 = &f4; ! 53: d1 = dvalue(1.000000000000000E+000); ! 54: pd1 = &d1; ! 55: d2 = dvalue(2.000000000000000E+000); ! 56: pd2 = &d2; ! 57: d3 = dvalue(3.000000000000000E+000); ! 58: pd3 = &d3; ! 59: d4 = dvalue(4.000000000000000E+000); ! 60: pd4 = &d4; ! 61: d5 = dvalue(5.000000000000000E+000); ! 62: pd5 = &d5; ! 63: d6 = dvalue(6.000000000000000E+000); ! 64: pd6 = &d6; ! 65: Filename = "real10.c"; ! 66: ! 67: /* post++ 2.00000000000000E+000 => 1.00000000000000E+000 */ ! 68: /* 1.00000000000000E+000 + 4.00000E+000 => 5.00000000000000E+000 */ ! 69: /* 3.00000000000000E+000 != 2.00000000000000E+000 => 1 */ ! 70: /* 2.00000E+000 += 1 => 3.00000E+000 */ ! 71: /* 5.00000E+000 + 3.00000E+000 => 8.00000E+000 */ ! 72: fequals(__LINE__, ((((*pd1)++ ) + *pf4) + (*pf2 += (*pd3 != d2))), 8.00000E+000); ! 73: fequals(__LINE__, f2, 3.00000E+000); ! 74: fequals(__LINE__, d1, 2.00000E+000); ! 75: ! 76: /* neg 4.00000E+000 => -4.00000E+000 */ ! 77: /* -4.00000E+000 + 3.00000E+000 => -1.00000E+000 */ ! 78: /* post-- 3.00000E+000 => 4.00000E+000 */ ! 79: /* 3.00000E+000 / 4.00000E+000 => 7.50000E-001 */ ! 80: /* -1.00000E+000 / 7.50000E-001 => -1.33333E+000 */ ! 81: fequals(__LINE__, ((( - f4) + *pd3) / (f3 / ((*pd4)-- ))), -1.3333333333333333333333333E+000); ! 82: fequals(__LINE__, d4, 3.00000E+000); ! 83: ! 84: /* 3.00000E+000 + 3.00000000000000E+000 => 6.00000000000000E+000 */ ! 85: /* 4.00000E+000 *= 6.00000E+000 => 2.40000E+001 */ ! 86: /* 1.00000E+000 *= 5.00000E+000 => 5.00000E+000 */ ! 87: /* 2.00000E+000 *= 5.00000E+000 => 1.00000E+001 */ ! 88: /* 2.40000E+001 > 1.00000E+001 => 1 */ ! 89: iequals(__LINE__, ((*pf4 *= (f2 + *pd3)) > (*pd1 *= (*pf1 *= d5))), 1); ! 90: fequals(__LINE__, f1, 5.00000E+000); ! 91: fequals(__LINE__, d1, 1.00000E+001); ! 92: fequals(__LINE__, f4, 2.40000E+001); ! 93: ! 94: /* pre-- 1.00000000000000E+001 => 9.00000000000000E+000 */ ! 95: /* 3.00000E+000 == 9.00000000000000E+000 => 0 */ ! 96: iequals(__LINE__, ((*pf3 == ( -- d1)) && (((d6)-- ) - d2)), 0); ! 97: dequals(__LINE__, d6, 6.00000000000000E+000); ! 98: dequals(__LINE__, d1, 9.00000000000000E+000); ! 99: ! 100: /* post-- 1.00000000000000E+000 => 2.00000000000000E+000 */ ! 101: /* 2.00000000000000E+000 * 5.00000E+000 => 1.00000000000000E+001 */ ! 102: /* neg 6.00000000000000E+000 => -6.00000000000000E+000 */ ! 103: /* 3.00000000000000E+000 -= -6.00000000000000E+000 => 9.00000000000000E+000 */ ! 104: /* 1.00000000000000E+001 * 9.00000000000000E+000 => 9.00000000000000E+001 */ ! 105: dequals(__LINE__, ((((d2)-- ) * *pf1) * (d3 -= ( - d6))), 9.00000000000000E+001); ! 106: dequals(__LINE__, d3, 9.00000000000000E+000); ! 107: dequals(__LINE__, d2, 1.00000000000000E+000); ! 108: ! 109: return report(Filename); ! 110: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.