#!/bin/sh

mkdir batmp$$
cd batmp$$

cat > ba.im <<EOF
generate basic_array;
priority last;

0x0..0x10 => 0..16;
32..63 => 0x20..0x3F;
35 -> 9;
12 -> 23
EOF

err=0

../icemap -C map.c -H map.h ba.im || err=$?
if test $err = 0
then
  gcc -g -O0 -I. -o inttest ../inttest.c map.c || err=$?
fi
if test $err = 0 ; then ./inttest 0 63 > results.dat || err=$? ; fi

cat > target.dat <<EOF
TOP
1 -> 1
2 -> 2
3 -> 3
4 -> 4
5 -> 5
6 -> 6
7 -> 7
8 -> 8
9 -> 9
10 -> 10
11 -> 11
12 -> 23
13 -> 13
14 -> 14
15 -> 15
16 -> 16
32 -> 32
33 -> 33
34 -> 34
35 -> 9
36 -> 36
37 -> 37
38 -> 38
39 -> 39
40 -> 40
41 -> 41
42 -> 42
43 -> 43
44 -> 44
45 -> 45
46 -> 46
47 -> 47
48 -> 48
49 -> 49
50 -> 50
51 -> 51
52 -> 52
53 -> 53
54 -> 54
55 -> 55
56 -> 56
57 -> 57
58 -> 58
59 -> 59
60 -> 60
61 -> 61
62 -> 62
63 -> 63
BOTTOM
EOF
if test $err = 0 ; then diff target.dat results.dat || err=$? ; fi

cd ..
rm -rf batmp$$

exit $err
