GRASS GIS 8 Programmer's Manual  8.5.0dev(2024)-d6dec75dd4
n_tools.c File Reference
#include <math.h>
#include <grass/N_pde.h>
#include <grass/glocale.h>
Include dependency graph for n_tools.c:

Go to the source code of this file.

Functions

double N_calc_arith_mean (double a, double b)
 Calculate the arithmetic mean of values a and b. More...
 
double N_calc_arith_mean_n (double *a, int size)
 Calculate the arithmetic mean of the values in vector a of size n. More...
 
double N_calc_geom_mean (double a, double b)
 Calculate the geometrical mean of values a and b. More...
 
double N_calc_geom_mean_n (double *a, int size)
 Calculate the geometrical mean of the values in vector a of size n. More...
 
double N_calc_harmonic_mean (double a, double b)
 Calculate the harmonical mean of values a and b. More...
 
double N_calc_harmonic_mean_n (double *a, int size)
 Calculate the harmonical mean of the values in vector a of size n. More...
 
double N_calc_quad_mean (double a, double b)
 Calculate the quadratic mean of values a and b. More...
 
double N_calc_quad_mean_n (double *a, int size)
 Calculate the quadratic mean of the values in vector a of size n. More...
 

Function Documentation

◆ N_calc_arith_mean()

double N_calc_arith_mean ( double  a,
double  b 
)

Calculate the arithmetic mean of values a and b.

mean = (a+b)/2

Parameters
adouble
bdouble
Returns
val double

Definition at line 31 of file n_tools.c.

◆ N_calc_arith_mean_n()

double N_calc_arith_mean_n ( double *  a,
int  size 
)

Calculate the arithmetic mean of the values in vector a of size n.

n = [0 ... size[ mean = (a[0] + a[1] + ... + a[n])/size

Parameters
adouble * – the value vector
sizeint – the size of the vector a
Returns
val double

Definition at line 51 of file n_tools.c.

◆ N_calc_geom_mean()

double N_calc_geom_mean ( double  a,
double  b 
)

Calculate the geometrical mean of values a and b.

mean = sqrt(a*b)

Parameters
adouble
bdouble
Returns
val double

Definition at line 73 of file n_tools.c.

◆ N_calc_geom_mean_n()

double N_calc_geom_mean_n ( double *  a,
int  size 
)

Calculate the geometrical mean of the values in vector a of size n.

n = [0 ... size[ mean = pow((a[0] * a[1] * ... * a[n]), 1.0/size)

Parameters
adouble * – the value vector
sizeint – the size of the vector a
Returns
val double

Definition at line 93 of file n_tools.c.

◆ N_calc_harmonic_mean()

double N_calc_harmonic_mean ( double  a,
double  b 
)

Calculate the harmonical mean of values a and b.

mean = 2*(a*b)/(a + b)

Parameters
adouble
bdouble
Returns
val double – if (a + b) == 0, a 0 is returned

Definition at line 115 of file n_tools.c.

Referenced by N_compute_gradient_field_2d(), and N_compute_gradient_field_3d().

◆ N_calc_harmonic_mean_n()

double N_calc_harmonic_mean_n ( double *  a,
int  size 
)

Calculate the harmonical mean of the values in vector a of size n.

n = [0 ... size[ mean = 1/(1/size *(1/a[0] + 1/a[1] + ... + 1/a[n]))

Parameters
adouble * – the value vector
sizeint – the size of the vector a
Returns
val double – if one division with 0 is detected, 0 will be returned

Definition at line 136 of file n_tools.c.

◆ N_calc_quad_mean()

double N_calc_quad_mean ( double  a,
double  b 
)

Calculate the quadratic mean of values a and b.

mean = sqrt((a*a + b*b)/2)

Parameters
adouble
bdouble
Returns
val double

Definition at line 164 of file n_tools.c.

◆ N_calc_quad_mean_n()

double N_calc_quad_mean_n ( double *  a,
int  size 
)

Calculate the quadratic mean of the values in vector a of size n.

n = [0 ... size[ mean = sqrt((a[0]*a[0] + a[1]*a[1] + ... + a[n]*a[n])/size)

Parameters
adouble * – the value vector
sizeint – the size of the vector a
Returns
val double

Definition at line 184 of file n_tools.c.