# Copyright Daryle Walker, Hubert Holin, John Maddock 2006 - 2007 # copyright Paul A. Bristow 2006 - 2010 # 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. # \math_toolkit\libs\math\test\jamfile.v2 # Runs all math toolkit tests, functions & distributions, # and build math examples. # bring in the rules for testing import testing ; import modules ; import path ; import pch ; import ../../../config/checks/config : requires ; using quickbook ; using auto-index ; project : requirements ../../include_private ; if $(is_unix) { local osname = [ SHELL uname ] ; switch $(osname) { case "Sun*" : OTHERFLAGS = "-lpthread -lrt" ; case "*BSD*" : OTHERFLAGS = "-lpthread" ; } } # # Configuration first: # lib gsl ; lib gslcblas ; lib Rmath ; obj has_cxx17_cmath : has_cxx17_cmath.cpp ; explicit has_cxx17_cmath ; obj has_c99_cmath : has_c99_cmath.cpp ; explicit has_c99_cmath ; exe has_gsl : has_gsl.cpp gsl gslcblas ; explicit has_gsl ; exe has_rmath : has_rmath.cpp Rmath ; explicit has_rmath ; CEPHES_SOURCE = acosh.c airy.c asin.c asinh.c atan.c atanh.c bdtr.c beta.c btdtr.c cbrt.c chbevl.c chdtr.c clog.c cmplx.c const.c cosh.c dawsn.c drand.c ei.c ellie.c ellik.c ellpe.c ellpj.c ellpk.c exp.c exp10.c exp2.c expn.c expx2.c fabs.c fac.c fdtr.c fresnl.c gamma.c gdtr.c hyp2f1.c hyperg.c i0.c i1.c igami.c incbet.c incbi.c igam.c isnan.c iv.c j0.c j1.c jn.c jv.c k0.c k1.c kn.c kolmogorov.c log.c log2.c log10.c lrand.c nbdtr.c ndtr.c ndtri.c pdtr.c planck.c polevl.c polmisc.c polylog.c polyn.c pow.c powi.c psi.c rgamma.c round.c shichi.c sici.c sin.c sindg.c sinh.c spence.c stdtr.c struve.c tan.c tandg.c tanh.c unity.c yn.c zeta.c zetac.c sqrt.c floor.c setprec.c mtherr.c ; path-constant here : . ; make $(here)/third_party/cephes_double/acosh.c : : @check_exists ; actions check_exists { stat $(<) } explicit $(here)/third_party/cephes_double/acosh.c ; lib cephes_double : $(here)/third_party/cephes_double/$(CEPHES_SOURCE) : release static [ check-target-builds $(here)/third_party/cephes_double/acosh.c : : no ] ; explicit cephes_double ; rule all-tests { local result ; for local source in [ glob test*.cpp ] { result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework : : : [ check-target-builds has_gsl : ALWAYS_TEST_DOUBLE : ] linux:-lpthread linux:-lrt gcc:$(OTHERFLAGS) ] ; result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework : : : [ check-target-builds has_cxx17_cmath : TEST_CXX17_CMATH : no ] linux:-lpthread linux:-lrt gcc:$(OTHERFLAGS) : $(source:B)_cxx17_cmath ] ; result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework : : : [ check-target-builds has_c99_cmath : TEST_C99 : no ] linux:-lpthread linux:-lrt gcc:$(OTHERFLAGS) : $(source:B)_c99 ] ; result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework gsl gslcblas : : : [ check-target-builds has_gsl : TEST_GSL : no ] linux:-lpthread linux:-lrt gcc:$(OTHERFLAGS) : $(source:B)_gsl ] ; result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework Rmath : : : [ check-target-builds has_rmath : TEST_RMATH : no ] linux:-lpthread linux:-lrt gcc:$(OTHERFLAGS) : $(source:B)_rmath ] ; result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework cephes_double : : : [ check-target-builds $(here)/third_party/cephes_double/acosh.c : TEST_CEPHES cephes_double : no ] linux:-lpthread linux:-lrt gcc:$(OTHERFLAGS) : $(source:B)_cephes ] ; } return $(result) ; } test-suite report_gen : [ all-tests ] ; path-constant images_location : html ; path-constant here : . ; xml report : doc/report.qbk : report_gen ; boostbook standalone : report : # Path for links to Boost: boost.root=../../../../.. # Some general style settings: table.footnote.number.format=1 footnote.number.format=1 html.stylesheet=http://www.boost.org/doc/libs/1_58_0/doc/src/boostbook.css # HTML options first: # Use graphics not text for navigation: navig.graphics=1 # How far down we chunk nested sections, basically all of them: chunk.section.depth=0 # Don't put the first section on the same page as the TOC: chunk.first.sections=0 # How far down sections get TOC's toc.section.depth=2 # Max depth in each TOC: toc.max.depth=4 # How far down we go with TOC's generate.section.toc.level=10 ;