Neko 1.99.3
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
math Module Reference

Data Types

interface  abscmp
 
interface  flipv
 
interface  relcmp
 
interface  reord
 
interface  sort
 
interface  swap
 

Functions/Subroutines

pure logical function, public sabscmp (x, y, tol)
 Return single precision absolute comparison \( | x - y | < \epsilon \).
 
pure logical function, public dabscmp (x, y, tol)
 Return double precision absolute comparison \( | x - y | < \epsilon \).
 
pure logical function qabscmp (x, y, tol)
 Return double precision absolute comparison \( | x - y | < \epsilon \).
 
pure logical function srelcmp (x, y, eps)
 Return single precision relative comparison \( | x - y |<= \epsilon*|y| \).
 
pure logical function drelcmp (x, y, eps)
 Return double precision relative comparison \( | x - y |/|y| < \epsilon \).
 
pure logical function qrelcmp (x, y, eps)
 Return quad precision relative comparison \( | x - y |/|y| < \epsilon \).
 
subroutine, public rzero (a, n)
 Zero a real vector.
 
subroutine, public izero (a, n)
 Zero an integer vector.
 
subroutine, public row_zero (a, m, n, e)
 Sets row e to 0 in matrix a.
 
subroutine, public rone (a, n)
 Set all elements to one.
 
subroutine, public copy (a, b, n)
 Copy a vector \( a = b \).
 
subroutine, public masked_copy_0 (a, b, mask, n, n_mask)
 Copy a masked vector \( a(mask) = b(mask) \).
 
subroutine, public masked_copy (a, b, mask, n, n_mask)
 Copy a masked vector \( a(mask) = b(mask) \).
 
subroutine, public masked_gather_copy_0 (a, b, mask, n, n_mask)
 Gather a masked vector to reduced contigous vector \( a = b(mask) \).
 
subroutine, public masked_gather_copy (a, b, mask, n, n_mask)
 Gather a masked vector to reduced contigous vector \( a = b(mask) \).
 
subroutine, public masked_scatter_copy_0 (a, b, mask, n, n_mask)
 Scatter a contigous vector to masked positions in a target array \( a(mask) = b \).
 
subroutine, public masked_scatter_copy (a, b, mask, n, n_mask)
 Scatter a contigous vector to masked positions in a target array \( a(mask) = b \).
 
subroutine, public cfill_mask (a, c, n, mask, n_mask)
 Fill a constant to a masked vector. \( a_i = c, for i in mask \).
 
subroutine, public cmult (a, c, n)
 Multiplication by constant c \( a = c \cdot a \).
 
subroutine, public cmult2 (a, b, c, n)
 Multiplication by constant c \( a = c \cdot b \).
 
subroutine, public cdiv (a, c, n)
 Division of constant c by elements of a \( a = c / a \).
 
subroutine, public cdiv2 (a, b, c, n)
 Division of constant c by elements of a \( a = c / b \).
 
subroutine, public cadd (a, s, n)
 Add a scalar to vector \( a_i = a_i + s \).
 
subroutine, public cadd2 (a, b, s, n)
 Add a scalar to vector \( a_i = b_i + s \).
 
subroutine, public cfill (a, c, n)
 Set all elements to a constant c \( a = c \).
 
real(kind=rp) function, public glsum (a, n)
 Sum a vector of length n.
 
real(kind=rp) function, public glmax (a, n)
 Max of a vector of length n.
 
integer function, public glimax (a, n)
 Max of an integer vector of length n.
 
real(kind=rp) function, public glmin (a, n)
 Min of a vector of length n.
 
integer function, public glimin (a, n)
 Min of an integer vector of length n.
 
subroutine, public chsign (a, n)
 Change sign of vector \( a = -a \).
 
real(kind=rp) function, public vlmax (vec, n)
 maximum value of a vector of length n
 
real(kind=rp) function, public vlmin (vec, n)
 minimun value of a vector of length n
 
subroutine, public invcol1 (a, n)
 Invert a vector \( a = 1 / a \).
 
subroutine, public invcol3 (a, b, c, n)
 Invert a vector \( a = b / c \).
 
subroutine, public invers2 (a, b, n)
 Compute inverted vector \( a = 1 / b \).
 
subroutine, public vcross (u1, u2, u3, v1, v2, v3, w1, w2, w3, n)
 Compute a cross product \( u = v \times w \) assuming vector components \( u = (u_1, u_2, u_3) \) etc.
 
subroutine, public vdot2 (dot, u1, u2, v1, v2, n)
 Compute a dot product \( dot = u \cdot v \) (2-d version) assuming vector components \( u = (u_1, u_2, u_3) \) etc.
 
subroutine, public vdot3 (dot, u1, u2, u3, v1, v2, v3, n)
 Compute a dot product \( dot = u \cdot v \) (3-d version) assuming vector components \( u = (u_1, u_2, u_3) \) etc.
 
real(kind=rp) function, public vlsc3 (u, v, w, n)
 Compute multiplication sum \( dot = u \cdot v \cdot w \).
 
real(kind=rp) function, public vlsc2 (u, v, n)
 Compute multiplication sum \( dot = u \cdot v \cdot w \).
 
subroutine, public add2 (a, b, n)
 Vector addition \( a = a + b \).
 
subroutine, public add3 (a, b, c, n)
 Vector addition \( a = b + c \).
 
subroutine, public add4 (a, b, c, d, n)
 Vector addition \( a = b + c + d\).
 
subroutine, public sub2 (a, b, n)
 Vector substraction \( a = a - b \).
 
subroutine, public sub3 (a, b, c, n)
 Vector subtraction \( a = b - c \).
 
subroutine, public add2s1 (a, b, c1, n)
 Vector addition with scalar multiplication \( a = c_1 a + b \) (multiplication on first argument)
 
subroutine, public add2s2 (a, b, c1, n)
 Vector addition with scalar multiplication \( a = a + c_1 b \) (multiplication on second argument)
 
subroutine, public addsqr2s2 (a, b, c1, n)
 Returns \( a = a + c1 * (b * b )\).
 
subroutine, public invcol2 (a, b, n)
 Vector division \( a = a / b \).
 
subroutine, public col2 (a, b, n)
 Vector multiplication \( a = a \cdot b \).
 
subroutine, public col3 (a, b, c, n)
 Vector multiplication with 3 vectors \( a = b \cdot c \).
 
subroutine, public subcol3 (a, b, c, n)
 Returns \( a = a - b*c \).
 
subroutine, public add3s2 (a, b, c, c1, c2, n)
 Returns \( a = c1 * b + c2 * c \).
 
subroutine, public add4s3 (a, b, c, d, c1, c2, c3, n)
 Returns \( a = c1 * b + c2 * c + c3 * d \).
 
subroutine, public add5s4 (a, b, c, d, e, c1, c2, c3, c4, n)
 Returns \( a = a + c1 * b + c2 * c + c3 * d + c4 * e\).
 
subroutine, public subcol4 (a, b, c, d, n)
 Returns \( a = a - b*c*d \).
 
subroutine, public addcol3 (a, b, c, n)
 Returns \( a = a + b*c \).
 
subroutine, public addcol4 (a, b, c, d, n)
 Returns \( a = a + b*c*d \).
 
subroutine, public addcol3s2 (a, b, c, s, n)
 Returns \( a = a + s(b*c) \).
 
subroutine, public ascol5 (a, b, c, d, e, n)
 Returns \( a = b \dot c - d \cdot e \).
 
subroutine, public p_update (a, b, c, c1, c2, n)
 Returns \( a = b \dot c1 ( a - c2 \cdot c )\).
 
subroutine, public x_update (a, b, c, c1, c2, n)
 Returns \( a = b \dot c1 ( a - c2 \cdot c )\).
 
real(kind=rp) function, public glsc2 (a, b, n)
 Weighted inner product \( a^T b \).
 
real(kind=rp) function, public glsc3 (a, b, c, n)
 Weighted inner product \( a^T b c \).
 
real(kind=rp) function, public glsc4 (a, b, c, d, n)
 
real(kind=rp) function, public glsubnorm (a, b, n)
 Returns the norm of the difference of two vectors \( \sqrt{(a-b)^T (a-b)} \).
 
subroutine sortrp (a, ind, n)
 Heap Sort for double precision arrays.
 
subroutine sorti4 (a, ind, n)
 Heap Sort for single integer arrays.
 
subroutine swapdp (b, ind, n)
 sort double precision array acording to ind vector
 
subroutine swapi4 (b, ind, n)
 sort single integer array acording to ind vector
 
subroutine reorddp (b, ind, n)
 reorder double precision array - inverse of swap
 
subroutine reordi4 (b, ind, n)
 reorder single integer array - inverse of swap
 
subroutine flipvdp (b, ind, n)
 Flip double precision vector b and ind.
 
subroutine flipvi4 (b, ind, n)
 Flip single integer vector b and ind.
 
subroutine, public absval (a, n)
 Take the absolute value of an array.
 
subroutine, public pwmax2 (a, b, n)
 Point-wise maximum of two vectors \( a = \max(a, b) \).
 
subroutine, public pwmax3 (a, b, c, n)
 Point-wise maximum of two vectors \( a = \max(b, c) \).
 
subroutine, public cpwmax2 (a, b, n)
 Point-wise maximum of scalar and vector \( a = \max(a, b) \).
 
subroutine, public cpwmax3 (a, b, c, n)
 Point-wise maximum of scalar and vector \( a = \max(b, c) \).
 
subroutine, public pwmin2 (a, b, n)
 Point-wise minimum of two vectors \( a = \min(a, b) \).
 
subroutine, public pwmin3 (a, b, c, n)
 Point-wise minimum of two vectors \( a = \min(b, c) \).
 
subroutine, public cpwmin2 (a, b, n)
 Point-wise minimum of scalar and vector \( a = \min(a, b) \).
 
subroutine, public cpwmin3 (a, b, c, n)
 Point-wise minimum of scalar and vector \( a = \min(b, c) \).
 
real(rp) function, dimension(3, 3), public matinv39 (a11, a12, a13, a21, a22, a23, a31, a32, a33)
 
real(kind=xp) function, dimension(3, 3), public matinv3 (a)
 Performs a direct calculation of the inverse of a 3×3 matrix. M33INV and M44INV by David G. Simpson pure function version from https://fortranwiki.org/fortran/show/Matrix+inversion Invert 3x3 matrix.
 
real(kind=rp) function, public math_stepf (x)
 Smooth step function S(x) Returns 0 for x <= 0, 1 for x >= 1, and smooth transition in between.
 
real(kind=rp) function, public math_dstepf (x)
 Derivative of math_stepf with respect to x: d(stepf)/dx.
 

Variables

real(kind=rp), parameter, public neko_eps = epsilon(1.0_rp)
 Machine epsilon \( \epsilon \).
 
real(kind=rp), parameter, public neko_m_ln2 = log(2.0_rp)
 \( ln(2) \)
 
real(kind=rp), parameter, public pi = 4._rp*atan(1._rp)
 \( \pi \)
 

Function/Subroutine Documentation

◆ absval()

subroutine, public math::absval ( real(kind=rp), dimension(n), intent(inout a,
integer, intent(in n 
)
Parameters
[in,out]avector to be manipulated
[in]narray size

Definition at line 1372 of file math.f90.

Here is the caller graph for this function:

◆ add2()

subroutine, public math::add2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, intent(in n 
)

Definition at line 726 of file math.f90.

Here is the caller graph for this function:

◆ add2s1()

subroutine, public math::add2s1 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), intent(in c1,
integer, intent(in n 
)

Definition at line 797 of file math.f90.

Here is the caller graph for this function:

◆ add2s2()

subroutine, public math::add2s2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), intent(in c1,
integer, intent(in n 
)

Definition at line 812 of file math.f90.

Here is the caller graph for this function:

◆ add3()

subroutine, public math::add3 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
integer, intent(in n 
)

Definition at line 739 of file math.f90.

Here is the caller graph for this function:

◆ add3s2()

subroutine, public math::add3s2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
real(kind=rp), intent(in c1,
real(kind=rp), intent(in c2,
integer, intent(in n 
)

Definition at line 895 of file math.f90.

Here is the caller graph for this function:

◆ add4()

subroutine, public math::add4 ( real(kind=rp), dimension(n), intent(out a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
real(kind=rp), dimension(n), intent(in d,
integer, intent(in n 
)

Definition at line 753 of file math.f90.

Here is the caller graph for this function:

◆ add4s3()

subroutine, public math::add4s3 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
real(kind=rp), dimension(n), intent(in d,
real(kind=rp), intent(in c1,
real(kind=rp), intent(in c2,
real(kind=rp), intent(in c3,
integer, intent(in n 
)

Definition at line 910 of file math.f90.

Here is the caller graph for this function:

◆ add5s4()

subroutine, public math::add5s4 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
real(kind=rp), dimension(n), intent(in d,
real(kind=rp), dimension(n), intent(in e,
real(kind=rp), intent(in c1,
real(kind=rp), intent(in c2,
real(kind=rp), intent(in c3,
real(kind=rp), intent(in c4,
integer, intent(in n 
)

Definition at line 926 of file math.f90.

◆ addcol3()

subroutine, public math::addcol3 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
integer, intent(in n 
)

Definition at line 958 of file math.f90.

Here is the caller graph for this function:

◆ addcol3s2()

subroutine, public math::addcol3s2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
real(kind=rp), intent(in s,
integer, intent(in n 
)

Definition at line 987 of file math.f90.

◆ addcol4()

subroutine, public math::addcol4 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
real(kind=rp), dimension(n), intent(in d,
integer, intent(in n 
)

Definition at line 972 of file math.f90.

Here is the caller graph for this function:

◆ addsqr2s2()

subroutine, public math::addsqr2s2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), intent(in c1,
integer, intent(in n 
)

Definition at line 826 of file math.f90.

Here is the caller graph for this function:

◆ ascol5()

subroutine, public math::ascol5 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
real(kind=rp), dimension(n), intent(in d,
real(kind=rp), dimension(n), intent(in e,
integer, intent(in n 
)

Definition at line 1002 of file math.f90.

◆ cadd()

subroutine, public math::cadd ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), intent(in s,
integer, intent(in n 
)

Definition at line 462 of file math.f90.

Here is the caller graph for this function:

◆ cadd2()

subroutine, public math::cadd2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), intent(in s,
integer, intent(in n 
)

Definition at line 474 of file math.f90.

◆ cdiv()

subroutine, public math::cdiv ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), intent(in c,
integer, intent(in n 
)

Definition at line 437 of file math.f90.

◆ cdiv2()

subroutine, public math::cdiv2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), intent(in c,
integer, intent(in n 
)

Definition at line 449 of file math.f90.

◆ cfill()

subroutine, public math::cfill ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), intent(in c,
integer, intent(in n 
)

Definition at line 487 of file math.f90.

Here is the caller graph for this function:

◆ cfill_mask()

subroutine, public math::cfill_mask ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), intent(in c,
integer, intent(in n,
integer, dimension(n_mask), intent(in mask,
integer, intent(in n_mask 
)

Definition at line 397 of file math.f90.

Here is the caller graph for this function:

◆ chsign()

subroutine, public math::chsign ( real(kind=rp), dimension(n), intent(inout a,
integer, intent(in n 
)

Definition at line 579 of file math.f90.

Here is the caller graph for this function:

◆ cmult()

subroutine, public math::cmult ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), intent(in c,
integer, intent(in n 
)

Definition at line 411 of file math.f90.

Here is the caller graph for this function:

◆ cmult2()

subroutine, public math::cmult2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), intent(in c,
integer, intent(in n 
)

Definition at line 423 of file math.f90.

Here is the caller graph for this function:

◆ col2()

subroutine, public math::col2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, intent(in n 
)

Definition at line 854 of file math.f90.

Here is the caller graph for this function:

◆ col3()

subroutine, public math::col3 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
integer, intent(in n 
)

Definition at line 867 of file math.f90.

Here is the caller graph for this function:

◆ copy()

subroutine, public math::copy ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, intent(in n 
)

Definition at line 249 of file math.f90.

Here is the caller graph for this function:

◆ cpwmax2()

subroutine, public math::cpwmax2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), intent(in b,
integer, intent(in n 
)

Definition at line 1409 of file math.f90.

Here is the caller graph for this function:

◆ cpwmax3()

subroutine, public math::cpwmax3 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), intent(in c,
integer, intent(in n 
)

Definition at line 1421 of file math.f90.

Here is the caller graph for this function:

◆ cpwmin2()

subroutine, public math::cpwmin2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), intent(in b,
integer, intent(in n 
)

Definition at line 1458 of file math.f90.

Here is the caller graph for this function:

◆ cpwmin3()

subroutine, public math::cpwmin3 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), intent(in c,
integer, intent(in n 
)

Definition at line 1470 of file math.f90.

Here is the caller graph for this function:

◆ dabscmp()

pure logical function, public math::dabscmp ( real(kind=dp), intent(in x,
real(kind=dp), intent(in y,
real(kind=dp), intent(in), optional  tol 
)

Definition at line 132 of file math.f90.

Here is the caller graph for this function:

◆ drelcmp()

pure logical function math::drelcmp ( real(kind=dp), intent(in x,
real(kind=dp), intent(in y,
real(kind=dp), intent(in), optional  eps 
)
private

Definition at line 176 of file math.f90.

Here is the caller graph for this function:

◆ flipvdp()

subroutine math::flipvdp ( real(kind=rp), dimension(n), intent(inout b,
integer, dimension(n), intent(inout ind,
integer, intent(in n 
)
private
Parameters
[in,out]bvector to be reordered
[in,out]indpermutation array
[in]narray size

Definition at line 1327 of file math.f90.

◆ flipvi4()

subroutine math::flipvi4 ( integer(i4), dimension(n), intent(inout b,
integer, dimension(n), intent(inout ind,
integer, intent(in n 
)
private
Parameters
[in,out]bvector to be reordered
[in,out]indpermutation array
[in]narray size

Definition at line 1350 of file math.f90.

◆ glimax()

integer function, public math::glimax ( integer, dimension(n)  a,
integer, intent(in n 
)

Definition at line 531 of file math.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ glimin()

integer function, public math::glimin ( integer, dimension(n)  a,
integer, intent(in n 
)

Definition at line 561 of file math.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ glmax()

real(kind=rp) function, public math::glmax ( real(kind=rp), dimension(n)  a,
integer, intent(in n 
)

Definition at line 516 of file math.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ glmin()

real(kind=rp) function, public math::glmin ( real(kind=rp), dimension(n)  a,
integer, intent(in n 
)

Definition at line 546 of file math.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ glsc2()

real(kind=rp) function, public math::glsc2 ( real(kind=rp), dimension(n), intent(in a,
real(kind=rp), dimension(n), intent(in b,
integer, intent(in n 
)

Definition at line 1048 of file math.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ glsc3()

real(kind=rp) function, public math::glsc3 ( real(kind=rp), dimension(n), intent(in a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
integer, intent(in n 
)

Definition at line 1067 of file math.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ glsc4()

real(kind=rp) function, public math::glsc4 ( real(kind=rp), dimension(n), intent(in a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
real(kind=rp), dimension(n), intent(in d,
integer, intent(in n 
)

Definition at line 1086 of file math.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ glsubnorm()

real(kind=rp) function, public math::glsubnorm ( real(kind=rp), dimension(n), intent(in a,
real(kind=rp), dimension(n), intent(in b,
integer, intent(in n 
)

Definition at line 1109 of file math.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ glsum()

real(kind=rp) function, public math::glsum ( real(kind=rp), dimension(n)  a,
integer, intent(in n 
)

Definition at line 499 of file math.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ invcol1()

subroutine, public math::invcol1 ( real(kind=rp), dimension(n), intent(inout a,
integer, intent(in n 
)

Definition at line 614 of file math.f90.

Here is the caller graph for this function:

◆ invcol2()

subroutine, public math::invcol2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, intent(in n 
)

Definition at line 840 of file math.f90.

Here is the caller graph for this function:

◆ invcol3()

subroutine, public math::invcol3 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
integer, intent(in n 
)

Definition at line 626 of file math.f90.

Here is the caller graph for this function:

◆ invers2()

subroutine, public math::invers2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, intent(in n 
)

Definition at line 639 of file math.f90.

Here is the caller graph for this function:

◆ izero()

subroutine, public math::izero ( integer, dimension(n), intent(inout a,
integer, intent(in n 
)

Definition at line 216 of file math.f90.

◆ masked_copy()

subroutine, public math::masked_copy ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, dimension(n_mask mask,
integer, intent(in n,
integer, intent(in n_mask 
)
Parameters
aDestination array of size n.
bSource array of size n.
maskMask array of length n_mask + 1, where mask(0) = n_mask the length of the mask array.
nSize of the arrays a and b.
n_maskSize of the mask array mask.

Definition at line 289 of file math.f90.

◆ masked_copy_0()

subroutine, public math::masked_copy_0 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, dimension(0:n_mask mask,
integer, intent(in n,
integer, intent(in n_mask 
)
Parameters
aDestination array of size n.
bSource array of size n.
maskMask array of length n_mask + 1, where mask(0) = n_mask the length of the mask array.
nSize of the arrays a and b.
n_maskSize of the mask array mask.

Definition at line 268 of file math.f90.

Here is the caller graph for this function:

◆ masked_gather_copy()

subroutine, public math::masked_gather_copy ( real(kind=rp), dimension(n_mask), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, dimension(n_mask mask,
integer, intent(in n,
integer, intent(in n_mask 
)
Parameters
aDestination array of size n_mask.
bSource array of size n.
maskMask array of length n_mask + 1, where mask(0) = n_mask the length of the mask array.
nSize of the array b.
n_maskSize of the mask array mask and a.
Note
Assumes n .ge. n_mask.

Definition at line 335 of file math.f90.

Here is the caller graph for this function:

◆ masked_gather_copy_0()

subroutine, public math::masked_gather_copy_0 ( real(kind=rp), dimension(n_mask), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, dimension(0:n_mask mask,
integer, intent(in n,
integer, intent(in n_mask 
)
Parameters
aDestination array of size n_mask.
bSource array of size n.
maskMask array of length n_mask + 1, where mask(0) = n_mask the length of the mask array.
nSize of the array b.
n_maskSize of the mask array mask and a.
Note
Assumes n .ge. n_mask.

Definition at line 312 of file math.f90.

Here is the caller graph for this function:

◆ masked_scatter_copy()

subroutine, public math::masked_scatter_copy ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n_mask), intent(in b,
integer, dimension(n_mask mask,
integer, intent(in n,
integer, intent(in n_mask 
)
Parameters
aDestination array of size n.
bSource array of size n_mask.
maskMask array of length n_mask + 1, where mask(0) = n_mask + 1 the length of the mask array.
nSize of the array maskand array b.
mSize of the mask array a.
Note
Assumes n .ge. n_mask.

Definition at line 381 of file math.f90.

◆ masked_scatter_copy_0()

subroutine, public math::masked_scatter_copy_0 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n_mask), intent(in b,
integer, dimension(0:n_mask mask,
integer, intent(in n,
integer, intent(in n_mask 
)
Parameters
aDestination array of size n.
bSource array of size n_mask.
maskMask array of length n_mask + 1, where mask(0) = n_mask + 1 the length of the mask array.
nSize of the array maskand array b.
mSize of the mask array a.
Note
Assumes n .ge. n_mask.

Definition at line 358 of file math.f90.

Here is the caller graph for this function:

◆ math_dstepf()

real(kind=rp) function, public math::math_dstepf ( real(kind=rp), intent(in x)

Definition at line 1555 of file math.f90.

Here is the caller graph for this function:

◆ math_stepf()

real(kind=rp) function, public math::math_stepf ( real(kind=rp), intent(in x)

Definition at line 1532 of file math.f90.

◆ matinv3()

real(kind=xp) function, dimension(3,3), public math::matinv3 ( real(kind=xp), dimension(3,3), intent(in a)

Definition at line 1506 of file math.f90.

Here is the caller graph for this function:

◆ matinv39()

real(rp) function, dimension(3,3), public math::matinv39 ( real(kind=rp), intent(in a11,
real(kind=rp), intent(in a12,
real(kind=rp), intent(in a13,
real(kind=rp), intent(in a21,
real(kind=rp), intent(in a22,
real(kind=rp), intent(in a23,
real(kind=rp), intent(in a31,
real(kind=rp), intent(in a32,
real(kind=rp), intent(in a33 
)

Definition at line 1485 of file math.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ p_update()

subroutine, public math::p_update ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
real(kind=rp), intent(in c1,
real(kind=rp), intent(in c2,
integer, intent(in n 
)

Definition at line 1018 of file math.f90.

Here is the caller graph for this function:

◆ pwmax2()

subroutine, public math::pwmax2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, intent(in n 
)

Definition at line 1385 of file math.f90.

Here is the caller graph for this function:

◆ pwmax3()

subroutine, public math::pwmax3 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
integer, intent(in n 
)

Definition at line 1397 of file math.f90.

Here is the caller graph for this function:

◆ pwmin2()

subroutine, public math::pwmin2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, intent(in n 
)

Definition at line 1434 of file math.f90.

Here is the caller graph for this function:

◆ pwmin3()

subroutine, public math::pwmin3 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
integer, intent(in n 
)

Definition at line 1446 of file math.f90.

Here is the caller graph for this function:

◆ qabscmp()

pure logical function math::qabscmp ( real(kind=qp), intent(in x,
real(kind=qp), intent(in y,
real(kind=qp), intent(in), optional  tol 
)
private

Definition at line 147 of file math.f90.

Here is the caller graph for this function:

◆ qrelcmp()

pure logical function math::qrelcmp ( real(kind=qp), intent(in x,
real(kind=qp), intent(in y,
real(kind=qp), intent(in), optional  eps 
)
private

Definition at line 191 of file math.f90.

Here is the caller graph for this function:

◆ reorddp()

subroutine math::reorddp ( real(kind=rp), dimension(n), intent(inout b,
integer, dimension(n), intent(in ind,
integer, intent(in n 
)
private
Parameters
[in,out]bvector to be reordered
[in]indpermutation array
[in]narray size

Definition at line 1287 of file math.f90.

◆ reordi4()

subroutine math::reordi4 ( integer(i4), dimension(n), intent(inout b,
integer, dimension(n), intent(in ind,
integer, intent(in n 
)
private
Parameters
[in,out]bvector to be reordered
[in]indpermutation array
[in]narray size

Definition at line 1307 of file math.f90.

◆ rone()

subroutine, public math::rone ( real(kind=rp), dimension(n), intent(inout a,
integer, intent(in n 
)

Definition at line 238 of file math.f90.

Here is the caller graph for this function:

◆ row_zero()

subroutine, public math::row_zero ( real(kind=rp), dimension(m,n), intent(inout a,
integer, intent(in m,
integer, intent(in n,
integer, intent(in e 
)

Definition at line 227 of file math.f90.

◆ rzero()

subroutine, public math::rzero ( real(kind=rp), dimension(n), intent(inout a,
integer, intent(in n 
)

Definition at line 205 of file math.f90.

Here is the caller graph for this function:

◆ sabscmp()

pure logical function, public math::sabscmp ( real(kind=sp), intent(in x,
real(kind=sp), intent(in y,
real(kind=sp), intent(in), optional  tol 
)

Definition at line 117 of file math.f90.

Here is the caller graph for this function:

◆ sorti4()

subroutine math::sorti4 ( integer(i4), dimension(n), intent(inout a,
integer, dimension(n), intent(out ind,
integer, intent(in n 
)
private

Following p 231 Num. Rec., 1st Ed.

Parameters
[in,out]avector to be sorted
[out]indpermutation array
[in]narray size

Definition at line 1191 of file math.f90.

◆ sortrp()

subroutine math::sortrp ( real(kind=rp), dimension(n), intent(inout a,
integer, dimension(n), intent(out ind,
integer, intent(in n 
)
private

Following p 231 Num. Rec., 1st Ed.

Parameters
[in,out]avector to be sorted
[out]indpermutation array
[in]narray size

Definition at line 1133 of file math.f90.

◆ srelcmp()

pure logical function math::srelcmp ( real(kind=sp), intent(in x,
real(kind=sp), intent(in y,
real(kind=sp), intent(in), optional  eps 
)
private

Definition at line 162 of file math.f90.

Here is the caller graph for this function:

◆ sub2()

subroutine, public math::sub2 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
integer, intent(in n 
)

Definition at line 768 of file math.f90.

Here is the caller graph for this function:

◆ sub3()

subroutine, public math::sub3 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
integer, intent(in n 
)

Definition at line 781 of file math.f90.

Here is the caller graph for this function:

◆ subcol3()

subroutine, public math::subcol3 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
integer, intent(in n 
)

Definition at line 881 of file math.f90.

Here is the caller graph for this function:

◆ subcol4()

subroutine, public math::subcol4 ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
real(kind=rp), dimension(n), intent(in d,
integer, intent(in n 
)

Definition at line 943 of file math.f90.

◆ swapdp()

subroutine math::swapdp ( real(kind=rp), dimension(n), intent(inout b,
integer, dimension(n), intent(in ind,
integer, intent(in n 
)
private
Parameters
[in,out]bvector to be reordered
[in]indpermutation array
[in]narray size

Definition at line 1247 of file math.f90.

◆ swapi4()

subroutine math::swapi4 ( integer(i4), dimension(n), intent(inout b,
integer, dimension(n), intent(in ind,
integer, intent(in n 
)
private
Parameters
[in,out]bvector to be reordered
[in]indpermutation array
[in]narray size

Definition at line 1267 of file math.f90.

◆ vcross()

subroutine, public math::vcross ( real(kind=rp), dimension(n), intent(out u1,
real(kind=rp), dimension(n), intent(out u2,
real(kind=rp), dimension(n), intent(out u3,
real(kind=rp), dimension(n), intent(in v1,
real(kind=rp), dimension(n), intent(in v2,
real(kind=rp), dimension(n), intent(in v3,
real(kind=rp), dimension(n), intent(in w1,
real(kind=rp), dimension(n), intent(in w2,
real(kind=rp), dimension(n), intent(in w3,
integer, intent(in n 
)

Definition at line 653 of file math.f90.

Here is the caller graph for this function:

◆ vdot2()

subroutine, public math::vdot2 ( real(kind=rp), dimension(n), intent(out dot,
real(kind=rp), dimension(n), intent(in u1,
real(kind=rp), dimension(n), intent(in u2,
real(kind=rp), dimension(n), intent(in v1,
real(kind=rp), dimension(n), intent(in v2,
integer, intent(in n 
)

Definition at line 670 of file math.f90.

◆ vdot3()

subroutine, public math::vdot3 ( real(kind=rp), dimension(n), intent(out dot,
real(kind=rp), dimension(n), intent(in u1,
real(kind=rp), dimension(n), intent(in u2,
real(kind=rp), dimension(n), intent(in u3,
real(kind=rp), dimension(n), intent(in v1,
real(kind=rp), dimension(n), intent(in v2,
real(kind=rp), dimension(n), intent(in v3,
integer, intent(in n 
)

Definition at line 684 of file math.f90.

Here is the caller graph for this function:

◆ vlmax()

real(kind=rp) function, public math::vlmax ( real(kind=rp), dimension(n), intent(in vec,
integer  n 
)

Definition at line 591 of file math.f90.

Here is the caller graph for this function:

◆ vlmin()

real(kind=rp) function, public math::vlmin ( real(kind=rp), dimension(n), intent(in vec,
integer, intent(in n 
)

Definition at line 602 of file math.f90.

Here is the caller graph for this function:

◆ vlsc2()

real(kind=rp) function, public math::vlsc2 ( real(kind=rp), dimension(n), intent(in u,
real(kind=rp), dimension(n), intent(in v,
integer, intent(in n 
)

Definition at line 712 of file math.f90.

Here is the caller graph for this function:

◆ vlsc3()

real(kind=rp) function, public math::vlsc3 ( real(kind=rp), dimension(n), intent(in u,
real(kind=rp), dimension(n), intent(in v,
real(kind=rp), dimension(n), intent(in w,
integer, intent(in n 
)

Definition at line 698 of file math.f90.

◆ x_update()

subroutine, public math::x_update ( real(kind=rp), dimension(n), intent(inout a,
real(kind=rp), dimension(n), intent(in b,
real(kind=rp), dimension(n), intent(in c,
real(kind=rp), intent(in c1,
real(kind=rp), intent(in c2,
integer, intent(in n 
)

Definition at line 1033 of file math.f90.

Here is the caller graph for this function:

Variable Documentation

◆ neko_eps

real(kind=rp), parameter, public math::neko_eps = epsilon(1.0_rp)

Definition at line 69 of file math.f90.

◆ neko_m_ln2

real(kind=rp), parameter, public math::neko_m_ln2 = log(2.0_rp)

Definition at line 72 of file math.f90.

◆ pi

real(kind=rp), parameter, public math::pi = 4._rp*atan(1._rp)

Definition at line 75 of file math.f90.