| IGLib 1.6.0 The IGLib base library for development of numerical, technical and business applications.

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
Static Public Member Functions | Properties | Static Private Attributes | List of all members
IG.Num.M Class Reference

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

Inheritance diagram for IG.Num.M:
[legend]

## 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
| ) |  |
| inline static

Swaps values of the two specified variables of type double.

Parameters

  a | First variable.
  b | Second variable.

References IG.Num.s.

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

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

Swaps values of the two specified variables of type int.

Parameters

  a | First variable.
  b | Second variable.

References IG.Num.s.

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

Swaps values of the two specified variables of type string.

Parameters

  a | First variable.
  b | Second variable.

References IG.Num.s.

static double IG.Num.M.abs | ( | double | a | ) |
| inline static

Absolute value.

static double IG.Num.M.sign | ( | double | a | ) |
| inline static

Returns a value indicating the sign of a number.

static double IG.Num.M.ceil | ( | double | a | ) |
| inline static

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

static double IG.Num.M.floor | ( | double | a | ) |
| inline static

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

static double IG.Num.M.trunc | ( | double | a | ) |
| inline static

Calculates the integral part of a specified number.

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

Smallest of two numbers.

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

Largest of two numbers.

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

Smallest of three numbers.

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

Largest of three numbers.

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

Smallest of four numbers.

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

Largest of four numbers.

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

Smallest of five numbers.

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

Largest of five numbers.

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

Smallest of six numbers.

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

Largest of six numbers.

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

Minimal of the specified values.

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

Maximal of the specified values.

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

Sum of the specified values.

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

Product of the specified values.

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

Returns a specified number raised to the specified power.

static double IG.Num.M.sqr | ( | double | a | ) |
| inline static

Returns the square of a specified number.

static double IG.Num.M.cube | ( | double | a | ) |
| inline static

Returns the square of a specified number.

static double IG.Num.M.pow2 | ( | double | x | ) |
| inline static

Square.

static double IG.Num.M.pow3 | ( | double | x | ) |
| inline static

3rd power.

static double IG.Num.M.pow4 | ( | double | x | ) |
| inline static

4th power.

static double IG.Num.M.pow5 | ( | double | x | ) |
| inline static

5th power.

static double IG.Num.M.pow6 | ( | double | x | ) |
| inline static

6th power.

static double IG.Num.M.sqrt | ( | double | a | ) |
| inline static

Returns the square root of a specified number.

static double IG.Num.M.root2 | ( | double | a | ) |
| inline static

Returns the square root of a specified number.

static double IG.Num.M.root3 | ( | double | a | ) |
| inline static

Returns the cubic root of a specified number.

static double IG.Num.M.rand | ( |  | ) |
| inline static

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
| ) |  |
| inline static

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
| ) |  |
| inline static

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

Parameters

  mean | Mean value of the distribution.
  standardDeviation | Standard deviation of the distribution.

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

static double IG.Num.M.exp | ( | double | a | ) |
| inline static

Returns e raised to the specified power.

static double IG.Num.M.log | ( | double | a | ) |
| inline static

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

static double IG.Num.M.ln | ( | double | a | ) |
| inline static

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

static double IG.Num.M.log10 | ( | double | a | ) |
| inline static

Returns the base 10 logarithm of a specified number.

static double IG.Num.M.lg | ( | double | a | ) |
| inline static

Returns the base 10 logarithm of a specified number.

static double IG.Num.M.log2 | ( | double | a | ) |
| inline static

Returns the base 2 logarithm of a specified number.

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

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

Parameters

  a | Number whose logarithm is returned.
  logBase | Base of the logarithm.

static double IG.Num.M.deg | ( | double | x | ) |
| inline static

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

static double IG.Num.M.rad | ( | double | x | ) |
| inline static

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

static double IG.Num.M.sin | ( | double | a | ) |
| inline static

Returns the sine of the specified angle.

static double IG.Num.M.cos | ( | double | a | ) |
| inline static

Returns the cosine of the specified angle.

static double IG.Num.M.tg | ( | double | a | ) |
| inline static

Returns the tangent of the specified angle.

static double IG.Num.M.ctg | ( | double | x | ) |
| inline static

Returns cotangent of the specified angle.

static double IG.Num.M.arccos | ( | double | a | ) |
| inline static

Returns the angle whose cosine is the specified number.

static double IG.Num.M.arcsin | ( | double | a | ) |
| inline static

Returns the angle whose sine is the specified number.

static double IG.Num.M.arctg | ( | double | a | ) |
| inline static

Returns the angle whose tangent is the specified number.

static double IG.Num.M.arcctg | ( | double | x | ) |
| inline static

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

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

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

static double IG.Num.M.Sinh | ( | double | a | ) |
| inline static

Returns the hyperbolic sine of the specified angle.

static double IG.Num.M.sinh | ( | double | a | ) |
| inline static

Returns the hyperbolic sine of the specified angle.

static double IG.Num.M.sh | ( | double | a | ) |
| inline static

Returns the hyperbolic sine of the specified angle.

static double IG.Num.M.ch | ( | double | a | ) |
| inline static

Returns the hyperbolic cosine of the specified angle.

static double IG.Num.M.th | ( | double | a | ) |
| inline static

Returns the hyperbolic tangent of the specified angle.

static double IG.Num.M.cth | ( | double | x | ) |
| inline static

Hyperblic cotangent, 1/Math.Tanh.

static double IG.Num.M.arsh | ( | double | x | ) |
| inline static

Inverse hyperbolic sine.

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

static double IG.Num.M.arch | ( | double | x | ) |
| inline static

Inverse hyperbolic cosine.

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

static double IG.Num.M.arth | ( | double | x | ) |
| inline static

Inverse hyperbolic tangent.

static double IG.Num.M.arcth | ( | double | x | ) |
| inline static

Inverse hyperbolic cotangent.

static bool IG.Num.M.CheckFactorialsArray | ( |  | ) |
| inline static

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 | ( |  | ) |
| inline static

Writes to the console all factorials that can be calculatet.

Parameters

  max | Largest number whose factorial will be calculated.

static void IG.Num.M.TestFactorials | ( | int | max | ) |
| inline static

Writes to the console the first n factorials.

Parameters

  max | Largest number whose factorial will be calculated.

static long IG.Num.M.fac | ( | int | factor | ) |
| inline static

Returns factorial of the specified number.

static long IG.Num.M.facCalculated | ( | long | n | ) |
| inline static

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
| ) |  |
| inline static

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
| ) |  |
| inline static

Returns binomial coefficient n over k .

Parameters

  n |
  k |

static void IG.Num.M.TestBinomialCoefficients | ( |  | ) |
| inline static

Writes the first few binomial coefficients to the console.

static void IG.Num.M.TestBinomialCoefficients | ( | int | nMax | ) |
| inline static

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

Parameters

  n | Maximal enumerator until which coefficients are written.

static double IG.Num.M.Mean | ( | ICollection< double > | sample | ) |
| inline static

Returns mean value of the specified sample.

Parameters

  sample | Collection containing observations within the sample.

static double IG.Num.M.Mean | ( | IVector | sample | ) |
| inline static

Returns mean value of the specified sample.

Parameters

  sample | Vector containing observations within the sample.

static double IG.Num.M.Average | ( | ICollection< double > | sample | ) |
| inline static

Returns mean value of the specified sample.

Parameters

  sample | Collection containing observations within the sample.

static double IG.Num.M.Average | ( | IVector | sample | ) |
| inline static

Returns mean value of the specified sample.

Parameters

  sample | Vector containing observations contained in the sample.

static double IG.Num.M.StandardDeviation | ( | ICollection< double > | sample | ) |
| inline static

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

Parameters

  sample | Collection containing all observations of the sample.

static double IG.Num.M.StandardDeviation | ( | IVector | sample | ) |
| inline static

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

Parameters

  sample | Vector containing all observations of the sample.

## Member Data Documentation

Int64 [] IG.Num.M.factorials64
| static private

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
| static private

Whether or not factorials array has been tested.

## Property Documentation

double IG.Num.M.e
| static get

Natural logarithmic base.

double IG.Num.M.pi
| static get

Ratio of the circumference of a circle to its diameter.

double IG.Num.M.zero
| static get

Zero (value 0.0).

double IG.Num.M.one
| static get

One (value 1.0).

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

- igbase/utilities/UtilMath.cs