From 1c7864f6d4380797b07c7149111066b61f69f689 Mon Sep 17 00:00:00 2001 From: tma Date: Tue, 4 Oct 2005 15:18:22 +0000 Subject: * Moved lcc and q3asm into code/tools git-svn-id: svn://svn.icculus.org/quake3/trunk@134 edf5b092-35ff-0310-97b2-ce42778d08ea --- lcc/mips/irix/tst/paranoia.1bk | 178 ----------------------------------------- 1 file changed, 178 deletions(-) delete mode 100644 lcc/mips/irix/tst/paranoia.1bk (limited to 'lcc/mips/irix/tst/paranoia.1bk') diff --git a/lcc/mips/irix/tst/paranoia.1bk b/lcc/mips/irix/tst/paranoia.1bk deleted file mode 100644 index 158f649..0000000 --- a/lcc/mips/irix/tst/paranoia.1bk +++ /dev/null @@ -1,178 +0,0 @@ -Lest this program stop prematurely, i.e. before displaying - - `END OF TEST', - -try to persuade the computer NOT to terminate execution when an -error like Over/Underflow or Division by Zero occurs, but rather -to persevere with a surrogate value after, perhaps, displaying some -warning. If persuasion avails naught, don't despair but run this -program anyway to see how many milestones it passes, and then -amend it to make further progress. - -Answer questions with Y, y, N or n (unless otherwise indicated). - - -Diagnosis resumes after milestone Number 0 Page: 1 - -Users are invited to help debug and augment this program so it will -cope with unanticipated and newly uncovered arithmetic pathologies. - -Please send suggestions and interesting results to - Richard Karpinski - Computer Center U-76 - University of California - San Francisco, CA 94143-0704, USA - -In doing so, please include the following information: - Precision: double; - Version: 10 February 1989; - Computer: - - Compiler: - - Optimization level: - - Other relevant compiler options: - -Diagnosis resumes after milestone Number 1 Page: 2 - -Running this program should reveal these characteristics: - Radix = 1, 2, 4, 8, 10, 16, 100, 256 ... - Precision = number of significant digits carried. - U2 = Radix/Radix^Precision = One Ulp - (OneUlpnit in the Last Place) of 1.000xxx . - U1 = 1/Radix^Precision = One Ulp of numbers a little less than 1.0 . - Adequacy of guard digits for Mult., Div. and Subt. - Whether arithmetic is chopped, correctly rounded, or something else - for Mult., Div., Add/Subt. and Sqrt. - Whether a Sticky Bit used correctly for rounding. - UnderflowThreshold = an underflow threshold. - E0 and PseudoZero tell whether underflow is abrupt, gradual, or fuzzy. - V = an overflow threshold, roughly. - V0 tells, roughly, whether Infinity is represented. - Comparisions are checked for consistency with subtraction - and for contamination with pseudo-zeros. - Sqrt is tested. Y^X is not tested. - Extra-precise subexpressions are revealed but NOT YET tested. - Decimal-Binary conversion is NOT YET tested for accuracy. - -Diagnosis resumes after milestone Number 2 Page: 3 - -The program attempts to discriminate among - FLAWs, like lack of a sticky bit, - Serious DEFECTs, like lack of a guard digit, and - FAILUREs, like 2+2 == 5 . -Failures may confound subsequent diagnoses. - -The diagnostic capabilities of this program go beyond an earlier -program called `MACHAR', which can be found at the end of the -book `Software Manual for the Elementary Functions' (1980) by -W. J. Cody and W. Waite. Although both programs try to discover -the Radix, Precision and range (over/underflow thresholds) -of the arithmetic, this program tries to cope with a wider variety -of pathologies, and to say how well the arithmetic is implemented. - -The program is based upon a conventional radix representation for -floating-point numbers, but also allows logarithmic encoding -as used by certain early WANG machines. - -BASIC version of this program (C) 1983 by Prof. W. M. Kahan; -see source comments for more history. - -Diagnosis resumes after milestone Number 3 Page: 4 - -Program is now RUNNING tests on small integers: --1, 0, 1/2, 1, 2, 3, 4, 5, 9, 27, 32 & 240 are O.K. - -Searching for Radix and Precision. -Radix = 2.000000 . -Closest relative separation found is U1 = 1.1102230e-16 . - -Recalculating radix and precision - confirms closest relative separation U1 . -Radix confirmed. -The number of significant digits of the Radix is 53.000000 . - -Diagnosis resumes after milestone Number 30 Page: 5 - -Subtraction appears to be normalized, as it should be. -Checking for guard digit in *, /, and -. - *, /, and - appear to have guard digits, as they should. - -Diagnosis resumes after milestone Number 40 Page: 6 - -Checking rounding on multiply, divide and add/subtract. -Multiplication appears to round correctly. -Division appears to round correctly. -Addition/Subtraction appears to round correctly. -Checking for sticky bit. -Sticky bit apparently used correctly. - -Does Multiplication commute? Testing on 20 random pairs. - No failures found in 20 integer pairs. - -Running test of square root(x). -Testing if sqrt(X * X) == X for 20 Integers X. -Test for sqrt monotonicity. -sqrt has passed a test for Monotonicity. -Testing whether sqrt is rounded or chopped. -Square root appears to be correctly rounded. - -Diagnosis resumes after milestone Number 90 Page: 7 - -Testing powers Z^i for small Integers Z and i. -... no discrepancis found. - -Seeking Underflow thresholds UfThold and E0. -Smallest strictly positive number found is E0 = 4.94066e-324 . -Since comparison denies Z = 0, evaluating (Z + Z) / Z should be safe. -What the machine gets for (Z + Z) / Z is 2.00000000000000000e+00 . -This is O.K., provided Over/Underflow has NOT just been signaled. -Underflow is gradual; it incurs Absolute Error = -(roundoff in UfThold) < E0. -The Underflow threshold is 2.22507385850720190e-308, below which -calculation may suffer larger Relative error than merely roundoff. -Since underflow occurs below the threshold -UfThold = (2.00000000000000000e+00) ^ (-1.02200000000000000e+03) -only underflow should afflict the expression - (2.00000000000000000e+00) ^ (-1.02200000000000000e+03); -actually calculating yields: 0.00000000000000000e+00 . -This computed value is O.K. - -Testing X^((X + 1) / (X - 1)) vs. exp(2) = 7.38905609893065220e+00 as X -> 1. -Accuracy seems adequate. -Testing powers Z^Q at four nearly extreme values. - ... no discrepancies found. - - -Diagnosis resumes after milestone Number 160 Page: 8 - -Searching for Overflow threshold: -This may generate an error. -Can `Z = -Y' overflow? -Trying it on Y = -inf . -Seems O.K. -Overflow threshold is V = 1.79769313486231570e+308 . -Overflow saturates at V0 = inf . -No Overflow should be signaled for V * 1 = 1.79769313486231570e+308 - nor for V / 1 = 1.79769313486231570e+308 . -Any overflow signal separating this * from the one -above is a DEFECT. - - -Diagnosis resumes after milestone Number 190 Page: 9 - - -What message and/or values does Division by Zero produce? - Trying to compute 1 / 0 produces ... inf . - - Trying to compute 0 / 0 produces ... nan . - -Diagnosis resumes after milestone Number 220 Page: 10 - - - -No failures, defects nor flaws have been discovered. -Rounding appears to conform to the proposed IEEE standard P754. -The arithmetic diagnosed appears to be Excellent! -END OF TEST. -- cgit v1.2.3