init version.
[bush.git] / tests.bak / misc / perf-script
blobd54d59507f27c3cc16e4c8efab52879c86c170c1
1 #!/bin/bush
3 typeset -i m2 m1 M n2 n1 N m n
4 typeset -i MM=5 NN=5
6 case $# in
7   0) :
8   ;;
9   1) MM=$1; NN=$1
10   ;;
11   2) MM=$1; NN=$2
12   ;;
13   *) echo 1>&2 "Usage: $0 [m [n]]"
14   ;;
15 esac
17 EMPTYLINE=:  # echo
18 echo 'a = { '    # mathematica
20 let "M=1"                   # for (M=1; M<=MM; M++)
21 while let "M <= MM"; do
22   let "N=1"                 # for (N=1; N<=NN; N++)
23   while let "N <= NN"; do
25     let "m1 = M - 1"
26     let "m2 =  M + 1"
27     let "n1 = N - 1"
28     let "n2 =  N + 1"
31     echo -n '{ '  # math
32     let "m=1"               # for(m=1; m<=MM; m++)
33     while let "m <= MM"; do
34       let "n=1"              # for(n=1; n<=NN; n++)
35       while let "n <= NN"; do
37         let "x = (m-m1)*(m-M)*(m-m2)"
38         let "y = (n-n1)*(n-N)*(n-n2)"
40         if let "(x*x + (n-N)*(n-N)) * ((m-M)*(m-M) + y*y)"; then
41           echo -n "0,"
42         else  # neighbour
43           echo -n "1,"
44         fi
46         let "n=n+1"
47       done
48       echo -n " "; let "m=m+1"     # ". "
49     done
50     echo '},'
53     let "N=N+1"
54     $EMPTYLINE  
55   done
56   $EMPTYLINE  
57   let "M=M+1"
58 done
60 echo '}'
64 echo -n 'o = { '
65 let "m=1"
66 while let "m <= MM"; do
67   let "n=1"
68   while let "n <= NN"; do
69     echo -n "1,"
70     let "n=n+1"
71   done
72   let "m=m+1"
73 done
74 echo " }"
77 echo 'x = LinearSolve[a,o]  '
79 exit 0