Neko  0.9.0
A portable framework for high-order spectral element flow simulations
math Module Reference

Data Types

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

Functions/Subroutines

pure logical function sabscmp (x, y)
 Return single precision absolute comparison \( | x - y | < \epsilon \). More...
 
pure logical function dabscmp (x, y)
 Return double precision absolute comparison \( | x - y | < \epsilon \). More...
 
pure logical function qabscmp (x, y)
 Return double precision absolute comparison \( | x - y | < \epsilon \). More...
 
pure logical function srelcmp (x, y, eps)
 Return single precision relative comparison \( | x - y |<= \epsilon*|y| \). More...
 
pure logical function drelcmp (x, y, eps)
 Return double precision relative comparison \( | x - y |/|y| < \epsilon \). More...
 
pure logical function qrelcmp (x, y, eps)
 Return quad precision relative comparison \( | x - y |/|y| < \epsilon \). More...
 
subroutine, public rzero (a, n)
 Zero a real vector. More...
 
subroutine, public izero (a, n)
 Zero an integer vector. More...
 
subroutine, public row_zero (a, m, n, e)
 Sets row e to 0 in matrix a. More...
 
subroutine, public rone (a, n)
 Set all elements to one. More...
 
subroutine, public copy (a, b, n)
 Copy a vector \( a = b \). More...
 
subroutine, public masked_copy (a, b, mask, n, m)
 Copy a masked vector \( a(mask) = b(mask) \). More...
 
subroutine, public masked_red_copy (a, b, mask, n, m)
 Copy a masked vector to reduced contigous vector \( a = b(mask) \). More...
 
subroutine, public cfill_mask (a, c, size, mask, mask_size)
 Fill a constant to a masked vector. \( a_i = c, for i in mask \). More...
 
subroutine, public cmult (a, c, n)
 Multiplication by constant c \( a = c \cdot a \). More...
 
subroutine, public cadd (a, s, n)
 Add a scalar to vector \( a_i = a_i + s \). More...
 
subroutine, public cadd2 (a, b, s, n)
 Add a scalar to vector \( a_i = b_i + s \). More...
 
subroutine, public cfill (a, c, n)
 Set all elements to a constant c \( a = c \). More...
 
real(kind=rp) function, public glsum (a, n)
 Sum a vector of length n. More...
 
real(kind=rp) function, public glmax (a, n)
 Max of a vector of length n. More...
 
integer function, public glimax (a, n)
 Max of an integer vector of length n. More...
 
real(kind=rp) function, public glmin (a, n)
 Min of a vector of length n. More...
 
integer function, public glimin (a, n)
 Min of an integer vector of length n. More...
 
subroutine, public chsign (a, n)
 Change sign of vector \( a = -a \). More...
 
real(kind=rp) function, public vlmax (vec, n)
 maximum value of a vector of length n More...
 
real(kind=rp) function, public vlmin (vec, n)
 minimun value of a vector of length n More...
 
subroutine, public invcol1 (a, n)
 Invert a vector \( a = 1 / a \). More...
 
subroutine, public invcol3 (a, b, c, n)
 Invert a vector \( a = b / c \). More...
 
subroutine, public invers2 (a, b, n)
 Compute inverted vector \( a = 1 / b \). More...
 
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. More...
 
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. More...
 
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. More...
 
real(kind=rp) function, public vlsc3 (u, v, w, n)
 Compute multiplication sum \( dot = u \cdot v \cdot w \). More...
 
real(kind=rp) function, public vlsc2 (u, v, n)
 Compute multiplication sum \( dot = u \cdot v \cdot w \). More...
 
subroutine, public add2 (a, b, n)
 Vector addition \( a = a + b \). More...
 
subroutine, public add3 (a, b, c, n)
 Vector addition \( a = b + c \). More...
 
subroutine, public add4 (a, b, c, d, n)
 Vector addition \( a = b + c + d\). More...
 
subroutine, public sub2 (a, b, n)
 Vector substraction \( a = a - b \). More...
 
subroutine, public sub3 (a, b, c, n)
 Vector subtraction \( a = b - c \). More...
 
subroutine, public add2s1 (a, b, c1, n)
 Vector addition with scalar multiplication \( a = c_1 a + b \) (multiplication on first argument) More...
 
subroutine, public add2s2 (a, b, c1, n)
 Vector addition with scalar multiplication \( a = a + c_1 b \) (multiplication on second argument) More...
 
subroutine, public addsqr2s2 (a, b, c1, n)
 Returns \( a = a + c1 * (b * b )\). More...
 
subroutine, public cmult2 (a, b, c, n)
 Multiplication by constant c \( a = c \cdot b \). More...
 
subroutine, public invcol2 (a, b, n)
 Vector division \( a = a / b \). More...
 
subroutine, public col2 (a, b, n)
 Vector multiplication \( a = a \cdot b \). More...
 
subroutine, public col3 (a, b, c, n)
 Vector multiplication with 3 vectors \( a = b \cdot c \). More...
 
subroutine, public subcol3 (a, b, c, n)
 Returns \( a = a - b*c \). More...
 
subroutine, public add3s2 (a, b, c, c1, c2, n)
 Returns \( a = c1 * b + c2 * c \). More...
 
subroutine, public subcol4 (a, b, c, d, n)
 Returns \( a = a - b*c*d \). More...
 
subroutine, public addcol3 (a, b, c, n)
 Returns \( a = a + b*c \). More...
 
subroutine, public addcol4 (a, b, c, d, n)
 Returns \( a = a + b*c*d \). More...
 
subroutine, public ascol5 (a, b, c, d, e, n)
 Returns \( a = b \dot c - d \cdot e \). More...
 
subroutine, public p_update (a, b, c, c1, c2, n)
 Returns \( a = b \dot c1 ( a - c2 \cdot c )\). More...
 
subroutine, public x_update (a, b, c, c1, c2, n)
 Returns \( a = b \dot c1 ( a - c2 \cdot c )\). More...
 
real(kind=rp) function, public glsc2 (a, b, n)
 Weighted inner product \( a^T b \). More...
 
real(kind=rp) function, public glsc3 (a, b, c, n)
 Weighted inner product \( a^T b c \). More...
 
real(kind=rp) function, public glsc4 (a, b, c, d, n)
 
subroutine sortrp (a, ind, n)
 Heap Sort for double precision arrays. More...
 
subroutine sorti4 (a, ind, n)
 Heap Sort for single integer arrays. More...
 
subroutine swapdp (b, ind, n)
 sort double precision array acording to ind vector More...
 
subroutine swapi4 (b, ind, n)
 sort single integer array acording to ind vector More...
 
subroutine reorddp (b, ind, n)
 reorder double precision array - inverse of swap More...
 
subroutine reordi4 (b, ind, n)
 reorder single integer array - inverse of swap More...
 
subroutine flipvdp (b, ind, n)
 Flip double precision vector b and ind. More...
 
subroutine flipvi4 (b, ind, n)
 Flip single integer vector b and ind. More...
 
subroutine, public absval (a, n)
 Take the absolute value of an array. More...
 
subroutine pwmax_vec2 (a, b, n)
 Point-wise maximum of two vectors \( a = \max(a, b) \). More...
 
subroutine pwmax_vec3 (a, b, c, n)
 Point-wise maximum of two vectors \( a = \max(b, c) \). More...
 
subroutine pwmax_scal2 (a, b, n)
 Point-wise maximum of scalar and vector \( a = \max(a, b) \). More...
 
subroutine pwmax_scal3 (a, b, c, n)
 Point-wise maximum of scalar and vector \( a = \max(b, c) \). More...
 
subroutine pwmin_vec2 (a, b, n)
 Point-wise minimum of two vectors \( a = \min(a, b) \). More...
 
subroutine pwmin_vec3 (a, b, c, n)
 Point-wise minimum of two vectors \( a = \min(b, c) \). More...
 
subroutine pwmin_sca2 (a, b, n)
 Point-wise minimum of scalar and vector \( a = \min(a, b) \). More...
 
subroutine pwmin_sca3 (a, b, c, n)
 Point-wise minimum of scalar and vector \( a = \min(b, c) \). More...
 

Variables

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

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 1178 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 586 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 657 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 672 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 599 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 769 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 613 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 800 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 814 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 686 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 829 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 322 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 334 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 347 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 296 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 439 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 310 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 700 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 728 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 741 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 238 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 131 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 165 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 1133 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 1156 of file math.f90.

◆ glimax()

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

Definition at line 391 of file math.f90.

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

◆ glmax()

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

Definition at line 376 of file math.f90.

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

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

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

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

◆ glsum()

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

Definition at line 359 of file math.f90.

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 474 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 714 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 486 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 499 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 205 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 257 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 279 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 845 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 1215 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 1227 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 1191 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 1203 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 1264 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 1276 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 1240 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 1252 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 141 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 180 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 1093 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 1113 of file math.f90.

◆ rone()

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

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

◆ rzero()

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

Definition at line 194 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 121 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 997 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 939 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 151 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 628 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 641 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 755 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 785 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 1053 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 1073 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 513 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 530 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 544 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 451 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 462 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 572 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 558 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 860 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 70 of file math.f90.

◆ neko_m_ln2

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

Definition at line 73 of file math.f90.

◆ pi

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

Definition at line 76 of file math.f90.