home *** CD-ROM | disk | FTP | other *** search
- /* This function "t" tests the function "f" to see if computing at
- two different scales has much effect on the accuracy.
- test from f(x) to f(y) incrementing the index by d. f(i) is
- computed at two scales, scale s and then scale t, where t>s.
- the result from scale t is divided by 1 at scale s and the
- results are compared. If they are different, the function is
- said to have failed. It will then print out the value of i
- (called index) and the two original values val1 (scale s) and
- val2 (scale t) */
-
- define t (x,y,d,s,t) {
- auto u, v, w, i, b, c;
-
- if (s >= t) {
- "Bad Scales. Try again.
- "; return;
- }
-
- for (i = x; i < y; i += d) {
- scale = s;
- u = f(i);
- scale = t;
- v = f(i);
- scale = s;
- w = v / 1;
- b += 1;
- if (u != w) {
- c += 1;
- "
- Failed:
- "
- " index = "; i;
- " val1 = "; u;
- " val2 = "; v;
- "
- "
- }
- }
-
- "
- Total tests: "; b;
- "
- Total failures: "; c;
- "
- Percent failed: "; scale = 2; c*100/b;
-
- }
-