Statistiques
| Branche: | Révision :

meplib / 00model / checkCandidates.sh @ master

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

1 08aa5d9e Serge Torres
#! /bin/sh
2 08aa5d9e Serge Torres
#
3 08aa5d9e Serge Torres
# checkCandidates.sh: check a set of candidates with the infinite norm.
4 08aa5d9e Serge Torres
#
5 08aa5d9e Serge Torres
# It can be the first computed set (directy by GP)
6 08aa5d9e Serge Torres
# or a filtered set or even a file whose name is
7 08aa5d9e Serge Torres
# given on the command line. This last case has the priority.
8 08aa5d9e Serge Torres
#
9 08aa5d9e Serge Torres
SCRIPT_DIR=`dirname $0`
10 08aa5d9e Serge Torres
BIN_DIR=$SCRIPT_DIR/bin
11 08aa5d9e Serge Torres
CHECK_SOLUTIONS_PROGRAM=$BIN_DIR/checkSolutions-02.pl
12 08aa5d9e Serge Torres
ARGS_FOR_CHECK_SCRIPT=$SCRIPT_DIR/argsForCheck.sh
13 08aa5d9e Serge Torres
CANDIDATES_FILE=$SCRIPT_DIR/candidates.txt
14 08aa5d9e Serge Torres
FILTERED_CANDIDATES_FILE=$SCRIPT_DIR/filteredCandidates.txt
15 08aa5d9e Serge Torres
SORTED_SOLUTIONS_FILE=$SCRIPT_DIR/sortedSolutions.txt
16 08aa5d9e Serge Torres
HAS_CANDIDATES=0
17 08aa5d9e Serge Torres
HAS_FILTERED_CANDIDATES=0
18 08aa5d9e Serge Torres
FILE_FOR_TEST=''
19 08aa5d9e Serge Torres
CHOICE=''
20 08aa5d9e Serge Torres
#
21 08aa5d9e Serge Torres
if [ -n "$1" ]
22 08aa5d9e Serge Torres
  then
23 08aa5d9e Serge Torres
    if [ -e $1 -a -s $1 ]
24 08aa5d9e Serge Torres
      then
25 08aa5d9e Serge Torres
        FILE_FOR_TEST=$1
26 08aa5d9e Serge Torres
        $BIN_DIR/checkSolutions-02.pl `$ARGS_FOR_CHECK_SCRIPT $FILE_FOR_TEST` | tee $SORTED_SOLUTIONS_FILE
27 08aa5d9e Serge Torres
	exit $?
28 08aa5d9e Serge Torres
      else
29 08aa5d9e Serge Torres
        echo
30 08aa5d9e Serge Torres
        echo
31 08aa5d9e Serge Torres
        echo `basename $0`": \"$1\" is not a valid file. "
32 08aa5d9e Serge Torres
        echo "Aborting the program!"
33 08aa5d9e Serge Torres
        echo
34 08aa5d9e Serge Torres
        echo
35 08aa5d9e Serge Torres
        exit 1
36 08aa5d9e Serge Torres
    fi
37 08aa5d9e Serge Torres
fi
38 08aa5d9e Serge Torres
#
39 08aa5d9e Serge Torres
if [ -e $CANDIDATES_FILE -a -s $CANDIDATES_FILE ]
40 08aa5d9e Serge Torres
  then
41 08aa5d9e Serge Torres
    HAS_CANDIDATES=1
42 08aa5d9e Serge Torres
fi
43 08aa5d9e Serge Torres
if [ -e $FILTERED_CANDIDATES_FILE -a -s $FILTERED_CANDIDATES_FILE ]
44 08aa5d9e Serge Torres
  then
45 08aa5d9e Serge Torres
    HAS_FILTERED_CANDIDATES=1
46 08aa5d9e Serge Torres
fi
47 08aa5d9e Serge Torres
#
48 08aa5d9e Serge Torres
if [ $HAS_CANDIDATES -eq 1 ]
49 08aa5d9e Serge Torres
  then
50 08aa5d9e Serge Torres
    if [ $HAS_FILTERED_CANDIDATES -eq 1 ]
51 08aa5d9e Serge Torres
      then
52 08aa5d9e Serge Torres
        while [ "x$CHOICE" != "x1" -a "x$CHOICE" != "x2" ]
53 08aa5d9e Serge Torres
          do
54 08aa5d9e Serge Torres
            echo
55 08aa5d9e Serge Torres
            echo
56 08aa5d9e Serge Torres
            echo You can test one of these two files:
57 08aa5d9e Serge Torres
            echo - `basename $CANDIDATES_FILE`"          (1)"
58 08aa5d9e Serge Torres
            echo - `basename $FILTERED_CANDIDATES_FILE`"  (2)"
59 08aa5d9e Serge Torres
            echo
60 08aa5d9e Serge Torres
            echo -n "Make up your choice: "
61 08aa5d9e Serge Torres
            read CHOICE
62 08aa5d9e Serge Torres
	  done
63 08aa5d9e Serge Torres
       echo
64 08aa5d9e Serge Torres
       echo
65 08aa5d9e Serge Torres
       case $CHOICE in
66 08aa5d9e Serge Torres
         "1")
67 08aa5d9e Serge Torres
	   FILE_FOR_TEST=$CANDIDATES_FILE
68 08aa5d9e Serge Torres
	   ;;
69 08aa5d9e Serge Torres
	 "2")
70 08aa5d9e Serge Torres
	   FILE_FOR_TEST=$FILTERED_CANDIDATES_FILE
71 08aa5d9e Serge Torres
	   ;;
72 08aa5d9e Serge Torres
       esac
73 08aa5d9e Serge Torres
    else # No filtered candidates file
74 08aa5d9e Serge Torres
      FILE_FOR_TEST=$CANDIDATES_FILE
75 08aa5d9e Serge Torres
    fi
76 08aa5d9e Serge Torres
  else # No candidates file (may be a filtered candidates files?).
77 08aa5d9e Serge Torres
    if [ "$HAS_FILTERED_CANDIDATES" -eq 1 ]
78 08aa5d9e Serge Torres
      then
79 08aa5d9e Serge Torres
        FILE_FOR_TEST=$FILTERED_CANDIDATES_FILE
80 08aa5d9e Serge Torres
      else
81 08aa5d9e Serge Torres
        echo
82 08aa5d9e Serge Torres
	echo
83 08aa5d9e Serge Torres
	echo `basename $O`": there is no available candidates files."
84 08aa5d9e Serge Torres
	echo "You may, for instance, run  the \"computeCandidates.sh\""
85 08aa5d9e Serge Torres
	echo "script to create a new one".
86 08aa5d9e Serge Torres
	echo "Aborting the program!"
87 08aa5d9e Serge Torres
	exit 1
88 08aa5d9e Serge Torres
	echo
89 08aa5d9e Serge Torres
	echo
90 08aa5d9e Serge Torres
    fi
91 08aa5d9e Serge Torres
fi
92 08aa5d9e Serge Torres
$BIN_DIR/checkSolutions-02.pl `$ARGS_FOR_CHECK_SCRIPT $FILE_FOR_TEST` | tee $SORTED_SOLUTIONS_FILE