Files
multiprecision/performance/Jamfile.v2
T
2019-12-10 18:46:11 +00:00

172 lines
5.7 KiB
Plaintext

# copyright John Maddock 2012
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt.
import modules ;
import path ;
local ntl-path = [ modules.peek : NTL_PATH ] ;
local gmp_path = [ modules.peek : GMP_PATH ] ;
local mpfr_path = [ modules.peek : MPFR_PATH ] ;
local tommath_path = [ modules.peek : TOMMATH_PATH ] ;
project : requirements
<target-os>freebsd:<linkflags>"-lrt"
<target-os>linux:<linkflags>"-lrt"
<toolset>pgi:<linkflags>"-lrt"
<include>$(gmp_path)
<include>$(gmp_path)/mpfr
<include>$(gmp_path)/gmpfrxx
<include>$(mpfr_path)
<include>$(tommath_path)
<include>../../..
<search>$(gmp_path)
<search>$(mpfr_path)
<search>$(mpfr_path)/build.vc10/lib/Win32/Debug
<search>$(tommath_path)
<link>static
<define>BOOST_ALL_NO_LIB
<debug-symbols>off
;
lib gmp ;
lib mpfr ;
lib quadmath ;
if $(tommath_path)
{
TOMMATH = [ GLOB $(tommath_path) : *.c ] ;
}
else
{
lib tommath ;
TOMMATH = tommath ;
}
exe performance_test : performance_test.cpp /boost/system//boost_system [ GLOB performance_test_files : *.cpp ]
: release
[ check-target-builds ../config//has_gmp : <define>TEST_MPF <define>TEST_MPZ <define>TEST_MPQ <source>gmp : ]
[ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ]
[ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>$(TOMMATH) : ]
<define>TEST_CPP_DEC_FLOAT
<define>TEST_CPP_BIN_FLOAT
<define>TEST_CPP_INT
<define>TEST_CPP_INT_RATIONAL
;
exe miller_rabin_performance : miller_rabin_performance.cpp [ GLOB miller_rabin_performance_files : *.cpp ] /boost/system//boost_system /boost/chrono//boost_chrono
: release
[ check-target-builds ../config//has_gmp : <define>TEST_MPF <define>TEST_MPZ <source>gmp : ]
[ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ]
[ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>$(TOMMATH) : ]
<define>TEST_CPP_DEC_FLOAT
<define>TEST_CPP_INT
;
exe sf_performance : sf_performance.cpp sf_performance_basic.cpp sf_performance_bessel.cpp
sf_performance_nct.cpp sf_performance_poly.cpp
[ GLOB sf_performance_files : *.cpp ]
/boost/system//boost_system /boost/chrono//boost_chrono /boost/thread//boost_thread
: release
[ check-target-builds ../config//has_gmp : <define>TEST_MPF <define>TEST_MPZ <source>gmp : ]
[ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ]
[ check-target-builds ../config//has_float128 : <source>quadmath : ]
<define>TEST_CPP_DEC_FLOAT
<define>TEST_CPP_BIN_FLOAT
<define>TEST_FLOAT
<toolset>msvc:<cxxflags>-bigobj
;
exe delaunay_test : delaunay_test.cpp /boost/system//boost_system /boost/chrono//boost_chrono ;
obj obj_linpack_benchmark_mpfr : linpack-benchmark.cpp
: release
[ check-target-builds ../config//has_mpfr : : <build>no ]
<define>TEST_MPFR_50
;
obj obj_linpack_benchmark_mpf : linpack-benchmark.cpp
: release
[ check-target-builds ../config//has_gmp : : <build>no ]
<define>TEST_MPF_50
;
obj obj_linpack_benchmark_cpp_float : linpack-benchmark.cpp
: release
<define>TEST_CPP_DEC_FLOAT
;
obj obj_linpack_benchmark_double : linpack-benchmark.cpp
: release
;
obj obj_linpack_benchmark_native_float128 : linpack-benchmark.cpp
: release
<define>NATIVE_FLOAT128
;
obj obj_linpack_benchmark_float128 : linpack-benchmark.cpp
: release
<define>TEST_FLOAT128
;
obj obj_linpack_benchmark_cpp_quad_float : linpack-benchmark.cpp
: release
<define>TEST_CPP_BIN_FLOAT_QUAD
;
obj obj_linpack_benchmark_cpp_oct_float : linpack-benchmark.cpp
: release
<define>TEST_CPP_BIN_FLOAT_OCT
;
lib f2c ;
exe linpack_benchmark_mpfr : obj_linpack_benchmark_mpfr mpfr f2c gmp
: release
[ check-target-builds ../config//has_mpfr : : <build>no ]
<define>TEST_MPFR_50
;
exe linpack_benchmark_mpf : obj_linpack_benchmark_mpf gmp f2c
: release
[ check-target-builds ../config//has_gmp : : <build>no ]
<define>TEST_MPF_50
;
exe linpack_benchmark_cpp_float : obj_linpack_benchmark_cpp_float f2c
: release
<define>TEST_CPP_DEC_FLOAT
;
exe linpack_benchmark_double : obj_linpack_benchmark_double f2c
: release
;
exe linpack_benchmark_native_float128 : obj_linpack_benchmark_native_float128 f2c
: release
;
exe linpack_benchmark_float128 : obj_linpack_benchmark_float128 f2c
: release
;
exe linpack_benchmark_cpp_quad_float : obj_linpack_benchmark_cpp_quad_float f2c
: release
;
exe linpack_benchmark_cpp_oct_float : obj_linpack_benchmark_cpp_oct_float f2c
: release
;
install miller_rabin_install : miller_rabin_performance : <location>. ;
install performance_test_install : performance_test : <location>. ;
install sf_performance_install : sf_performance : <location>. ;
install . : linpack_benchmark_double linpack_benchmark_cpp_float linpack_benchmark_mpf linpack_benchmark_mpfr linpack_benchmark_native_float128 linpack_benchmark_float128 linpack_benchmark_cpp_quad_float linpack_benchmark_cpp_oct_float ;
install delaunay_install : delaunay_test : <location>. ;