blob: 1201005226d088bef8db2d0944b8c6c395d909e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# Tests side effects (like caching) on the evaluation (formatting and
# rounding) of MPFR variables vs literals.
BEGIN {
pi = 3.1416
e = 2.7183
golden = 1.6180
# Evaluated as number with (default) OFMT.
print pi
print e
print golden
printf "\n"
# Evaluated as number with (custom) OFMT.
OFMT = "%.f"
ROUNDMODE = "U"; print "Variable pi U:", pi
ROUNDMODE = "D"; print "Variable pi D:", pi
ROUNDMODE = "U"; print "Literal pi U:", 3.1416
ROUNDMODE = "D"; print "Literal pi D:", 3.1416
printf "\n"
# Evaluated as string with (custom) CONVFMT. Absent comma.
CONVFMT = "%.f"
ROUNDMODE = "D"; print "Variable e D: " e
ROUNDMODE = "U"; print "Variable e U: " e
ROUNDMODE = "D"; print "Literal e D: " 2.7183
ROUNDMODE = "U"; print "Literal e U: " 2.7183
printf "\n"
# Evaluated as number with (hardcoded) printf conversion.
ROUNDMODE = "N"; printf "Variable golden N: %.f\n", golden
ROUNDMODE = "Z"; printf "Variable golden Z: %.f\n", golden
ROUNDMODE = "N"; printf "Literal golden N: %.f\n", 1.6180
ROUNDMODE = "Z"; printf "Literal golden Z: %.f\n", 1.6180
}
|