#!/bin/sh

# Test MS routines
#
# $Id: tMSroutines 1.21 2005/02/01 libtsp-v6r3 $

echo ""
echo "========== tMScoefMC"
tMScoefMC 1.1 2.2 3.3 4.4 -2.3 1.5
tMScoefMC 1 0.5 0 0 .25 .75
tMScoefMC 1 0.5 0 0 .5 .5

echo ""
echo "========== tMSxConvCof"
tMSxConvCof 1 1 x 1 1 1 1
tMSxConvCof 2 2 2 2 x 2 2 2 2
tMSxConvCof 1 1 1 1 x 1 1
tMSxConvCof x 1 2 3
tMSxConvCof 1 2 3 x
tMSxConvCof 1 1 x 1
tMSxConvCof 1 2 3 4 3 2 1 / 1 1 1 1
tMSxConvCof 1 1 1 / 1 2 3 4
tMSxConvCof 1 2 3 4 3 2 1 / 2 1
tMSxConvCof 1 2 3 4 3 2 1 / 2 1 0 0
tMSxConvCof 1 2 3 / 0 0			2>&1

echo ""
echo "========== tMSdNint"
tMSdNint 0.0
tMSdNint -0.2
tMSdNint 0.2
tMSdNint -0.5
tMSdNint 0.5
tMSdNint -0.6
tMSdNint 0.6
tMSdNint -15.6
tMSdNint 15.6

echo ""
echo "========== tMSdPolyInt"
tMSdPolyInt -12.1   1 1   2 2   3 3   4 4   5 5   6 6   7 7
tMSdPolyInt  12.1   1 1   2 2   3 3   4 4   5 5   6 6   7 7
tMSdPolyInt   4.1   1 1   2 2   3 3   4 4   5 5   6 6   7 7
tMSdPolyInt   3.9   1 1   2 2   3 3   4 4   5 5   6 6   7 7
tMSdPolyInt   4.1   5 5   2.1 2.1   6.6 6.6   0.9 0.9   3 3   4 4

echo ""
echo "========== tMSiXXX"
tMSiXXX 32 1
tMSiXXX -32 -1
tMSiXXX 0 1
tMSiXXX -4 3
tMSiXXX -3 3
tMSiXXX -2 3
tMSiXXX -1 3
tMSiXXX 0 3
tMSiXXX 1 3
tMSiXXX 2 3
tMSiXXX 3 3
tMSiXXX 4 3
tMSiXXX -4 -3
tMSiXXX -3 -3
tMSiXXX -2 -3
tMSiXXX -1 -3
tMSiXXX 0 -3
tMSiXXX 1 -3
tMSiXXX 2 -3
tMSiXXX 3 -3
tMSiXXX 4 -3

echo ""
echo "========== tMSiPower"
tMSiPower 0 3
tMSiPower 0 0
#tMSiPower 0 -3			2>&1

tMSiPower -3 0
tMSiPower 3 0

tMSiPower -3 1
tMSiPower 0 1
tMSiPower 3 1

tMSiPower 2 7
tMSiPower 2 8
tMSiPower 3 3

tMSiPower -1 -2
tMSiPower -1 -3
tMSiPower -3 -3

echo ""
echo "========== tMSxIntXxx"
tMSxIntXxx fC 1 2 // 1
tMSxIntXxx fC 1 2 // 0.9		2>&1
tMSxIntXxx fC 1 2 // 1.1		2>&1
tMSxIntXxx dC 1 2 // 1
tMSxIntXxx dC 1 2 // 0.9		2>&1
tMSxIntXxx dC 1 2 // 1.1		2>&1
tMSxIntXxx fL 1 2 // 1
tMSxIntXxx fL 1 2 // 0.9		2>&1
tMSxIntXxx fL 1 2 // 1.1		2>&1
tMSxIntXxx dL 1 2 // 1
tMSxIntXxx dL 1 2 // 0.9		2>&1
tMSxIntXxx dL 1 2 // 1.1		2>&1
tMSxIntXxx fC 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             0  6 9  10 13.5 14.5 15
tMSxIntXxx fC 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             15 14.5 13.5 10 9 6 0   # xi in reverse order
tMSxIntXxx fC 0 85  1 60  3 50  4 15  6 10.5  7 10  10 10  15 10 // \
             0 0.5 1.5 5 6 9 15      # reference reversed
tMSxIntXxx fC 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             -0.1			2>&1
tMSxIntXxx fC 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             15.1			2>&1
tMSxIntXxx dC 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             0  6 9  10 13.5 14.5 15
tMSxIntXxx dC 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             15 14.5 13.5 10 9 6 0   # xi in reverse order
tMSxIntXxx dC 0 85  1 60  3 50  4 15  6 10.5  7 10  10 10  15 10 // \
             0 0.5 1.5 5 6 9 15      # reference reversed
tMSxIntXxx dC 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             -0.1			2>&1
tMSxIntXxx dC 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             15.1			2>&1
tMSxIntXxx fL 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             0  6 9  10 13.5 14.5 15
tMSxIntXxx fL 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             -0.1			2>&1
tMSxIntXxx fL 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             15.1			2>&1
tMSxIntXxx dL 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             0  6 9  10 13.5 14.5 15
tMSxIntXxx dL 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             -0.1			2>&1
tMSxIntXxx dL 0 10  5 10   8 10  9 10.5  11 15  12 50  14 60  15 85 // \
             15.1			2>&1

echo ""
echo "========== tMSdLocate"
tMSdLocate -0.5 0.0 0.5 1.0 1.5 2.0 2.5 // 0 1 2 3
tMSdLocate -0.5 0.0 0.5 1.0 1.5 2.0 2.5 // 0 1 2

echo ""
echo "========== tMSfxxxRand"
tMSfxxxRand U -1 10000
tMSfxxxRand U 333 10000
tMSfxxxRand G 333 10000
tMSfxxxRand U 0 10000

echo ""
echo "========== tMSratio"
tMSratio 3.14159265358979323846 0 1000 1000	# 355/113
tMSratio 3.14159265358979323846 0 1000 100	# 311/99 secondary convergent
tMSratio -3.14159265358979323846 0 1000 1000	# negative value
tMSratio 1/3.14159265358979323846 0 1000 1000	# 113/355
tMSratio 1/3.14159265358979323846 0 100 1000	# 99/311 secondary convergent
tMSratio 3.14159265358979323846 5E-7 100000 100000	# tol sets value

tMSratio 8001/8000 0 1000000 1000000
tMSratio 8000/8001 0 1000000 1000000

tMSratio 500/10000 0 10000 10000	# numerical problems for cygwin-b20

echo ""
echo "========== tfloor"
tfloor
