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 implementations of the procedures in module [pm_mathFisher](@ref pm_mathFisher).<br>
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, April 23, 2017, 1:36 AM, Institute for Computational Engineering and Sciences (ICES), University of Texas at Austin
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : !%%%%%%%%%%%%%%%%
28 : #if getFisher_ENABLED
29 : !%%%%%%%%%%%%%%%%
30 :
31 : #if FDD_ENABLED
32 1005 : CHECK_ASSERTION(__LINE__, -1 < val .and. val < +1, SK_"@getFisher(): The condition `-1 < val .and. val < +1` must hold. val = "//getStr(val))
33 1005 : fisherz = atanh(val)
34 : #elif FLU_ENABLED
35 40 : CHECK_ASSERTION(__LINE__, lb < val .and. val < ub, SK_"@getFisher(): The condition `lb < val .and. val < ub` must hold. val, lb, ub = "//getStr([val, lb, ub]))
36 10 : fisherz = atanh(2 * (val - lb) / (ub - lb) - 1._RKC)
37 : #else
38 : #error "Unrecognized interface."
39 : #endif
40 :
41 : !%%%%%%%%%%%%%%%%%%%
42 : #elif getFisherInv_ENABLED
43 : !%%%%%%%%%%%%%%%%%%%
44 :
45 : #if FDD_ENABLED
46 505 : val = tanh(fisherz)
47 : #elif FLU_ENABLED
48 30 : CHECK_ASSERTION(__LINE__, lb < ub, SK_"@getFisherInv(): The condition `lb < ub` must hold. lb, ub = "//getStr([lb, ub]))
49 10 : val = (.5_RKC * tanh(fisherz) + .5_RKC) * (ub - lb) + lb
50 : #else
51 : #error "Unrecognized interface."
52 : #endif
53 :
54 : #else
55 : !%%%%%%%%%%%%%%%%%%%%%%%%
56 : #error "Unrecognized interface."
57 : !%%%%%%%%%%%%%%%%%%%%%%%%
58 : #endif
|