util_mod Module



Contents


Interfaces

public interface binary_search_int

  • private pure function binary_search_int_int32(arr, val) result(pos)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: arr(:)
    integer(kind=int32), intent(in) :: val

    Return Value integer(kind=int64)

  • private pure function binary_search_int_int64(arr, val) result(pos)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: arr(:)
    integer(kind=int64), intent(in) :: val

    Return Value integer(kind=int64)

public interface operator(.implies.)

  • private elemental function implies(P, Q)

    @brief The logical operator P => Q

    @details P | Q | P => Q | ¬ P ∨ Q


    T | T | T | T T | F | F | F F | T | T | T F | F | T | T

    Arguments

    Type IntentOptional Attributes Name
    logical, intent(in) :: P
    logical, intent(in) :: Q

    Return Value logical

public interface choose_i64

  • private pure recursive function choose_i64_int32(n, r, signal_overflow) result(res)

    Return the binomail coefficient nCr(n, r)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: n
    integer(kind=int32), intent(in) :: r
    logical, intent(in), optional :: signal_overflow

    If true then the function returns -1 instead of aborting when overflow is encountered.

    Return Value integer(kind=int64)

  • private pure recursive function choose_i64_int64(n, r, signal_overflow) result(res)

    Return the binomail coefficient nCr(n, r)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: n
    integer(kind=int64), intent(in) :: r
    logical, intent(in), optional :: signal_overflow

    If true then the function returns -1 instead of aborting when overflow is encountered.

    Return Value integer(kind=int64)

public interface choose_i128

  • private pure recursive function choose_i128_int32(n, r, signal_overflow) result(res)

    Return the binomail coefficient nCr(n, r)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: n
    integer(kind=int32), intent(in) :: r
    logical, intent(in), optional :: signal_overflow

    If true then the function returns -1 instead of aborting when overflow is encountered.

    Return Value integer(kind=int128)

  • private pure recursive function choose_i128_int64(n, r, signal_overflow) result(res)

    Return the binomail coefficient nCr(n, r)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: n
    integer(kind=int64), intent(in) :: r
    logical, intent(in), optional :: signal_overflow

    If true then the function returns -1 instead of aborting when overflow is encountered.

    Return Value integer(kind=int128)

public interface clamp

If v compares less than lo, returns lo; otherwise if hi compares less than v, returns hi; otherwise returns v. Is also defined for lo > hi!

  • private elemental function clamp_integer_int32(v, lo, hi) result(res)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: v
    integer(kind=int32), intent(in) :: lo
    integer(kind=int32), intent(in) :: hi

    Return Value integer(kind=int32)

  • private elemental function clamp_integer_int64(v, lo, hi) result(res)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: v
    integer(kind=int64), intent(in) :: lo
    integer(kind=int64), intent(in) :: hi

    Return Value integer(kind=int64)

  • private elemental function clamp_real_sp(v, lo, hi) result(res)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=sp), intent(in) :: v
    real(kind=sp), intent(in) :: lo
    real(kind=sp), intent(in) :: hi

    Return Value real(kind=sp)

  • private elemental function clamp_real_dp(v, lo, hi) result(res)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=dp), intent(in) :: v
    real(kind=dp), intent(in) :: lo
    real(kind=dp), intent(in) :: hi

    Return Value real(kind=dp)

interface

  • public pure function strlen_wrap(str) result(len) bind(c)

    Arguments

    Type IntentOptional Attributes Name
    character(len=c_char), intent(in) :: str(*)

    Return Value integer(kind=c_int)

interface

  • private pure function erf_local(x) result(e) bind(c, name='erf')

    Arguments

    Type IntentOptional Attributes Name
    real(kind=c_double), intent(in) :: x

    Return Value real(kind=c_double)

interface

  • private pure function erfc_local(x) result(ec) bind(c, name='erfc')

    Arguments

    Type IntentOptional Attributes Name
    real(kind=c_double), intent(in) :: x

    Return Value real(kind=c_double)

public interface operator(.div.)

  • private elemental function div_int32(a, b)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: a
    integer(kind=int32), intent(in) :: b

    Return Value integer(kind=int32)

  • private elemental function div_int64(a, b)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: a
    integer(kind=int64), intent(in) :: b

    Return Value integer(kind=int64)

  • private elemental function div_int128(a, b)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int128), intent(in) :: a
    integer(kind=int128), intent(in) :: b

    Return Value integer(kind=int128)

public interface abs_sign

  • private pure function abs_int4_sign(sgn)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: sgn(lenof_sign/inum_runs)

    Return Value real(kind=dp)

  • private pure function abs_int8_sign(wsign)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in), dimension(lenof_sign/inum_runs) :: wsign

    Return Value integer(kind=int64)

  • private pure function abs_real_sign(sgn)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=dp), intent(in) :: sgn(lenof_sign/inum_runs)

    Return Value real(kind=dp)

public interface abs_l1

  • private pure function abs_l1_dp(val) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=dp), intent(in) :: val

    Return Value real(kind=dp)

  • private pure function abs_l1_sp(val) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=sp), intent(in) :: val

    Return Value real(kind=sp)

  • private pure function abs_l1_cdp(val) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=dp), intent(in) :: val

    Return Value real(kind=dp)

  • private pure function abs_l1_csp(val) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=sp), intent(in) :: val

    Return Value real(kind=sp)

public interface fuseIndex

  • private pure function fuseIndex_int32(q, p) result(ind)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: q
    integer(kind=int32), intent(in) :: p

    Return Value integer(kind=int32)

  • private pure function fuseIndex_int64(x, y) result(xy)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: x
    integer(kind=int64), intent(in) :: y

    Return Value integer(kind=int64)

public interface swap

  • private elemental subroutine swap_int64(a, b)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(inout) :: a
    integer(kind=int64), intent(inout) :: b
  • private elemental subroutine swap_int32(a, b)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(inout) :: a
    integer(kind=int32), intent(inout) :: b

public interface custom_findloc

  • private pure function custom_findloc_integer_int32(arr, val, back) result(loc)

    Custom implementation of the findloc intrinsic (with somewhat reduced functionality) as it requires fortran2008 support and is thus not available for some relevant compilers

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: arr(:)
    integer(kind=int32), intent(in) :: val
    logical, intent(in), optional :: back

    Return Value integer

  • private pure function custom_findloc_integer_int64(arr, val, back) result(loc)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: arr(:)
    integer(kind=int64), intent(in) :: val
    logical, intent(in), optional :: back

    Return Value integer

  • private pure function custom_findloc_real_sp(arr, val, back) result(loc)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=sp), intent(in) :: arr(:)
    real(kind=sp), intent(in) :: val
    logical, intent(in), optional :: back

    Return Value integer

  • private pure function custom_findloc_real_dp(arr, val, back) result(loc)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=dp), intent(in) :: arr(:)
    real(kind=dp), intent(in) :: val
    logical, intent(in), optional :: back

    Return Value integer

  • private pure function custom_findloc_complex_sp(arr, val, back) result(loc)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=sp), intent(in) :: arr(:)
    complex(kind=sp), intent(in) :: val
    logical, intent(in), optional :: back

    Return Value integer

  • private pure function custom_findloc_complex_dp(arr, val, back) result(loc)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=dp), intent(in) :: arr(:)
    complex(kind=dp), intent(in) :: val
    logical, intent(in), optional :: back

    Return Value integer

  • private pure function custom_findloc_logical_(arr, val, back) result(loc)

    Arguments

    Type IntentOptional Attributes Name
    logical, intent(in) :: arr(:)
    logical, intent(in) :: val
    logical, intent(in), optional :: back

    Return Value integer

public interface cumsum

  • private pure function cumsum_integer_int32(X) result(Y)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: X(:)

    Return Value integer(kind=int32), (size(X))

  • private pure function cumsum_integer_int64(X) result(Y)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: X(:)

    Return Value integer(kind=int64), (size(X))

  • private pure function cumsum_real_sp(X) result(Y)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=sp), intent(in) :: X(:)

    Return Value real(kind=sp), (size(X))

  • private pure function cumsum_real_dp(X) result(Y)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=dp), intent(in) :: X(:)

    Return Value real(kind=dp), (size(X))

  • private pure function cumsum_complex_sp(X) result(Y)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=sp), intent(in) :: X(:)

    Return Value complex(kind=sp), (size(X))

  • private pure function cumsum_complex_dp(X) result(Y)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=dp), intent(in) :: X(:)

    Return Value complex(kind=dp), (size(X))


Derived Types

type, public ::  EnumBase_t

Components

Type Visibility Attributes Name Initial
integer, public :: val

Type-Bound Procedures

procedure , private , :: eq_EnumBase_t Function
procedure , private , :: neq_EnumBase_t Function
generic, public :: operator(==) => eq_EnumBase_t
generic, public :: operator(/=) => neq_EnumBase_t

Functions

public function stochastic_round(r) result(i)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: r

Return Value integer

public elemental function stochastic_round_r(num, r) result(i)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: num
real(kind=dp), intent(in) :: r

Return Value integer

private pure function abs_int4_sign(sgn)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: sgn(lenof_sign/inum_runs)

Return Value real(kind=dp)

private pure function abs_int8_sign(wsign)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in), dimension(lenof_sign/inum_runs) :: wsign

Return Value integer(kind=int64)

private pure function abs_real_sign(sgn)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: sgn(lenof_sign/inum_runs)

Return Value real(kind=dp)

private pure function abs_l1_sp(val) result(ret)

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(in) :: val

Return Value real(kind=sp)

private pure function abs_l1_dp(val) result(ret)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: val

Return Value real(kind=dp)

private pure function abs_l1_csp(val) result(ret)

Arguments

Type IntentOptional Attributes Name
complex(kind=sp), intent(in) :: val

Return Value real(kind=sp)

private pure function abs_l1_cdp(val) result(ret)

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(in) :: val

Return Value real(kind=dp)

private pure function custom_findloc_integer_int32(arr, val, back) result(loc)

Custom implementation of the findloc intrinsic (with somewhat reduced functionality) as it requires fortran2008 support and is thus not available for some relevant compilers

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: arr(:)
integer(kind=int32), intent(in) :: val
logical, intent(in), optional :: back

Return Value integer

private pure function custom_findloc_integer_int64(arr, val, back) result(loc)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: arr(:)
integer(kind=int64), intent(in) :: val
logical, intent(in), optional :: back

Return Value integer

private pure function custom_findloc_real_sp(arr, val, back) result(loc)

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(in) :: arr(:)
real(kind=sp), intent(in) :: val
logical, intent(in), optional :: back

Return Value integer

private pure function custom_findloc_real_dp(arr, val, back) result(loc)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: arr(:)
real(kind=dp), intent(in) :: val
logical, intent(in), optional :: back

Return Value integer

private pure function custom_findloc_complex_sp(arr, val, back) result(loc)

Arguments

Type IntentOptional Attributes Name
complex(kind=sp), intent(in) :: arr(:)
complex(kind=sp), intent(in) :: val
logical, intent(in), optional :: back

Return Value integer

private pure function custom_findloc_complex_dp(arr, val, back) result(loc)

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(in) :: arr(:)
complex(kind=dp), intent(in) :: val
logical, intent(in), optional :: back

Return Value integer

private pure function custom_findloc_logical_(arr, val, back) result(loc)

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: arr(:)
logical, intent(in) :: val
logical, intent(in), optional :: back

Return Value integer

private pure function fuseIndex_int32(q, p) result(ind)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: q
integer(kind=int32), intent(in) :: p

Return Value integer(kind=int32)

private pure function fuseIndex_int64(x, y) result(xy)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: x
integer(kind=int64), intent(in) :: y

Return Value integer(kind=int64)

public function linearIndex(p, q, dim) result(ind)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: p
integer, intent(in) :: q
integer, intent(in) :: dim

Return Value integer

public pure elemental function getSpinIndex(orb) result(ms)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: orb

Return Value integer

private elemental function gauss_sum(n)

@brief Calculate 1 + … + n

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n

Return Value integer

private elemental function get_index(n, k)

@brief Get the index in the binomial_lookup_table

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: k

Return Value integer

private pure recursive function choose_i64_int32(n, r, signal_overflow) result(res)

Return the binomail coefficient nCr(n, r)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: n
integer(kind=int32), intent(in) :: r
logical, intent(in), optional :: signal_overflow

If true then the function returns -1 instead of aborting when overflow is encountered.

Return Value integer(kind=int64)

private pure recursive function choose_i128_int32(n, r, signal_overflow) result(res)

Return the binomail coefficient nCr(n, r)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: n
integer(kind=int32), intent(in) :: r
logical, intent(in), optional :: signal_overflow

If true then the function returns -1 instead of aborting when overflow is encountered.

Return Value integer(kind=int128)

private pure recursive function choose_i64_int64(n, r, signal_overflow) result(res)

Return the binomail coefficient nCr(n, r)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: n
integer(kind=int64), intent(in) :: r
logical, intent(in), optional :: signal_overflow

If true then the function returns -1 instead of aborting when overflow is encountered.

Return Value integer(kind=int64)

private pure recursive function choose_i128_int64(n, r, signal_overflow) result(res)

Return the binomail coefficient nCr(n, r)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: n
integer(kind=int64), intent(in) :: r
logical, intent(in), optional :: signal_overflow

If true then the function returns -1 instead of aborting when overflow is encountered.

Return Value integer(kind=int128)

private elemental function div_int32(a, b)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: a
integer(kind=int32), intent(in) :: b

Return Value integer(kind=int32)

private elemental function div_int64(a, b)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: a
integer(kind=int64), intent(in) :: b

Return Value integer(kind=int64)

private elemental function div_int128(a, b)

Arguments

Type IntentOptional Attributes Name
integer(kind=int128), intent(in) :: a
integer(kind=int128), intent(in) :: b

Return Value integer(kind=int128)

private pure function det_int_arr_gt(a, b, len)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in), dimension(:) :: a
integer(kind=n_int), intent(in), dimension(:) :: b
integer, intent(in), optional :: len

Return Value logical

private pure function det_int_arr_eq(a, b, len)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in), dimension(:) :: a
integer(kind=n_int), intent(in), dimension(:) :: b
integer, intent(in), optional :: len

Return Value logical

public function binary_search_ilut(arr, val, cf_len) result(pos)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: arr(:,:)
integer(kind=n_int), intent(in) :: val(:)
integer, intent(in), optional :: cf_len

Return Value integer

private pure function binary_search_int_int32(arr, val) result(pos)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: arr(:)
integer(kind=int32), intent(in) :: val

Return Value integer(kind=int64)

private pure function binary_search_int_int64(arr, val) result(pos)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: arr(:)
integer(kind=int64), intent(in) :: val

Return Value integer(kind=int64)

public function binary_search_real(arr, val, thresh) result(pos)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: arr(:)
real(kind=dp), intent(in) :: val
real(kind=dp), intent(in) :: thresh

Return Value integer

public function binary_search_custom(arr, val, cf_len, custom_gt) result(pos)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: arr(:,:)
integer(kind=n_int), intent(in) :: val(:)
integer, intent(in), optional :: cf_len
private pure function custom_gt(a, b) result(ret)
Arguments
Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: a(:)
integer(kind=n_int), intent(in) :: b(:)
Return Value logical

Return Value integer

public function record_length(bytes)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: bytes

Return Value integer

public function get_free_unit() result(free_unit)

Arguments

None

Return Value integer

public function error_function_c(argument) result(res)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: argument

Return Value real(kind=dp)

public function error_function(argument) result(res)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: argument

Return Value real(kind=dp)

public function neci_etime(time) result(ret)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out) :: time(2)

Return Value real(kind=dp)

private pure function cumsum_integer_int32(X) result(Y)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: X(:)

Return Value integer(kind=int32), (size(X))

private pure function cumsum_integer_int64(X) result(Y)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: X(:)

Return Value integer(kind=int64), (size(X))

private pure function cumsum_real_sp(X) result(Y)

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(in) :: X(:)

Return Value real(kind=sp), (size(X))

private pure function cumsum_real_dp(X) result(Y)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: X(:)

Return Value real(kind=dp), (size(X))

private pure function cumsum_complex_sp(X) result(Y)

Arguments

Type IntentOptional Attributes Name
complex(kind=sp), intent(in) :: X(:)

Return Value complex(kind=sp), (size(X))

private pure function cumsum_complex_dp(X) result(Y)

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(in) :: X(:)

Return Value complex(kind=dp), (size(X))

public pure function lex_leq(lhs, rhs) result(res)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: lhs(:)
integer, intent(in) :: rhs(size(lhs))

Return Value logical

public pure function lex_geq(lhs, rhs) result(res)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: lhs(:)
integer, intent(in) :: rhs(size(lhs))

Return Value logical

public pure function get_permutations(n) result(res)

@brief Create all possible permutations of [1, …, n]

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n

Return Value integer, (n,factrl(n))

private elemental function implies(P, Q)

@brief The logical operator P => Q

Read more…

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: P
logical, intent(in) :: Q

Return Value logical

private elemental function eq_EnumBase_t(this, other)

Arguments

Type IntentOptional Attributes Name
class(EnumBase_t), intent(in) :: this
class(EnumBase_t), intent(in) :: other

Return Value logical

private elemental function neq_EnumBase_t(this, other)

Arguments

Type IntentOptional Attributes Name
class(EnumBase_t), intent(in) :: this
class(EnumBase_t), intent(in) :: other

Return Value logical

private elemental function clamp_integer_int32(v, lo, hi) result(res)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: v
integer(kind=int32), intent(in) :: lo
integer(kind=int32), intent(in) :: hi

Return Value integer(kind=int32)

private elemental function clamp_integer_int64(v, lo, hi) result(res)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: v
integer(kind=int64), intent(in) :: lo
integer(kind=int64), intent(in) :: hi

Return Value integer(kind=int64)

private elemental function clamp_real_sp(v, lo, hi) result(res)

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(in) :: v
real(kind=sp), intent(in) :: lo
real(kind=sp), intent(in) :: hi

Return Value real(kind=sp)

private elemental function clamp_real_dp(v, lo, hi) result(res)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: v
real(kind=dp), intent(in) :: lo
real(kind=dp), intent(in) :: hi

Return Value real(kind=dp)


Subroutines

public subroutine print_cstr_local(str, l)

Arguments

Type IntentOptional Attributes Name
character(len=c_char), intent(in) :: str(*)
integer, intent(in) :: l

public subroutine NECI_ICOPY(N, A, IA, B, IB)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: N
integer, intent(in) :: A(IA*N)
integer, intent(in) :: IA
integer, intent(out) :: B(IB*N)
integer, intent(in) :: IB

public subroutine addToIntArray(arr, ind, elem)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout), allocatable :: arr(:)
integer, intent(in) :: ind
integer, intent(in) :: elem

private elemental subroutine swap_int32(a, b)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout) :: a
integer(kind=int32), intent(inout) :: b

private elemental subroutine swap_int64(a, b)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(inout) :: a
integer(kind=int64), intent(inout) :: b

public pure subroutine pairSwap(a, i, b, j)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(inout) :: a
integer(kind=int64), intent(inout) :: i
integer(kind=int64), intent(inout) :: b
integer(kind=int64), intent(inout) :: j

public subroutine append_ext(stem, n, s)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: stem
integer, intent(in) :: n
character(len=*), intent(out) :: s

public subroutine get_unique_filename(stem, tincrement, tnext, istart, filename, ext)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: stem
logical, intent(in) :: tincrement
logical, intent(in) :: tnext
integer, intent(in) :: istart
character(len=*), intent(out) :: filename
character(len=*), intent(in), optional :: ext

public pure subroutine find_next_comb(comb, k, n, finish)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: comb(k)
integer, intent(in) :: k
integer, intent(in) :: n
logical, intent(out) :: finish

public subroutine open_new_file(funit, filename)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: funit
character(len=*), intent(in) :: filename