|
|
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 -R12 -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 = "real12.c"; ! 66: ! 67: /* 6.00000000000000E+000 -= 1.00000000000000E+000 => 5.00000000000000E+000 */ ! 68: /* 2.00000000000000E+000 += 5.00000000000000E+000 => 7.00000000000000E+000 */ ! 69: /* pre++ 3.00000E+000 => 4.00000E+000 */ ! 70: /* 2.00000E+000 += 4.00000E+000 => 6.00000E+000 */ ! 71: /* 7.00000E+000 <= 6.00000E+000 => 0 */ ! 72: iequals(__LINE__, ((*pd2 += (*pd6 -= *pd1)) <= (f2 += ( ++ f3))), 0); ! 73: fequals(__LINE__, f3, 4.00000E+000); ! 74: fequals(__LINE__, f2, 6.00000E+000); ! 75: fequals(__LINE__, d6, 5.00000E+000); ! 76: fequals(__LINE__, d2, 7.00000E+000); ! 77: ! 78: /* 1.00000000000000E+000 += 6.00000E+000 => 7.00000000000000E+000 */ ! 79: /* 3.00000000000000E+000 += 7.00000000000000E+000 => 1.00000000000000E+001 */ ! 80: /* 4.00000000000000E+000 != 4.00000E+000 => 0 */ ! 81: /* 0 != 4.00000000000000E+000 => 1 */ ! 82: /* 1.00000000000000E+001 <= 1 => 0 */ ! 83: iequals(__LINE__, ((*pd3 += (d1 += f2)) <= ((*pd4 != f4) != d4)), 0); ! 84: dequals(__LINE__, d1, 7.00000000000000E+000); ! 85: dequals(__LINE__, d3, 1.00000000000000E+001); ! 86: ! 87: /* 4.00000E+000 <= 6.00000E+000 => 1 */ ! 88: /* 1 != 5.00000000000000E+000 => 1 */ ! 89: /* post-- 6.00000000000000E+000 => 7.00000000000000E+000 */ ! 90: /* 4.00000E+000 *= 7.00000E+000 => 2.80000E+001 */ ! 91: /* 1 && 2.80000E+001 => 1 */ ! 92: iequals(__LINE__, (((f3 <= *pf2) != d5) && (*pf4 *= ((d1)-- ))), 1); ! 93: fequals(__LINE__, d1, 6.00000E+000); ! 94: fequals(__LINE__, f4, 2.80000E+001); ! 95: ! 96: /* post++ 6.00000000000000E+000 => 5.00000000000000E+000 */ ! 97: /* ! 5.00000000000000E+000 => 0 */ ! 98: /* 5.00000000000000E+000 + 5.00000000000000E+000 => 1.00000000000000E+001 */ ! 99: /* 5.00000000000000E+000 && 1.00000000000000E+001 => 1 */ ! 100: /* 0 / 1 => 0 */ ! 101: iequals(__LINE__, (( ! ((*pd5)++ )) / (d6 && (d6 + d6))), 0); ! 102: dequals(__LINE__, d5, 6.00000000000000E+000); ! 103: ! 104: /* post++ 5.00000E+000 => 4.00000E+000 */ ! 105: /* pre++ 2.80000E+001 => 2.90000E+001 */ ! 106: /* 4.00000E+000 * 2.90000E+001 => 1.16000E+002 */ ! 107: /* 1 >= 1.16000E+002 => 0 */ ! 108: iequals(__LINE__, ((((*pf3)++ ) || d6) >= (d4 * ( ++ f4))), 0); ! 109: fequals(__LINE__, f4, 2.90000E+001); ! 110: fequals(__LINE__, f3, 5.00000E+000); ! 111: ! 112: return report(Filename); ! 113: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.