IGLib  1.7.2
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.Num.M Class Reference

Defines some mathematical functions to be used in derived and other classes. More...

+ Inheritance diagram for IG.Num.M:

Static Public Member Functions

static void Swap (ref double a, ref double b)
 Swaps values of the two specified variables of type double. More...
 
static void Swap (ref int a, ref int b)
 Swaps values of the two specified variables of type int. More...
 
static void Swap (ref string a, ref string b)
 Swaps values of the two specified variables of type string. More...
 
static double abs (double a)
 Absolute value. More...
 
static double sign (double a)
 Returns a value indicating the sign of a number. More...
 
static double ceil (double a)
 Returns the smallest integral value that is greater than or equal to the specified decimal number. More...
 
static double floor (double a)
 Returns the largest integer less than or equal to the specified number. More...
 
static double trunc (double a)
 Calculates the integral part of a specified number. More...
 
static double min (double a, double b)
 Smallest of two numbers. More...
 
static double max (double a, double b)
 Largest of two numbers. More...
 
static double min (double a, double b, double c)
 Smallest of three numbers. More...
 
static double max (double a, double b, double c)
 Largest of three numbers. More...
 
static double min (double a, double b, double c, double d)
 Smallest of four numbers. More...
 
static double max (double a, double b, double c, double d)
 Largest of four numbers. More...
 
static double min (double a, double b, double c, double d, double e)
 Smallest of five numbers. More...
 
static double max (double a, double b, double c, double d, double e)
 Largest of five numbers. More...
 
static double min (double a, double b, double c, double d, double e, double f)
 Smallest of six numbers. More...
 
static double max (double a, double b, double c, double d, double e, double f)
 Largest of six numbers. More...
 
static double min (params double[] numbers)
 Minimal of the specified values. More...
 
static double max (params double[] numbers)
 Maximal of the specified values. More...
 
static double sum (params double[] numbers)
 Sum of the specified values. More...
 
static double prod (params double[] numbers)
 Product of the specified values. More...
 
static double pow (double a, double b)
 Returns a specified number raised to the specified power. More...
 
static double sqr (double a)
 Returns the square of a specified number. More...
 
static double cube (double a)
 Returns the square of a specified number. More...
 
static double pow2 (double x)
 Square. More...
 
static double pow3 (double x)
 3rd power. More...
 
static double pow4 (double x)
 4th power. More...
 
static double pow5 (double x)
 5th power. More...
 
static double pow6 (double x)
 6th power. More...
 
static double sqrt (double a)
 Returns the square root of a specified number. More...
 
static double root2 (double a)
 Returns the square root of a specified number. More...
 
static double root3 (double a)
 Returns the cubic root of a specified number. More...
 
static double rand ()
 Returns a uniformly distributed random number greater than or equal to 0.0, and less or equal than 1.0. More...
 
static double rand (double min, double max)
 Returns a uniformly distributed random number greater than or equal to min, and less or equal than max. More...
 
static double randgauss (double mean, double standardDeviation)
 Returns a Gaussian distributed random number with the specified mean and standard deviation. More...
 
static double exp (double a)
 Returns e raised to the specified power. More...
 
static double log (double a)
 Returns the natural (base e) logarithm of a specified number. More...
 
static double ln (double a)
 Returns the natural (base e) logarithm of a specified number. More...
 
static double log10 (double a)
 Returns the base 10 logarithm of a specified number. More...
 
static double lg (double a)
 Returns the base 10 logarithm of a specified number. More...
 
static double log2 (double a)
 Returns the base 2 logarithm of a specified number. More...
 
static double log (double a, double logBase)
 Returns the logarithm of a specified number in a specified base. More...
 
static double deg (double x)
 Converts angle in radians to angle in degrees and returns it. More...
 
static double rad (double x)
 Converts angle in degrees to angle in radians and returns it. More...
 
static double sin (double a)
 Returns the sine of the specified angle. More...
 
static double cos (double a)
 Returns the cosine of the specified angle. More...
 
static double tg (double a)
 Returns the tangent of the specified angle. More...
 
static double ctg (double x)
 Returns cotangent of the specified angle. More...
 
static double arccos (double a)
 Returns the angle whose cosine is the specified number. More...
 
static double arcsin (double a)
 Returns the angle whose sine is the specified number. More...
 
static double arctg (double a)
 Returns the angle whose tangent is the specified number. More...
 
static double arcctg (double x)
 Arc cotangent, inverse of 1/tan(x). More...
 
static double arctg2 (double a, double b)
 Returns the angle whose tangent is the quotient of two specified numbers. More...
 
static double Sinh (double a)
 Returns the hyperbolic sine of the specified angle. More...
 
static double sinh (double a)
 Returns the hyperbolic sine of the specified angle. More...
 
static double sh (double a)
 Returns the hyperbolic sine of the specified angle. More...
 
static double ch (double a)
 Returns the hyperbolic cosine of the specified angle. More...
 
static double th (double a)
 Returns the hyperbolic tangent of the specified angle. More...
 
static double cth (double x)
 Hyperblic cotangent, 1/Math.Tanh. More...
 
static double arsh (double x)
 Inverse hyperbolic sine. More...
 
static double arch (double x)
 Inverse hyperbolic cosine. More...
 
static double arth (double x)
 Inverse hyperbolic tangent. More...
 
static double arcth (double x)
 Inverse hyperbolic cotangent. More...
 
static bool CheckFactorialsArray ()
 Tests ehether the factoirals in the hard-coded array (factorials64) of factorials are correct; Throws ArgumentException if any of them is incorrect. More...
 
static void TestFactorials ()
 Writes to the console all factorials that can be calculatet. More...
 
static void TestFactorials (int max)
 Writes to the console the first n factorials. More...
 
static long fac (int factor)
 Returns factorial of the specified number. More...
 
static long facCalculated (long n)
 Returns factorial of the specified number - less efficient approac, but does not rely on hard coded array. More...
 
static long fallingPower (long n, long p)
 Calculates and returns the falling power of the specified number. More...
 
static long binomial (long n, long k)
 Returns binomial coefficient n over k . More...
 
static void TestBinomialCoefficients ()
 Writes the first few binomial coefficients to the console. More...
 
static void TestBinomialCoefficients (int nMax)
 Writes binomial coefficients up to the specified number to the console. More...
 
static double Mean (ICollection< double > sample)
 Returns mean value of the specified sample. More...
 
static double Mean (IVector sample)
 Returns mean value of the specified sample. More...
 
static double Average (ICollection< double > sample)
 Returns mean value of the specified sample. More...
 
static double Average (IVector sample)
 Returns mean value of the specified sample. More...
 
static double StandardDeviation (ICollection< double > sample)
 Returns estimation of the standard deviation of a random value based on the specified sample. More...
 
static double StandardDeviation (IVector sample)
 Returns estimation of the standard deviation of a random value based on the specified sample. More...
 

Properties

static double e [get]
 Natural logarithmic base. More...
 
static double pi [get]
 Ratio of the circumference of a circle to its diameter. More...
 
static double zero [get]
 Zero (value 0.0). More...
 
static double one [get]
 One (value 1.0). More...
 

Static Private Attributes

static Int64[] factorials64
 Array of all factorials that do not produce overflow. More...
 
static bool factorialsArrayChecked = false
 Whether or not factorials array has been tested. More...
 

Detailed Description

Defines some mathematical functions to be used in derived and other classes.

* Standard mathematical functions and constants with short names are implemented, e.g. sin() instesd of Math.Sin().

** These functions are public and static such that they can be used out of the derived classes, too.

*** In particular, some script classes derive from this one, in order to use simple-named mathematical functions.

** Some functions are defined with several names, in order to reduce probability of errors in scripts.

Member Function Documentation

static void IG.Num.M.Swap ( ref double  a,
ref double  b 
)
inlinestatic

Swaps values of the two specified variables of type double.

Parameters
aFirst variable.
bSecond variable.

References IG.Num.s.

Referenced by IG.Num.InputOutputElementDefinition.GetDistortedBounds().

static void IG.Num.M.Swap ( ref int  a,
ref int  b 
)
inlinestatic

Swaps values of the two specified variables of type int.

Parameters
aFirst variable.
bSecond variable.

References IG.Num.s.

static void IG.Num.M.Swap ( ref string  a,
ref string  b 
)
inlinestatic

Swaps values of the two specified variables of type string.

Parameters
aFirst variable.
bSecond variable.

References IG.Num.s.

static double IG.Num.M.abs ( double  a)
inlinestatic

Absolute value.

static double IG.Num.M.sign ( double  a)
inlinestatic

Returns a value indicating the sign of a number.

static double IG.Num.M.ceil ( double  a)
inlinestatic

Returns the smallest integral value that is greater than or equal to the specified decimal number.

static double IG.Num.M.floor ( double  a)
inlinestatic

Returns the largest integer less than or equal to the specified number.

Referenced by IG.Forms.TimerControl.UpdateCdDisplay(), IG.Forms.TimerControl.UpdateCdInitialTime(), and IG.Forms.TimerControl.UpdateSwDisplay().

static double IG.Num.M.trunc ( double  a)
inlinestatic

Calculates the integral part of a specified number.

static double IG.Num.M.min ( double  a,
double  b 
)
inlinestatic

Smallest of two numbers.

static double IG.Num.M.max ( double  a,
double  b 
)
inlinestatic

Largest of two numbers.

static double IG.Num.M.min ( double  a,
double  b,
double  c 
)
inlinestatic

Smallest of three numbers.

static double IG.Num.M.max ( double  a,
double  b,
double  c 
)
inlinestatic

Largest of three numbers.

static double IG.Num.M.min ( double  a,
double  b,
double  c,
double  d 
)
inlinestatic

Smallest of four numbers.

static double IG.Num.M.max ( double  a,
double  b,
double  c,
double  d 
)
inlinestatic

Largest of four numbers.

static double IG.Num.M.min ( double  a,
double  b,
double  c,
double  d,
double  e 
)
inlinestatic

Smallest of five numbers.

static double IG.Num.M.max ( double  a,
double  b,
double  c,
double  d,
double  e 
)
inlinestatic

Largest of five numbers.

static double IG.Num.M.min ( double  a,
double  b,
double  c,
double  d,
double  e,
double  f 
)
inlinestatic

Smallest of six numbers.

static double IG.Num.M.max ( double  a,
double  b,
double  c,
double  d,
double  e,
double  f 
)
inlinestatic

Largest of six numbers.

static double IG.Num.M.min ( params double[]  numbers)
inlinestatic

Minimal of the specified values.

static double IG.Num.M.max ( params double[]  numbers)
inlinestatic

Maximal of the specified values.

static double IG.Num.M.sum ( params double[]  numbers)
inlinestatic

Sum of the specified values.

static double IG.Num.M.prod ( params double[]  numbers)
inlinestatic

Product of the specified values.

static double IG.Num.M.pow ( double  a,
double  b 
)
inlinestatic

Returns a specified number raised to the specified power.

static double IG.Num.M.sqr ( double  a)
inlinestatic

Returns the square of a specified number.

static double IG.Num.M.cube ( double  a)
inlinestatic

Returns the square of a specified number.

static double IG.Num.M.pow2 ( double  x)
inlinestatic

Square.

static double IG.Num.M.pow3 ( double  x)
inlinestatic

3rd power.

static double IG.Num.M.pow4 ( double  x)
inlinestatic

4th power.

static double IG.Num.M.pow5 ( double  x)
inlinestatic

5th power.

static double IG.Num.M.pow6 ( double  x)
inlinestatic

6th power.

static double IG.Num.M.sqrt ( double  a)
inlinestatic

Returns the square root of a specified number.

static double IG.Num.M.root2 ( double  a)
inlinestatic

Returns the square root of a specified number.

static double IG.Num.M.root3 ( double  a)
inlinestatic

Returns the cubic root of a specified number.

static double IG.Num.M.rand ( )
inlinestatic

Returns a uniformly distributed random number greater than or equal to 0.0, and less or equal than 1.0.

References IG.Num.RandomGenerator.Global, and IG.Num.IRandomGenerator.NextDoubleInclusive().

static double IG.Num.M.rand ( double  min,
double  max 
)
inlinestatic

Returns a uniformly distributed random number greater than or equal to min, and less or equal than max.

References IG.Num.RandomGenerator.Global, and IG.Num.IRandomGenerator.NextDoubleInclusive().

static double IG.Num.M.randgauss ( double  mean,
double  standardDeviation 
)
inlinestatic

Returns a Gaussian distributed random number with the specified mean and standard deviation.

Parameters
meanMean value of the distribution.
standardDeviationStandard deviation of the distribution.

References IG.Num.RandomGaussian.Global, and IG.Num.RandomGaussian.NextGaussian().

static double IG.Num.M.exp ( double  a)
inlinestatic

Returns e raised to the specified power.

static double IG.Num.M.log ( double  a)
inlinestatic

Returns the natural (base e) logarithm of a specified number.

static double IG.Num.M.ln ( double  a)
inlinestatic

Returns the natural (base e) logarithm of a specified number.

static double IG.Num.M.log10 ( double  a)
inlinestatic

Returns the base 10 logarithm of a specified number.

static double IG.Num.M.lg ( double  a)
inlinestatic

Returns the base 10 logarithm of a specified number.

static double IG.Num.M.log2 ( double  a)
inlinestatic

Returns the base 2 logarithm of a specified number.

static double IG.Num.M.log ( double  a,
double  logBase 
)
inlinestatic

Returns the logarithm of a specified number in a specified base.

Parameters
aNumber whose logarithm is returned.
logBaseBase of the logarithm.
static double IG.Num.M.deg ( double  x)
inlinestatic

Converts angle in radians to angle in degrees and returns it.

static double IG.Num.M.rad ( double  x)
inlinestatic

Converts angle in degrees to angle in radians and returns it.

static double IG.Num.M.sin ( double  a)
inlinestatic

Returns the sine of the specified angle.

static double IG.Num.M.cos ( double  a)
inlinestatic

Returns the cosine of the specified angle.

static double IG.Num.M.tg ( double  a)
inlinestatic

Returns the tangent of the specified angle.

static double IG.Num.M.ctg ( double  x)
inlinestatic

Returns cotangent of the specified angle.

static double IG.Num.M.arccos ( double  a)
inlinestatic

Returns the angle whose cosine is the specified number.

static double IG.Num.M.arcsin ( double  a)
inlinestatic

Returns the angle whose sine is the specified number.

static double IG.Num.M.arctg ( double  a)
inlinestatic

Returns the angle whose tangent is the specified number.

static double IG.Num.M.arcctg ( double  x)
inlinestatic

Arc cotangent, inverse of 1/tan(x).

static double IG.Num.M.arctg2 ( double  a,
double  b 
)
inlinestatic

Returns the angle whose tangent is the quotient of two specified numbers.

static double IG.Num.M.Sinh ( double  a)
inlinestatic

Returns the hyperbolic sine of the specified angle.

static double IG.Num.M.sinh ( double  a)
inlinestatic

Returns the hyperbolic sine of the specified angle.

static double IG.Num.M.sh ( double  a)
inlinestatic

Returns the hyperbolic sine of the specified angle.

static double IG.Num.M.ch ( double  a)
inlinestatic

Returns the hyperbolic cosine of the specified angle.

static double IG.Num.M.th ( double  a)
inlinestatic

Returns the hyperbolic tangent of the specified angle.

static double IG.Num.M.cth ( double  x)
inlinestatic

Hyperblic cotangent, 1/Math.Tanh.

static double IG.Num.M.arsh ( double  x)
inlinestatic

Inverse hyperbolic sine.

Referenced by IG.Num.Func.Cubic.Zeros().

static double IG.Num.M.arch ( double  x)
inlinestatic

Inverse hyperbolic cosine.

Referenced by IG.Num.Func.Cubic.Zeros().

static double IG.Num.M.arth ( double  x)
inlinestatic

Inverse hyperbolic tangent.

static double IG.Num.M.arcth ( double  x)
inlinestatic

Inverse hyperbolic cotangent.

static bool IG.Num.M.CheckFactorialsArray ( )
inlinestatic

Tests ehether the factoirals in the hard-coded array (factorials64) of factorials are correct; Throws ArgumentException if any of them is incorrect.

Returns
true if test is successful.
static void IG.Num.M.TestFactorials ( )
inlinestatic

Writes to the console all factorials that can be calculatet.

static void IG.Num.M.TestFactorials ( int  max)
inlinestatic

Writes to the console the first n factorials.

Parameters
maxLargest number whose factorial will be calculated.
static long IG.Num.M.fac ( int  factor)
inlinestatic

Returns factorial of the specified number.

static long IG.Num.M.facCalculated ( long  n)
inlinestatic

Returns factorial of the specified number - less efficient approac, but does not rely on hard coded array.

static long IG.Num.M.fallingPower ( long  n,
long  p 
)
inlinestatic

Calculates and returns the falling power of the specified number.

Parameters
n
p

See http://en.wikipedia.org/wiki/Falling_power

static long IG.Num.M.binomial ( long  n,
long  k 
)
inlinestatic

Returns binomial coefficient n over k .

Parameters
n
k
static void IG.Num.M.TestBinomialCoefficients ( )
inlinestatic

Writes the first few binomial coefficients to the console.

static void IG.Num.M.TestBinomialCoefficients ( int  nMax)
inlinestatic

Writes binomial coefficients up to the specified number to the console.

Parameters
nMaxMaximal enumerator until which coefficients are written.
static double IG.Num.M.Mean ( ICollection< double >  sample)
inlinestatic

Returns mean value of the specified sample.

Parameters
sampleCollection containing observations within the sample.
static double IG.Num.M.Mean ( IVector  sample)
inlinestatic

Returns mean value of the specified sample.

Parameters
sampleVector containing observations within the sample.
static double IG.Num.M.Average ( ICollection< double >  sample)
inlinestatic

Returns mean value of the specified sample.

Parameters
sampleCollection containing observations within the sample.
static double IG.Num.M.Average ( IVector  sample)
inlinestatic

Returns mean value of the specified sample.

Parameters
sampleVector containing observations contained in the sample.
static double IG.Num.M.StandardDeviation ( ICollection< double >  sample)
inlinestatic

Returns estimation of the standard deviation of a random value based on the specified sample.

Parameters
sampleCollection containing all observations of the sample.
static double IG.Num.M.StandardDeviation ( IVector  sample)
inlinestatic

Returns estimation of the standard deviation of a random value based on the specified sample.

Parameters
sampleVector containing all observations of the sample.

Member Data Documentation

Int64 [] IG.Num.M.factorials64
staticprivate
Initial value:
= { 1, 1, 2, 6, 24, 120, 720, 5040, 40320,
362880, 3628800, 39916800, 479001600, 6227020800, 87178291200,
1307674368000, 20922789888000, 355687428096000, 6402373705728000,
121645100408832000, 2432902008176640000 }

Array of all factorials that do not produce overflow.

bool IG.Num.M.factorialsArrayChecked = false
staticprivate

Whether or not factorials array has been tested.

Property Documentation

double IG.Num.M.e
staticget

Natural logarithmic base.

double IG.Num.M.pi
staticget

Ratio of the circumference of a circle to its diameter.

double IG.Num.M.zero
staticget

Zero (value 0.0).

double IG.Num.M.one
staticget

One (value 1.0).


The documentation for this class was generated from the following file: