Statistiques
| Branche: | Révision :

meplib / 00model / prepareForPipCH.sh @ master

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

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