xref: /aosp_15_r20/external/bc/benchmarks/bc/divide.bc (revision 5a6e848804d15c18a0125914844ee4eb0bda4fcf)
1*5a6e8488SAndroid Build Coastguard Worker#! /usr/bin/bc -lq
2*5a6e8488SAndroid Build Coastguard Worker
3*5a6e8488SAndroid Build Coastguard Workerprint "scale = 20\n"
4*5a6e8488SAndroid Build Coastguard Workerprint "x = 1234567890 * 10^(-scale)\n"
5*5a6e8488SAndroid Build Coastguard Workerprint "len = 1 + 2 * scale\n"
6*5a6e8488SAndroid Build Coastguard Workerprint "scale += 10\n"
7*5a6e8488SAndroid Build Coastguard Worker
8*5a6e8488SAndroid Build Coastguard Workerscale = 20
9*5a6e8488SAndroid Build Coastguard Workerx = 1234567890 * 10^(-scale)
10*5a6e8488SAndroid Build Coastguard Workerlen = 1 + 2 * scale
11*5a6e8488SAndroid Build Coastguard Worker
12*5a6e8488SAndroid Build Coastguard Workerscale += 10
13*5a6e8488SAndroid Build Coastguard Worker
14*5a6e8488SAndroid Build Coastguard Workerfor (i = 0; i <= len; ++i) {
15*5a6e8488SAndroid Build Coastguard Worker	print "a[", i, "] = x * (10^", i, ")\n"
16*5a6e8488SAndroid Build Coastguard Worker}
17*5a6e8488SAndroid Build Coastguard Worker
18*5a6e8488SAndroid Build Coastguard Workerfor (i = 1; i <= 10000; ++i) {
19*5a6e8488SAndroid Build Coastguard Worker	for (j = 0; j < len; ++j) {
20*5a6e8488SAndroid Build Coastguard Worker		print "v = a[0] / a[", j, "]\n"
21*5a6e8488SAndroid Build Coastguard Worker		print "v = a[", i, "] / a[", j, "]\n"
22*5a6e8488SAndroid Build Coastguard Worker		print "v = (a[0] * ", i, ") / a[", j, "]\n"
23*5a6e8488SAndroid Build Coastguard Worker		print "v = a[0] / (a[", j, "] * ", i, ")\n"
24*5a6e8488SAndroid Build Coastguard Worker		print "v = (a[0] * ", i, ") / (a[", j, "] * ", i, ")\n"
25*5a6e8488SAndroid Build Coastguard Worker	}
26*5a6e8488SAndroid Build Coastguard Worker}
27