GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
N_tools.c File Reference
#include "grass/N_pde.h"
#include "grass/glocale.h"
#include <math.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

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 33 of file N_tools.c.

References b.

Referenced by N_callback_gwflow_2d().

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 53 of file N_tools.c.

References tools::size.

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 77 of file N_tools.c.

Referenced by N_callback_solute_transport_2d().

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 97 of file N_tools.c.

References tools::size.

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 121 of file N_tools.c.

References b.

Referenced by N_callback_gwflow_2d(), N_callback_gwflow_3d(), N_callback_solute_transport_2d(), N_callback_solute_transport_3d(), N_compute_gradient_field_2d(), and N_compute_gradient_field_3d().

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 142 of file N_tools.c.

References tools::size.

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 172 of file N_tools.c.

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 192 of file N_tools.c.

References tools::size.