# Boost Interval Library test Jamfile
#
# Copyright 2003 Guillaume Melquiond
#
# 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)

project
  :
  source-location $(BOOST_ROOT)
  :
  requirements
    # Enable dynamic rounding on Tru64 (Alpha CPU).
    <toolset>hp_cxx,<os>OSF:<cflags>"-fprm d"
    <toolset>gcc,<os>OSF:<cflags>-mfp-rounding-mode=d
    <toolset>gcc:<cxxflags>-frounding-math
    <toolset>clang:<cxxflags>-frounding-math
    <toolset>msvc:<cxxflags>/fp\:strict
  ;

# bring in rules for testing
import testing ;

{
  test-suite numeric/interval :
    [ compile libs/numeric/interval/test/integer.cpp ]

    [ run libs/numeric/interval/test/add.cpp      ]
    [ run libs/numeric/interval/test/det.cpp      ]
    [ run libs/numeric/interval/test/fmod.cpp     ]
    [ run libs/numeric/interval/test/msvc_x64_flags.cpp : : : <build>no <toolset>msvc:<build>yes ]
    [ run libs/numeric/interval/test/mul.cpp      ]
    [ run libs/numeric/interval/test/overflow.cpp ]
    [ run libs/numeric/interval/test/pi.cpp       ]
    [ run libs/numeric/interval/test/pow.cpp      ]

    [ run libs/numeric/interval/test/cmp.cpp ]
    [ run libs/numeric/interval/test/cmp_exn.cpp ]
    [ run libs/numeric/interval/test/cmp_exp.cpp ]
    [ run libs/numeric/interval/test/cmp_lex.cpp ]
    [ run libs/numeric/interval/test/cmp_set.cpp ]
 # https://github.com/boostorg/interval/issues/15
 #  [ run libs/numeric/interval/test/cmp_tribool.cpp ]
    [ run libs/numeric/interval/test/test_float.cpp
      : : : <build>yes <toolset>msvc-10.0:<build>no ]
            # https://github.com/boostorg/interval/issues/17
  ;
}