Line data Source code
1 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3 : !!!! !!!!
4 : !!!! ParaMonte: Parallel Monte Carlo and Machine Learning Library. !!!!
5 : !!!! !!!!
6 : !!!! Copyright (C) 2012-present, The Computational Data Science Lab !!!!
7 : !!!! !!!!
8 : !!!! This file is part of the ParaMonte library. !!!!
9 : !!!! !!!!
10 : !!!! LICENSE !!!!
11 : !!!! !!!!
12 : !!!! https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md !!!!
13 : !!!! !!!!
14 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16 :
17 : !> \brief
18 : !> This include file contains procedure implementation of the generic interfaces of [pm_mathRootTest](@ref pm_mathRootTest).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Apr 21, 2017, 1:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : #if constructFunc1_ENABLED
28 0 : self%lb = getOption(-3._RKC, lb)
29 0 : self%ub = getOption(+3._RKC, ub)
30 0 : self%root = [-2._RKC, -1._RKC, 0._RKC, 1._RKC, 2._RKC]
31 0 : CHECK_ASSERTION(__LINE__, all(self%lb <= self%root), SK_"@getFunc1(): The condition `all(self%lb <= self%root)` must hold. self%lb, self%ub = "//getStr([self%lb, self%ub]))
32 0 : CHECK_ASSERTION(__LINE__, all(self%root <= self%ub), SK_"@getFunc1(): The condition `all(self%root <= self%ub)` must hold. self%lb, self%ub = "//getStr([self%lb, self%ub]))
33 0 : self%desc = "Func1_type: an algebraic integrand of the form f(x) = x * (x**2 + 1) * (x**2 + 4) for x in (lb, ub) with real roots: "//getStr(self%root)
34 : #elif getFunc1_ENABLED
35 0 : CHECK_ASSERTION(__LINE__, self%lb <= x .and. x <= self%ub, SK_"@getFunc1(): The condition `self%lb <= x .and. x <= self%ub` must hold. self%lb, x, self%ub = "//getStr([self%lb, x, self%ub]))
36 0 : func = x * (x**2 + 1._RKC) * (x**2 + 4._RKC)
37 : #else
38 : #error "Unrecognized interface."
39 : #endif
|