File: mpfrrndeval.awk

package info (click to toggle)
gawk 1%3A4.2.1%2Bdfsg-1
  • links: PTS
  • area: main
  • in suites: buster
  • size: 20,880 kB
  • sloc: ansic: 50,919; awk: 12,043; yacc: 6,393; sh: 5,675; makefile: 2,856; sed: 128; csh: 6
file content (35 lines) | stat: -rw-r--r-- 1,100 bytes parent folder | download | duplicates (4)
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
}