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 file contains the implementation details of the routines under the 19 : !> generic interfaces of module [pm_complexCompareLex](@ref pm_complexCompareLex). 20 : !> 21 : !> \finmain 22 : !> 23 : !> \author 24 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin 25 : 26 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 27 : 28 : #if islexless_CK_ENABLED 29 1590108 : compares = val1%re < val2%re .or. (val1%re == val2%re .and. val1%im < val2%im) 30 : #elif islexleq_CK_ENABLED 31 316 : compares = val1%re < val2%re .or. (val1%re == val2%re .and. val1%im <= val2%im) 32 : !#elif islexneq_CK_ENABLED 33 : !#define COMPARES_WITH /= 34 : !#elif isanyeq_CK_ENABLED 35 : !#define COMPARES_WITH == 36 : #elif islexmeq_CK_ENABLED 37 316 : compares = val1%re > val2%re .or. (val1%re == val2%re .and. val1%im >= val2%im) 38 : #elif islexmore_CK_ENABLED 39 70675293 : compares = val1%re > val2%re .or. (val1%re == val2%re .and. val1%im > val2%im) 40 : #else 41 : #error "Unrecognized interface." 42 : #endif