xref: /freebsd/contrib/bc/tests/bc/scripts/array.bc (revision 7cc42f6d)
1#! /usr/bin/bc -q
2
3define z(a[]) {
4	for (i = 0; i < l; ++i) {
5		a[i]
6	}
7}
8
9define x(a[]) {
10
11	# Test for separate vars and arrays.
12	auto a
13
14	for (a = 0; a < l; ++a) {
15		a[a] = -a
16	}
17
18	z(a[])
19}
20
21define g(x[], y[]) {
22	return x[0] - y[0]
23}
24
25define h(y[], x[]) {
26	return g(x[], y[])
27}
28
29define m(*x[], *y[]) {
30	return x[0] / y[0]
31}
32
33define n(*y[], *x[]) {
34	return m(x[], y[])
35}
36
37for (i = 0; i < 101; ++i) {
38	a[i] = i
39}
40
41a[104] = 204
42
43l = length(a[])
44
45for (i = 0; i <= l; ++i) {
46	a[i]
47}
48
49z(a[])
50x(a[])
51z(a[])
52l
53
54x[0] = 5
55y[0] = 4
56
57h(x[], y[])
58n(x[], y[])
59
60halt
61