mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
Release calc version 2.10.3t5.45
This commit is contained in:
56
lib/test5100.cal
Normal file
56
lib/test5100.cal
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* 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 chongo@toad.com
|
||||
*
|
||||
* 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;
|
||||
}
|
||||
|
||||
if (config("lib_debug") >= 0) {
|
||||
print "global a5100";
|
||||
print "global b5100";
|
||||
print "test5100(x) defined";
|
||||
}
|
Reference in New Issue
Block a user