aboutsummaryrefslogtreecommitdiff
path: root/contrib/bc/benchmarks/bc/divide.bc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bc/benchmarks/bc/divide.bc')
-rw-r--r--contrib/bc/benchmarks/bc/divide.bc26
1 files changed, 26 insertions, 0 deletions
diff --git a/contrib/bc/benchmarks/bc/divide.bc b/contrib/bc/benchmarks/bc/divide.bc
new file mode 100644
index 000000000000..227794badbcb
--- /dev/null
+++ b/contrib/bc/benchmarks/bc/divide.bc
@@ -0,0 +1,26 @@
+#! /usr/bin/bc -lq
+
+print "scale = 20\n"
+print "x = 1234567890 * 10^(-scale)\n"
+print "len = 1 + 2 * scale\n"
+print "scale += 10\n"
+
+scale = 20
+x = 1234567890 * 10^(-scale)
+len = 1 + 2 * scale
+
+scale += 10
+
+for (i = 0; i <= len; ++i) {
+ print "a[", i, "] = x * (10^", i, ")\n"
+}
+
+for (i = 1; i <= 10000; ++i) {
+ for (j = 0; j < len; ++j) {
+ print "v = a[0] / a[", j, "]\n"
+ print "v = a[", i, "] / a[", j, "]\n"
+ print "v = (a[0] * ", i, ") / a[", j, "]\n"
+ print "v = a[0] / (a[", j, "] * ", i, ")\n"
+ print "v = (a[0] * ", i, ") / (a[", j, "] * ", i, ")\n"
+ }
+}