Statistiques
| Branche: | Révision :

meplib / 00model / prepareForPipCF.sh @ master

Historique | Voir | Annoter | Télécharger (2,58 ko)

1 08aa5d9e Serge Torres
#! /bin/sh
2 08aa5d9e Serge Torres
#
3 08aa5d9e Serge Torres
# Prepare data for PIP...
4 08aa5d9e Serge Torres
# with a user given list of points on the third line of the config 
5 08aa5d9e Serge Torres
# file
6 08aa5d9e Serge Torres
#
7 08aa5d9e Serge Torres
CONFIG_FILE=config.txt
8 08aa5d9e Serge Torres
DIGITS_FILE=digits.txt
9 08aa5d9e Serge Torres
PREPARE_POINTS_FILE=extractedPointsList.txt
10 08aa5d9e Serge Torres
INV_FILE=inv.txt
11 08aa5d9e Serge Torres
W_FILE=w.txt
12 08aa5d9e Serge Torres
MKLOOPS_FILE=mkloops.txt
13 08aa5d9e Serge Torres
BOUNDS_FILE=mkloops-bounds.txt
14 08aa5d9e Serge Torres
BIN_DIR=./bin
15 08aa5d9e Serge Torres
W_GENERATOR=$BIN_DIR/generate-w-vector-01
16 08aa5d9e Serge Torres
MKLOOPS_GENERATOR=$BIN_DIR/mkloops-with-w
17 08aa5d9e Serge Torres
ARGS_FOR_VANDERMONDE=`argsForVandermonde.sh`
18 08aa5d9e Serge Torres
ARGS_FOR_POINTS_LIST=$CONFIG_FILE
19 08aa5d9e Serge Torres
MAX_ERROR=`awk '{if(FNR==1) print $2}' < $CONFIG_FILE`
20 08aa5d9e Serge Torres
CREATE_VANDERMONDE=$BIN_DIR/createVandermonde.pl
21 08aa5d9e Serge Torres
INV_VANDERMONDE=$BIN_DIR/invVandermonde.pl
22 08aa5d9e Serge Torres
PRINT_GENERATOR_VECTOR=$BIN_DIR/printGeneratorVector.pl
23 08aa5d9e Serge Torres
PRINT_POINTS_LIST=$BIN_DIR/configPointsList.sh
24 08aa5d9e Serge Torres
ADD_BOUNDS_TO_MKLOOPS=$BIN_DIR/addBoundsToMkloops-01.pl
25 08aa5d9e Serge Torres
COMPUTE_BOUNDS_FOR_MKLOOPS=$BIN_DIR/computeBoundsForMkloops-01.pl
26 08aa5d9e Serge Torres
CREATE_DIGITS_FILE=createDigitsFile.sh
27 08aa5d9e Serge Torres
#
28 08aa5d9e Serge Torres
#
29 08aa5d9e Serge Torres
#
30 08aa5d9e Serge Torres
#echo $MAX_ERROR $ARGS_FOR_VANDERMONDE
31 08aa5d9e Serge Torres
$CREATE_DIGITS_FILE $CONFIG_FILE $DIGITS_FILE
32 08aa5d9e Serge Torres
if [ $? != 0 ]
33 08aa5d9e Serge Torres
 then
34 08aa5d9e Serge Torres
   echo
35 08aa5d9e Serge Torres
   echo
36 08aa5d9e Serge Torres
   echo The creation of the digits file failed.
37 08aa5d9e Serge Torres
   echo Aborting the program!
38 08aa5d9e Serge Torres
   echo
39 08aa5d9e Serge Torres
   exit 1
40 08aa5d9e Serge Torres
fi
41 08aa5d9e Serge Torres
$CREATE_VANDERMONDE $ARGS_FOR_VANDERMONDE | $INV_VANDERMONDE > $INV_FILE
42 08aa5d9e Serge Torres
if [ $? != 0 ]
43 08aa5d9e Serge Torres
 then
44 08aa5d9e Serge Torres
   echo
45 08aa5d9e Serge Torres
   echo
46 08aa5d9e Serge Torres
   echo The creation and the inversion of the Vandermonde matrix failed.
47 08aa5d9e Serge Torres
   echo Aborting the program!
48 08aa5d9e Serge Torres
   echo
49 08aa5d9e Serge Torres
   exit 1
50 08aa5d9e Serge Torres
fi
51 08aa5d9e Serge Torres
ARGS=`$PRINT_GENERATOR_VECTOR $ARGS_FOR_VANDERMONDE`
52 08aa5d9e Serge Torres
if [ $? != 0 ]
53 08aa5d9e Serge Torres
 then
54 08aa5d9e Serge Torres
   echo
55 08aa5d9e Serge Torres
   echo
56 08aa5d9e Serge Torres
   echo Could not create the generator for the offset vector.
57 08aa5d9e Serge Torres
   echo Aborting the program!
58 08aa5d9e Serge Torres
   echo
59 08aa5d9e Serge Torres
   exit 1
60 08aa5d9e Serge Torres
fi
61 08aa5d9e Serge Torres
ARGS="$INV_FILE $DIGITS_FILE $MAX_ERROR $ARGS"
62 08aa5d9e Serge Torres
$W_GENERATOR $ARGS > $W_FILE
63 08aa5d9e Serge Torres
if [ $? != 0 ]
64 08aa5d9e Serge Torres
 then
65 08aa5d9e Serge Torres
   echo
66 08aa5d9e Serge Torres
   echo
67 08aa5d9e Serge Torres
   echo Could not compute the offset vector.
68 08aa5d9e Serge Torres
   echo Aborting the program!
69 08aa5d9e Serge Torres
   echo
70 08aa5d9e Serge Torres
   exit 1
71 08aa5d9e Serge Torres
fi
72 08aa5d9e Serge Torres
$PRINT_POINTS_LIST $ARGS_FOR_POINTS_LIST > $PREPARE_POINTS_FILE
73 08aa5d9e Serge Torres
if [ $? != 0 ]
74 08aa5d9e Serge Torres
 then
75 08aa5d9e Serge Torres
   echo
76 08aa5d9e Serge Torres
   echo
77 08aa5d9e Serge Torres
   echo Could not get the points list.
78 08aa5d9e Serge Torres
   echo Aborting the program!
79 08aa5d9e Serge Torres
   echo
80 08aa5d9e Serge Torres
   exit 1
81 08aa5d9e Serge Torres
fi
82 08aa5d9e Serge Torres
ARGS=`cat $PREPARE_POINTS_FILE`
83 08aa5d9e Serge Torres
ARGS="$W_FILE $DIGITS_FILE $MAX_ERROR $ARGS"
84 08aa5d9e Serge Torres
$MKLOOPS_GENERATOR $ARGS > $MKLOOPS_FILE
85 08aa5d9e Serge Torres
if [ $? != 0 ]
86 08aa5d9e Serge Torres
 then
87 08aa5d9e Serge Torres
   echo
88 08aa5d9e Serge Torres
   echo
89 08aa5d9e Serge Torres
   echo Could not generate the data for PIP.
90 08aa5d9e Serge Torres
   echo Aborting the program!
91 08aa5d9e Serge Torres
   echo
92 08aa5d9e Serge Torres
   exit 1
93 08aa5d9e Serge Torres
fi
94 08aa5d9e Serge Torres
#
95 08aa5d9e Serge Torres
# For debuging
96 08aa5d9e Serge Torres
#
97 08aa5d9e Serge Torres
if [ ! -z $1 ]
98 08aa5d9e Serge Torres
  then
99 08aa5d9e Serge Torres
    cat $MKLOOPS_FILE
100 08aa5d9e Serge Torres
fi
101 08aa5d9e Serge Torres
$ADD_BOUNDS_TO_MKLOOPS $MKLOOPS_FILE
102 08aa5d9e Serge Torres
if [ $? != 0 ]
103 08aa5d9e Serge Torres
 then
104 08aa5d9e Serge Torres
   echo
105 08aa5d9e Serge Torres
   echo
106 08aa5d9e Serge Torres
   echo Could not add the bounds to data for PIP.
107 08aa5d9e Serge Torres
   echo Aborting the program!
108 08aa5d9e Serge Torres
   echo
109 08aa5d9e Serge Torres
   exit 1
110 08aa5d9e Serge Torres
fi
111 08aa5d9e Serge Torres
$COMPUTE_BOUNDS_FOR_MKLOOPS $MKLOOPS_FILE
112 08aa5d9e Serge Torres
if [ $? != 0 ]
113 08aa5d9e Serge Torres
  then
114 08aa5d9e Serge Torres
    echo
115 08aa5d9e Serge Torres
    echo
116 08aa5d9e Serge Torres
    echo Could not compute valid bounds.
117 08aa5d9e Serge Torres
    echo Aborting the program!
118 08aa5d9e Serge Torres
    echo
119 08aa5d9e Serge Torres
    cat $BOUNDS_FILE
120 08aa5d9e Serge Torres
    exit 1
121 08aa5d9e Serge Torres
fi
122 08aa5d9e Serge Torres