diff options
Diffstat (limited to 'security/nss/lib/freebl/mpi/multest')
-rwxr-xr-x | security/nss/lib/freebl/mpi/multest | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/security/nss/lib/freebl/mpi/multest b/security/nss/lib/freebl/mpi/multest new file mode 100755 index 000000000..24752e019 --- /dev/null +++ b/security/nss/lib/freebl/mpi/multest @@ -0,0 +1,76 @@ +#!/bin/sh +# +# multest +# +# Run multiply and square timing tests, to compute a chart for the +# current processor and compiler combination. + +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +ECHO=/bin/echo +MAKE=gmake + +$ECHO "\n** Running multiply and square timing tests\n" + +$ECHO "Bringing 'mulsqr' up to date ... " +if $MAKE mulsqr ; then + : +else + $ECHO "\nMake failed to build mulsqr.\n" + exit 1 +fi + +if [ ! -x ./mulsqr ] ; then + $ECHO "\nCannot find 'mulsqr' program, testing cannot continue.\n" + exit 1 +fi + +sizes='64 128 192 256 320 384 448 512 640 768 896 1024 1536 2048' +ntests=500000 + +$ECHO "Running timing tests, please wait ... " + +trap 'echo "oop!";rm -f tt*.tmp;exit 0' INT HUP + +touch tt$$.tmp +$ECHO $ntests tests >> tt$$.tmp +for size in $sizes ; do + $ECHO "$size bits ... \c" + set -A res `./mulsqr $ntests $size|head -3|tr -d '%'|awk '{print $2}'` + $ECHO $size"\t"${res[0]}"\t"${res[1]}"\t"${res[2]} >> tt$$.tmp + $ECHO "(done)" +done +mv tt$$.tmp mulsqr-results.txt +rm -f tt$$.tmp + +$ECHO "\n** Running Karatsuba-Ofman multiplication tests\n" + +$ECHO "Brining 'karatsuba' up to date ... " +if $MAKE karatsuba ; then + : +else + $ECHO "\nMake failed to build karatsuba.\n" + exit 1 +fi + +if [ ! -x ./karatsuba ] ; then + $ECHO "\nCannot find 'karatsuba' program, testing cannot continue.\n" + exit 1 +fi + +ntests=100000 + +trap 'echo "oop!";rm -f tt*.tmp;exit 0' INT HUP + +touch tt$$.tmp +for size in $sizes ; do + $ECHO "$size bits ... " + ./karatsuba $ntests $size >> tt$$.tmp + tail -2 tt$$.tmp +done +mv tt$$.tmp karatsuba-results.txt +rm -f tt$$.tmp + +exit 0 |