|
|
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 -R7 -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 = "real7.c"; ! 66: ! 67: /* neg 5.00000000000000E+000 => -5.00000000000000E+000 */ ! 68: /* 1.00000E+000 == -5.00000000000000E+000 => 0 */ ! 69: /* 4.00000000000000E+000 /= 2.00000000000000E+000 => 2.00000000000000E+000 */ ! 70: /* 6.00000000000000E+000 = 2.00000000000000E+000 => 2.00000000000000E+000 */ ! 71: /* 0 <= 2.00000000000000E+000 => 1 */ ! 72: iequals(__LINE__, ((*pf1 == ( - d5)) <= (d6 = (d4 /= d2))), 1); ! 73: dequals(__LINE__, d4, 2.00000000000000E+000); ! 74: dequals(__LINE__, d6, 2.00000000000000E+000); ! 75: ! 76: /* 2.00000E+000 > 2.00000000000000E+000 => 0 */ ! 77: /* 0 != 2.00000000000000E+000 => 1 */ ! 78: /* pre-- 1.00000E+000 => 0.00000E+000 */ ! 79: /* 2.00000E+000 - 0.00000E+000 => 2.00000E+000 */ ! 80: /* 1 / 2.00000E+000 => 5.00000E-001 */ ! 81: fequals(__LINE__, (((*pf2 > d4) != d6) / (*pd4 - ( -- f1))), 5.00000E-001); ! 82: fequals(__LINE__, f1, 0.00000E+000); ! 83: ! 84: /* 1.00000000000000E+000 = 2.00000000000000E+000 => 2.00000000000000E+000 */ ! 85: /* 4.00000E+000 -= 2.00000E+000 => 2.00000E+000 */ ! 86: /* post-- -1.00000E+000 => 0.00000E+000 */ ! 87: /* 0.00000E+000 == 2.00000E+000 => 0 */ ! 88: /* 2.00000E+000 != 0 => 1 */ ! 89: iequals(__LINE__, ((*pf4 -= (d1 = d4)) != (((*pf1)-- ) == d2)), 1); ! 90: fequals(__LINE__, f1, -1.00000E+000); ! 91: fequals(__LINE__, d1, 2.00000E+000); ! 92: fequals(__LINE__, f4, 2.00000E+000); ! 93: ! 94: /* 3.00000000000000E+000 /= 2.00000000000000E+000 => 1.50000000000000E+000 */ ! 95: /* 2.00000000000000E+000 -= 1.50000000000000E+000 => 5.00000000000000E-001 */ ! 96: /* 2.00000E+000 * 2.00000E+000 => 4.00000E+000 */ ! 97: /* 2.00000E+000 += 4.00000E+000 => 6.00000E+000 */ ! 98: /* 5.00000E-001 && 6.00000E+000 => 1 */ ! 99: iequals(__LINE__, ((*pd4 -= (d3 /= *pd2)) && (d1 += (f4 * *pf2))), 1); ! 100: fequals(__LINE__, d1, 6.00000E+000); ! 101: fequals(__LINE__, d3, 1.50000E+000); ! 102: fequals(__LINE__, d4, 5.00000E-001); ! 103: ! 104: /* 2.00000E+000 != 5.00000000000000E+000 => 1 */ ! 105: /* 1 && -1.00000E+000 => 1 */ ! 106: /* 2.00000E+000 && -1.00000E+000 => 1 */ ! 107: /* 3.00000E+000 /= 1 => 3.00000E+000 */ ! 108: /* 1 - 3.00000E+000 => -2.00000E+000 */ ! 109: fequals(__LINE__, (((*pf4 != *pd5) && f1) - (f3 /= (f2 && f1))), -2.00000E+000); ! 110: fequals(__LINE__, f3, 3.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.