/usr/bin/4ti2-qsolve is in 4ti2 1.6.7+ds-2build2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | #!/bin/sh
# 4ti2 -- A software package for algebraic, geometric and combinatorial
# problems on linear spaces.
#
# Copyright (C) 2006 4ti2 team.
# Main author(s): Peter Malkin
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
prefix=/usr
PKGLIBDIR=${prefix}/lib/x86_64-linux-gnu/4ti2
# We locate where this script is so we can call the executables.
SCRIPT=${0}
SCRIPTDIR=${SCRIPT%/*}
# We deduce the function from the script name.
FUNCTION=${SCRIPT##*/}
FUNCTION=${FUNCTION#4ti2-}
# The default executable.
EXECUTABLE=4ti2gmp
# We look for options on the command line which indicate the level of precision
# required and we call the appropriate 4ti2 executable according to the required
# precision level. The short option is `-p' and the long option is
# `--precision', and the argument to either is one of 32, 64, or `arbitrary'.
# The following regular expressions are not exactly correct since for example
# they allow misspellings of precision. However, they will match correctly
# formatted input and if the option is incorrectly formatted, the actual
# executable will pick up any errors.
if echo $@ | egrep -q -e '-p *32 ' ||
echo $@ | egrep -q -e '--p[recision]* *=? *32 '
then
EXECUTABLE=4ti2int32
elif echo $@ | egrep -q -e '-p *64 ' ||
echo $@ | egrep -q -e '--p[recision]* *=? *64 '
then
EXECUTABLE=4ti2int64
elif echo $@ | egrep -q -e '-p *a[rbitrary]* ' ||
echo $@ | egrep -q -e '--p[recision]* *=? *a[rbitrary]* '
then
EXECUTABLE=4ti2gmp
fi
for DIR in "$SCRIPTDIR" "$PKGLIBDIR/bin"; do
if [ -x "$DIR/4ti2gmp" ]; then break; fi
done
# We check whether the 4ti2 executable exists.
if [ ! -x "$DIR/$EXECUTABLE" ]
then
echo "Error: Unable to find 4ti2 executable \`$EXECUTABLE'"
exit 1
fi
exec $DIR/$EXECUTABLE $FUNCTION $@
|