Statistiques
| Branche: | Révision :

meplib / 00model / checkCandidates.sh @ master

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

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