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

Data Types

interface  abscmp
 
interface  relcmp
 

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 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 = \sum a_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 c \). 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, public sort (a, ind, n)
 Use Heap Sort (p 231 Num. Rec., 1st Ed.) 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

◆ 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 
)

Vector addition \( a = a + b \).

Definition at line 502 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 
)

Vector addition with scalar multiplication \( a = c_1 a + b \) (multiplication on first argument)

Definition at line 573 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 
)

Vector addition with scalar multiplication \( a = a + c_1 b \) (multiplication on second argument)

Definition at line 588 of file math.f90.

Here is the caller graph for this function:

◆ add3()

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

Vector addition \( a = b + c \).

Definition at line 515 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 
)

Returns \( a = c1 * b + c2 * c \).

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

Vector addition \( a = b + c + d\).

Definition at line 529 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 
)

Returns \( a = a + b*c \).

Definition at line 716 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 
)

Returns \( a = a + b*c*d \).

Definition at line 730 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 
)

Returns \( a = a + c1 * (b * b )\).

Definition at line 602 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 
)

Returns \( a = b \dot c - d \cdot e \).

Definition at line 745 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 
)

Add a scalar to vector \( a = \sum a_i + s \).

Definition at line 257 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 
)

Set all elements to a constant c \( a = c \).

Definition at line 269 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 
)

Change sign of vector \( a = -a \).

Definition at line 355 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 
)

Multiplication by constant c \( a = c \cdot a \).

Definition at line 245 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 
)

Multiplication by constant c \( a = c \cdot b \).

Definition at line 616 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 
)

Vector multiplication \( a = a \cdot b \).

Definition at line 644 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 
)

Vector multiplication with 3 vectors \( a = b \cdot c \).

Definition at line 657 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 
)

Copy a vector \( a = b \).

Definition at line 210 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

Return double precision absolute comparison \( | x - y | < \epsilon \).

Definition at line 103 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

Return double precision relative comparison \( | x - y |/|y| < \epsilon \).

Definition at line 137 of file math.f90.

Here is the caller graph for this function:

◆ glimax()

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

Max of an integer vector of length n.

Definition at line 310 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 
)

Min of an integer vector of length n.

Definition at line 338 of file math.f90.

◆ glmax()

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

Max of a vector of length n.

Definition at line 296 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 
)

Min of a vector of length n.

Definition at line 324 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 
)

Weighted inner product \( a^T b c \).

Definition at line 791 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 
)

Weighted inner product \( a^T b c \).

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

◆ glsum()

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

Sum a vector of length n.

Definition at line 281 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 
)

Invert a vector \( a = 1 / a \).

Definition at line 390 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 
)

Vector division \( a = a / b \).

Definition at line 630 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 
)

Invert a vector \( a = b / c \).

Definition at line 402 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 
)

Compute inverted vector \( a = 1 / b \).

Definition at line 415 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 
)

Zero an integer vector.

Definition at line 177 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 
)

Copy a masked vector \( a(mask) = b(mask) \).

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 229 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 
)

Returns \( a = b \dot c1 ( a - c2 \cdot c )\).

Definition at line 761 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 
)
private

Return double precision absolute comparison \( | x - y | < \epsilon \).

Definition at line 113 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

Return quad precision relative comparison \( | x - y |/|y| < \epsilon \).

Definition at line 152 of file math.f90.

Here is the caller graph for this function:

◆ rone()

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

Set all elements to one.

Definition at line 199 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 
)

Sets row e to 0 in matrix a.

Definition at line 188 of file math.f90.

◆ rzero()

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

Zero a real vector.

Definition at line 166 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

Return single precision absolute comparison \( | x - y | < \epsilon \).

Definition at line 93 of file math.f90.

Here is the caller graph for this function:

◆ sort()

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

Use Heap Sort (p 231 Num. Rec., 1st Ed.)

Definition at line 845 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

Return single precision relative comparison \( | x - y |<= \epsilon*|y| \).

Definition at line 123 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 
)

Vector substraction \( a = a - b \).

Definition at line 544 of file math.f90.

Here is the caller graph for this function:

◆ sub3()

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

Vector subtraction \( a = b - c \).

Definition at line 557 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 
)

Returns \( a = a - b*c \).

Definition at line 671 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 
)

Returns \( a = a - b*c*d \).

Definition at line 701 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 
)

Compute a cross product \( u = v \times w \) assuming vector components \( u = (u_1, u_2, u_3) \) etc.

Definition at line 429 of file math.f90.

◆ 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 
)

Compute a dot product \( dot = u \cdot v \) (2-d version) assuming vector components \( u = (u_1, u_2, u_3) \) etc.

Definition at line 446 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 
)

Compute a dot product \( dot = u \cdot v \) (3-d version) assuming vector components \( u = (u_1, u_2, u_3) \) etc.

Definition at line 460 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 
)

maximum value of a vector of length n

Definition at line 367 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 
)

minimun value of a vector of length n

Definition at line 378 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 
)

Compute multiplication sum \( dot = u \cdot v \cdot w \).

Definition at line 488 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 
)

Compute multiplication sum \( dot = u \cdot v \cdot w \).

Definition at line 474 of file math.f90.

Here is the caller graph for this function:

◆ 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 
)

Returns \( a = b \dot c1 ( a - c2 \cdot c )\).

Definition at line 776 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)

Machine epsilon \( \epsilon \).

Definition at line 67 of file math.f90.

◆ neko_m_ln2

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

\( ln(2) \)

Definition at line 70 of file math.f90.

◆ pi

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

\( \pi \)

Definition at line 73 of file math.f90.