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

Data Types

interface  abscmp
 
interface  flipv
 
interface  pwmax
 
interface  pwmin
 
interface  relcmp
 
interface  reord
 
interface  sort
 
interface  swap
 

Functions/Subroutines

pure logical function sabscmp (x, y)
 Return single precision absolute comparison \( | x - y | < \epsilon \).
 
pure logical function dabscmp (x, y)
 Return double precision absolute comparison \( | x - y | < \epsilon \).
 
pure logical function qabscmp (x, y)
 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 (a, b, mask, n, m)
 Copy a masked vector \( a(mask) = b(mask) \).
 
subroutine, public masked_red_copy (a, b, mask, n, m)
 Copy a masked vector to reduced contigous vector \( a = b(mask) \).
 
subroutine, public cfill_mask (a, c, size, mask, mask_size)
 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 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 cmult2 (a, b, c, n)
 Multiplication by constant c \( a = c \cdot 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 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 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)
 
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 pwmax_vec2 (a, b, n)
 Point-wise maximum of two vectors \( a = \max(a, b) \).
 
subroutine pwmax_vec3 (a, b, c, n)
 Point-wise maximum of two vectors \( a = \max(b, c) \).
 
subroutine pwmax_scal2 (a, b, n)
 Point-wise maximum of scalar and vector \( a = \max(a, b) \).
 
subroutine pwmax_scal3 (a, b, c, n)
 Point-wise maximum of scalar and vector \( a = \max(b, c) \).
 
subroutine pwmin_vec2 (a, b, n)
 Point-wise minimum of two vectors \( a = \min(a, b) \).
 
subroutine pwmin_vec3 (a, b, c, n)
 Point-wise minimum of two vectors \( a = \min(b, c) \).
 
subroutine pwmin_sca2 (a, b, n)
 Point-wise minimum of scalar and vector \( a = \min(a, b) \).
 
subroutine pwmin_sca3 (a, b, c, n)
 Point-wise minimum of scalar and vector \( a = \min(b, c) \).
 

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 1177 of file math.f90.

◆ 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 585 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(inout b,
real(kind=rp), intent(in c1,
integer, intent(in n 
)

Definition at line 656 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(inout b,
real(kind=rp), intent(in c1,
integer, intent(in n 
)

Definition at line 671 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 598 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 768 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 612 of file math.f90.

Here is the caller graph for this function:

◆ 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 799 of file math.f90.

Here is the caller graph for this function:

◆ 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 813 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 685 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 828 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 321 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 333 of file math.f90.

Here is the caller graph for this function:

◆ 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 346 of file math.f90.

Here is the caller graph for this function:

◆ cfill_mask()

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

Definition at line 295 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 438 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 309 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 699 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 727 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 740 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 237 of file math.f90.

Here is the caller graph for this function:

◆ dabscmp()

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

Definition at line 130 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 164 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 1132 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 1155 of file math.f90.

◆ glimax()

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

Definition at line 390 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 420 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 375 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 405 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 874 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 893 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 912 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 358 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 473 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 713 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 485 of file math.f90.

◆ 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 498 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 204 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(0:m)  mask,
integer, intent(in n,
integer, intent(in m 
)
Parameters
aDestination array of size n.
bSource array of size n.
maskMask array of length m+1, where mask(0) =m the length of the mask array.
nSize of the arrays a and b.
mSize of the mask array mask.

Definition at line 256 of file math.f90.

Here is the caller graph for this function:

◆ masked_red_copy()

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

Definition at line 278 of file math.f90.

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 844 of file math.f90.

Here is the caller graph for this function:

◆ pwmax_scal2()

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

Definition at line 1214 of file math.f90.

◆ pwmax_scal3()

subroutine math::pwmax_scal3 ( 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 
)
private

Definition at line 1226 of file math.f90.

◆ pwmax_vec2()

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

Definition at line 1190 of file math.f90.

◆ pwmax_vec3()

subroutine math::pwmax_vec3 ( 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 
)
private

Definition at line 1202 of file math.f90.

◆ pwmin_sca2()

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

Definition at line 1263 of file math.f90.

◆ pwmin_sca3()

subroutine math::pwmin_sca3 ( 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 
)
private

Definition at line 1275 of file math.f90.

◆ pwmin_vec2()

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

Definition at line 1239 of file math.f90.

◆ pwmin_vec3()

subroutine math::pwmin_vec3 ( 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 
)
private

Definition at line 1251 of file math.f90.

◆ qabscmp()

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

Definition at line 140 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 179 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 1092 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 1112 of file math.f90.

◆ rone()

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

Definition at line 226 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 215 of file math.f90.

◆ rzero()

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

Definition at line 193 of file math.f90.

Here is the caller graph for this function:

◆ sabscmp()

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

Definition at line 120 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 996 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 938 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 150 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(inout b,
integer, intent(in n 
)

Definition at line 627 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 640 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 754 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 784 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 1052 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 1072 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 512 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 529 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 543 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 450 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 461 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 571 of file math.f90.

◆ 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 557 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 859 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.