mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
51 lines
1.6 KiB
Plaintext
51 lines
1.6 KiB
Plaintext
/*
|
|
* Copyright (c) 1996 Ernest Bowen and Landon Curt Noll
|
|
* Permission is granted to use, distribute, or modify this source,
|
|
* provided that this copyright notice remains intact.
|
|
*
|
|
* By: Ernest Bowen and Landon Curt Noll
|
|
* ernie@neumann.une.edu.au and http://reality.sgi.com/chongo
|
|
*
|
|
* This library is used by the 5100 series of the regress.cal test suite.
|
|
*/
|
|
|
|
global defaultverbose = 1; /* default verbose value */
|
|
global err;
|
|
|
|
/*
|
|
* test5100 - test the new code generator declaration scope and order
|
|
*
|
|
* In this function two static variables a5100 and b5100 are created,
|
|
* with zero value, when the definition is read.
|
|
*
|
|
* The variable a5100 is initialized with the value x if and when this
|
|
* function is first called with a positive even x. The varable b5100
|
|
* is similarly initialized if and when this function is first called positive
|
|
* odd x.
|
|
*
|
|
* Each time this function is called with positive integer x, a5100 or
|
|
* b5100 is incremented.
|
|
*
|
|
* Finally the values of the static variables are assigned to the global
|
|
* variables a5100 and b5100.
|
|
*
|
|
* Immediately after the last of several calls to this function
|
|
* a5100 = 0 if none of the x's have been positive even, otherwise
|
|
* a5100 = the first positive even x + the number of positive even x's,
|
|
* and b5100 = 0 if none of the x's have been positive odd, otherwise
|
|
* b5100 = the first positive odd x + the number of positive odd x's.
|
|
*/
|
|
define test5100(x)
|
|
{
|
|
if (isint(x) && x > 0) {
|
|
if (iseven(x)) {
|
|
static a5100 = x;
|
|
a5100++;
|
|
} else {
|
|
static b5100 = x;
|
|
b5100++;
|
|
}
|
|
}
|
|
global a5100 = a5100, b5100 = b5100;
|
|
}
|