# Maths class

Namespace: [Grasshopper2](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public static class Maths
```

Mathematical trig functions.

## Fields

- [Cross](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/cross.md): (static) Gets the 'multiplication sign' x-like character oftentimes used in mathematical notation to denote multiplication.
- [DegToRad](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/degtorad.md): (static) Conversion factor from Degrees to Radians.
- [DegToTurn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/degtoturn.md): (static) Conversion factor from Degrees to Turns.
- [Dot](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/dot.md): (static) Gets the 'middle dot' character oftentimes used in mathematical notation to denote multiplication.
- [DoublePrecisionMaximumIntegerAccuracy](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/doubleprecisionmaximumintegeraccuracy.md): (static) The last value at which the double precision floating point epsilon assumes a value of 1.0. That is, the distance between this float and the first bigger one is > 1.0
- [DoublePrecisionMinimumIntegerAccuracy](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/doubleprecisionminimumintegeraccuracy.md): (static) The first value at which the double precision floating point epsilon assumes a value of 1.0. That is, the distance between this float and first bigger one is exactly 1.0
- [HalfPi](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/halfpi.md): (static) Pi over two.
- [HalfPiInverse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/halfpiinverse.md): (static) The reciprocal of pi over two.
- [Huge](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/huge.md): (static) Numbers larger than this are considered huge and will almost certainly result in problems when used in calculations or display.
- [Large](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/large.md): (static) Numbers larger than this but smaller than [Maths.Huge](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/huge.md) are considered large. Although not necessarily a problem, users may be warned about them as they indicate a potential problem.
- [MaximumSafeArrayLength](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/maximumsafearraylength.md): (static) Defines the maximum size of an array that Grasshopper is happy to create. This is hard-coded to 1-billion, or roughly half the maximum 32-bit integer maximum value. This constant was chosen to be high enough for any sensible computation, yet small enough so that two maximum sized arrays can still be indexed as a single big one.
- [OneMinusSmallSquared](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/oneminussmallsquared.md): (static) The squared cosine of a small angle, using the small angle approximation. This number is useful for comparing angles to a small angle when the angle is given by its cosine, for example as some scalar product. For example, to test whether a non-zero vector n has smaller angle to the z axis than Small radians, one can test for n.Z * n.Z >= OneMinusSmallSquared * n.SquareLength. This is efficient because it does not require a square root or trigonometric function.
- [OnePi](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/onepi.md): (static) Pi.
- [OnePiInverse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/onepiinverse.md): (static) The reciprocal of pi.
- [OneThird](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/onethird.md): (static) One over three.
- [Phi](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/phi.md): (static) Golden ratio.
- [QuarterPi](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/quarterpi.md): (static) Pi over four.
- [QuarterPiInverse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/quarterpiinverse.md): (static) The reciprocal of pi over four.
- [RadToDeg](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/radtodeg.md): (static) Conversion factor from Radians to Degrees.
- [RadToTurn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/radtoturn.md): (static) Conversion factor from Radians to Turns.
- [Root2](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/root2.md): (static) Square root of two.
- [Root2Inverse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/root2inverse.md): (static) The reciprocal of square root two.
- [Root3](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/root3.md): (static) Square root of three.
- [Root3Inverse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/root3inverse.md): (static) The reciprocal of square root three.
- [Root5](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/root5.md): (static) Square root of five.
- [Root5Inverse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/root5inverse.md): (static) The reciprocal of square root five.
- [RootOfDoubleMaxValue](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/rootofdoublemaxvalue.md): (static) Represents the (approximate)square root of double.MaxValue
- [RootOfSingleMaxValue](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/rootofsinglemaxvalue.md): (static) Represents the (approximate)square root of float.MaxValue
- [RootOnePi](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/rootonepi.md): (static) The square root of pi.
- [RootTwoPi](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/roottwopi.md): (static) The square root of two times pi.
- [Small](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/small.md): (static) Numbers smaller than this but larger than [Maths.Tiny](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/tiny.md) are considered small. Although not necessarily a problem, users may be warned about them as they indicate a potential problem.
- [ThirdPi](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/thirdpi.md): (static) Pi over three.
- [ThirdPiInverse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/thirdpiinverse.md): (static) The reciprocal of pi over three.
- [Tiny](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/tiny.md): (static) Numbers smaller than this are considered tiny and are either assumed to be a rounding error away from zero, or a faulty value.
- [TurnToDeg](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/turntodeg.md): (static) Conversion factor from Turns to Degrees.
- [TurnToRad](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/turntorad.md): (static) Conversion factor from Turns to Radians.
- [TwoPi](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/twopi.md): (static) Two times pi.
- [TwoPiInverse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/twopiinverse.md): (static) The reciprocal of two pi.
- [TwoThirds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/twothirds.md): (static) Two over three.

## Properties

- [AllPrimes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/allprimes.md): (static) Enumerate over all cached primes.
- [HighestPrime](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/highestprime.md): (static) Gets the highest cached prime, obviously not the highest *actual* prime, I'm keeping that one a secret.
- [PrimeCount](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/primecount.md): (static) Gets the number of primes that can be accessed.

## Methods

- [Acos](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/acos.md): (2 overloads, static) Compute the arc cosine of a complex value.
- [Acosh](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/acosh.md): (2 overloads, static) Compute the hyperbolic arc cosine of a complex value.
- [Acot](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/acot.md): (2 overloads, static) Compute the arc cotangent of a complex value.
- [Acoth](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/acoth.md): (2 overloads, static) Compute the hyperbolic arc cotangent of a complex value.
- [Acsc](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/acsc.md): (2 overloads, static) Compute the arc secant of a complex value.
- [Acsch](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/acsch.md): (2 overloads, static) Compute the hyperbolic arc cosecant of a complex value.
- [AGM](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/agm.md): (static) Compute the Arithmetic-Geometric mean of two numbers.
- [Airy](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/airy.md): (2 overloads, static) Compute the appropriate Airy function for the given argument.
- [AM](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/am.md): (4 overloads, static) Compute the Arithmetic mean of two numbers.
- [ApproximateMaassWaveform](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/approximatemaasswaveform.md): (static)
- [AreAllInfinite](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/areallinfinite.md): (static) Test whether all values are infinite values.
- [AreAllNaN](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/areallnan.md): (static) Test whether all values are NaN values.
- [ArithmeticDerivative](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/arithmeticderivative.md): (static) Compute the arithmetic derivative of a fraction.
- [Asec](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/asec.md): (2 overloads, static) Compute the arc secant of a complex value.
- [Asech](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/asech.md): (2 overloads, static) Compute the hyperbolic arc secant of a complex value.
- [Asin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/asin.md): (2 overloads, static) Compute the arc sine of a complex value.
- [Asinh](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/asinh.md): (2 overloads, static) Compute the hyperbolic arc sine of a complex value.
- [Atan](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/atan.md): (2 overloads, static) Compute the arc tangent of a complex value.
- [Atanh](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/atanh.md): (2 overloads, static) Compute the hyperbolic arc tangent of a complex value.
- [Bessel](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/bessel.md): (static) Compute the appropriate Bessel function for the given argument.
- [BesselFirstKindIntegral](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/besselfirstkindintegral.md): (static) An approximate implementation of a Bessel function of the first kind using the Bessel integral between zero and pi. This method does not suffer from numeric instability but it is an approximate solver.
- [BesselSecondKindIntegral](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/besselsecondkindintegral.md): (static) An approximate implementation of a Bessel function of the second kind using the Bessel integral between zero and pi. This method does not suffer from numeric instability but it is an approximate solver.
- [Beta](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/beta.md): (static) Computes the Euler Beta function.
- [BetaLn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/betaln.md): (static) Computes the natural logarithm of the Euler Beta function.
- [Bifurcation](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/bifurcation.md): (static) Evaluate the standard Feigenbaum bifurcation diagram using the logistic map. Due to the strong iterative nature of this computation, the values inside the process are always rounded to 6 decimal places.
- [Binomial](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/binomial.md): (3 overloads, static) Compute the binomial coefficient using partial factorials (n choose k).
- [BinomialCoefficient](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/binomialcoefficient.md): (2 overloads, static) Compute the binomial coefficient of two integers.
- [BinomialLn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/binomialln.md): (static) Compute the natural logarithm of binomial coefficient (n choose k).
- [Cbrt](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/cbrt.md): (4 overloads, static) Cube root.
- [Ceiling](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/ceiling.md): (6 overloads, static) Default Grasshopper ceiling method.
- [CieDeltaE2000](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/ciedeltae2000.md): (static) Colour difference according to the CIE ΔE₀₀ standard. This is a re-implementation of the gfiumara/CIEDE2000 C++ source at: https://github.com/gfiumara/CIEDE2000 Which in turn is based on the paper: http://www2.ece.rochester.edu/~gsharma/ciede2000/ciede2000noteCRNA.pdf
- [Clip](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/clip.md): (25 overloads, static) Clip a value to two limits.
- [ComputeOutlierMetrics](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/computeoutliermetrics.md): (static) Compute local outlier metrics for each value in a data set.
- [Correlation](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/correlation.md): (static) Compute the Pearson product-moment correlation coefficient.
- [Cos](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/cos.md): (2 overloads, static) Compute the cosine of a complex value.
- [Cosh](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/cosh.md): (2 overloads, static) Compute the hyperbolic cosine of a complex value.
- [CosineRule](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/cosinerule.md): (static) Apply the Law of Cosines to a triangle.
- [Cot](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/cot.md): (2 overloads, static) Compute the cotangent of a complex value.
- [Coth](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/coth.md): (2 overloads, static) Compute the hyperbolic cotangent of a complex value.
- [Count<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/count.md): (static) Count how many items pass the test.
- [CrossRatio](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/crossratio.md): (2 overloads, static) Compute the cross ratio of four numbers.
- [Csc](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/csc.md): (2 overloads, static) Compute the cosecant of a complex value.
- [Csch](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/csch.md): (2 overloads, static) Compute the hyperbolic cosecant of a complex value.
- [CubicRoots](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/cubicroots.md): (static) Solve the roots of a cubic polynomial in the form ax³+bx²+cx+d.
- [CumulativeDensity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/cumulativedensity.md): (static) Compute the cumulative density, or Gaussian integral of a value x.
- [DescribeNumber](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/describenumber.md): (static) Describe the magnitude of a numeric value.
- [DetectOutliersGrubbs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/detectoutliersgrubbs.md): (static) Find outliers using the Grubbs-test.
- [DetectOutliersModifiedZScore](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/detectoutliersmodifiedzscore.md): (static) Find outliers using the modified Z-score test.
- [DetectOutliersPercentile](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/detectoutlierspercentile.md): (static) Find percentile based outliers.
- [DetectOutliersTrim](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/detectoutlierstrim.md): (static) Find outliers by trimming a fixed number of items from both ends of the sorted collection.
- [DetectOutliersTukey](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/detectoutlierstukey.md): (static) Find outliers using the Tukey-test.
- [DetectOutliersZScore](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/detectoutlierszscore.md): (static) Find outliers using the Z-score test.
- [DiGamma](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/digamma.md): (static) Computes the DiGamma function for a real number. This is the defined as the derivative of the logarithm of the Gamma function.
- [DiGammaInverse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/digammainverse.md): (static) Computes the inverse DiGamma function for a real number.
- [DigitalRoot](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/digitalroot.md): (3 overloads, static) Compute the digital root of a number. Negative numbers will retain negative roots. The digital root is the sum of all the digits in the number until only one digit remains.
- [Distance](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/distance.md): (5 overloads, static) Measure the distance between two colours using a specific metric.
- [DistanceToQuadrance](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/distancetoquadrance.md): (2 overloads, static) Convert a distance into a quadrance.
- [DoubleIf<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/doubleif.md): (2 overloads, static) Perform a nested double conditional with lazy evaluation.
- [EdgeAverage](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/edgeaverage.md): (2 overloads, static) Compute the average of the edges connecting a set of points.
- [Erf](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/erf.md): (static) Solves the Error function for a given argument. The Error function is a sigmoid like curve from (-infinity, 0) to (+infinity, 1).
- [EstimateDecimals](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/estimatedecimals.md): (static) Given a valid numeric expression, estimates the number of decimals. This is just the number of digits following the first decimal separator.
- [ExtractSubmergedByFlipping](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/extractsubmergedbyflipping.md): (static) Given a mesh, a water-level and the list of faces touching that lake, returns the part of the mesh *below* waterLevel by:flipping Z; calling SplitMeshAtWaterLevels in single-lake mode; flipping Z back
- [Factorial](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/factorial.md): (7 overloads, static) Compute the factorial of a positive integer.
- [FactorialInverse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/factorialinverse.md): (2 overloads, static) Compute the one-over-factorial of a positive integer.
- [FactorialLn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/factorialln.md): (static) Compute the natural logarithm of the factorial of an integer.
- [FindCubicRoots](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/findcubicroots.md): (static) Find the real roots of the cubic equation ax^3 + bx^2 + cx + d = 0. The solutions are typically accurate to within roughly 1e-15, though they are included as real solutions if they yield zeros within 1e-12. You may want to perform additional checking to see whether you are happy using all roots.
- [FindFactors](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/findfactors.md): (static) Find all the factors pairs for this integer. Pairs with 1xN are not included. If the integer is negative, the first factor is always negative while the second factor is always positive.
- [FindLinearRoot](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/findlinearroot.md): (static) Find the real root of the linear equation ax + b = 0.
- [FindMinimum](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/findminimum.md): (static) Use the Brent minimizer provided by the Math.NET package to find where a function is lowest.
- [FindMonotoneY](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/findmonotoney.md): (static) Find the parameter in a monotone increasing function which yields the given target.
- [FindQuadraticRoots](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/findquadraticroots.md): (static) Find the real roots of the quadradic equation ax^2 + bx + c = 0.
- [FindRoot](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/findroot.md): (3 overloads, static) Use the Brent root finder provided by the Math.NET package to find where a function equal zero or best approximates zero.
- [FindRootLoose](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/findrootloose.md): (static) Use the Brent root finder provided by the Math.NET package to find where a function equal zero or best approximates zero.
- [Floor](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/floor.md): (6 overloads, static) Default Grasshopper floor method.
- [Gamma](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/gamma.md): (2 overloads, static) Computes the gamma function for a complex argument.
- [GammaLn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/gammaln.md): (static) Computes the natural logarithm of the Gamma function for a real number.
- [GM](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/gm.md): (2 overloads, static) Compute the Geometric mean of two numbers.
- [GreatestCommonDivisor](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/greatestcommondivisor.md): (4 overloads, static) Compute the greates common divisor shared between two positive integers a and b. The GCD (x) of two numbers is the biggest integer for which it is possible to write a=x*i and b=x*j.
- [Hankel1](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/hankel1.md): (static) Evaluate the Hankel function of the first kind.
- [Hankel2](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/hankel2.md): (static) Evaluate the Hankel function of the second kind.
- [Harmonic](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/harmonic.md): (static) Compute the Nth harmonic number. This is the sum of the reciprocals of the first N natural numbers.
- [HarmonicGeneral](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/harmonicgeneral.md): (static) Compute the Nth generalised harmonic number. This is the sum of the reciprocals of the first N natural numbers, all raised to the given exponent.
- [Hash](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/hash.md): (4 overloads, static) Compute the hash value of the byte array.
- [HM](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/hm.md): (2 overloads, static) Compute the Harmonic mean of two numbers.
- [InfinitySign](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/infinitysign.md): (static) Sign implemented for infinities.
- [IntegralAndFractional](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/integralandfractional.md): (static) Gets the normalised integral and fractional portions of a number.
- [IntegralAndFractionalNormal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/integralandfractionalnormal.md): (static) Gets the normalised integral and fractional portions of a number within the repeated unit interval.
- [IntegrateExponentialTransform](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/integrateexponentialtransform.md): (static) Approximate an integral using the double exponential transformation. This integrator is suitable for smooth functions with poles and discontinuous in the derivative.
- [IntegrateGaussLegendre](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/integrategausslegendre.md): (static) Approximate an integral using the Gauss-Legendre rule. This integrator is suitable for polynomials with known degree.
- [IntegrateNewtonCotes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/integratenewtoncotes.md): (static) Approximate an integral using the Newton-Cotes trapezoidal rule. This integrator often yields poor results, consider using [Maths.IntegrateExponentialTransform(Func<double, double>, double, double, double)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/integrateexponentialtransform.md) instead.
- [IntegrateSimpson](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/integratesimpson.md): (static) Approximate an integral using Simpson's rule.
- [IntervalFraction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/intervalfraction.md): (static) Compute the fraction of the interval length defined by a value.
- [IsAnyInfinite](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/isanyinfinite.md): (static) Test whether any value is infinite.
- [IsAnyNaN](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/isanynan.md): (static) Test whether any value is NaN.
- [IsPrime](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/isprime.md): (static) Test whether a given integer is a known prime. If the number is less than HighestCachedPrime then this lookup is O(1), otherwise it'll be slow.
- [IsSquare](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/issquare.md): (2 overloads, static) Gets whether an integer is a perfect square.
- [Kurtosis](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/kurtosis.md): (static) Estimates the unbiased kurtosis of a population.
- [LeastCommonMultiple](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/leastcommonmultiple.md): (4 overloads, static) Compute the least common multiple of two numbers. The lcm is the smallest positive number that is a multiple of both a and b.
- [LinearCrossing](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/linearcrossing.md): (static) Linearly extrapolate or interpolate two coordinates to intersect a contant Y value.
- [LinearRegression](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/linearregression.md): (static) Perform simple linear regression on a set of values, resulting in the linear equation f(x) = slope*x + intercept
- [Logistic](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/logistic.md): (2 overloads, static) Computes the Logistic function for custom parameters.
- [Logit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/logit.md): (2 overloads, static) Computes the inverse logistic function for custom parameters.
- [LSystemIteration](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/lsystemiteration.md): (2 overloads, static) Apply a single L-System iteration.
- [Max](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/max.md): (17 overloads, static) Find the largest integer in a set.
- [MaxIndex](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/maxindex.md): (5 overloads, static) Find the index of the largest integer in a set.
- [Mean](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/mean.md): (6 overloads, static) Compute the mean of a data set.
- [Median](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/median.md): (6 overloads, static) Gets the median of an array of doubles.
- [Mid](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/mid.md): (7 overloads, static) Compute the arithmetic mean of a data set.
- [MidIntegral](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/midintegral.md): (2 overloads, static) Compute the arithmetic integral mean of a data set.
- [Min](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/min.md): (17 overloads, static) Find the smallest integer in a set.
- [MinIndex](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/minindex.md): (5 overloads, static) Find the index of the smallest integer in a set.
- [MinMax](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/minmax.md): (5 overloads, static) Distribute two values by magnitude.
- [Multiple](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/multiple.md): (7 overloads, static) Default Grasshopper multiple method.
- [MySplitMeshAtWaterLevels](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/mysplitmeshatwaterlevels.md): (static) Splits a mesh by multiple lakes at once. Returns:Dry: everything never below *any* lake.; Submerged[i]: the pieces under lake #i.Lakes[] is an array of (level, wetFaces) tuples, where wetFaces lists the original‐mesh face‐indices that lake i touches. For a single arbitrary-plane split (no terrain bookkeeping), use [Maths.SplitMeshByPlane(Mesh, Plane, double, CancellationToken)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/splitmeshbyplane.md) instead.
- [NansAndInfinities](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/nansandinfinities.md): (static) Count all nans and infinities in a collection of doubles.
- [Normalise](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/normalise.md): (5 overloads, static) Normalise six value so that their sum is equal to target.
- [NthPermutation](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/nthpermutation.md): (static) Compute the Nth permutation of an integer sequence using standard permutation patterns.
- [NthPrime](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/nthprime.md): (static) Gets the Nth prime number.
- [Parse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/parse.md): (4 overloads, static) Parse a notation possibly containing constants and exponents. This method starts with the Framework integer parser, then checks for Grasshopper scientific notation.
- [ParseNumberAt](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/parsenumberat.md): (static) Try and parse a number from a sub-string. Note that this method does *not* pay attention to the preceding characters in the string. It only looks ahead. Types of notation this method understands include: Straight up integers: 1, 8, -500000 Straight up floats: 4.8, -600.8, -.5 Scientific notation: 1e-6, -7.078e200, 5*10^20, 5·10², 55×10³ Pi suffixes: π, 5π, 0.5pi Imaginary suffixes: i, 45.7i Degree symbols: 45°, -180.5°
- [Permutations](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/permutations.md): (static) Generate random permutations.
- [Ping](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/ping.md): (8 overloads, static) Ping-pong a value between two limits.
- [PrimeFactors](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/primefactors.md): (static) Decompose an integer into its prime factors, each combined with the power it is raised to. Factors are ordered from small to large, and the product of all factors always equals the absolute value of the input. The sign of the input is ignored, -12 and +12 both decompose into 2² and 3.
- [QuadranceToDistance](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/quadrancetodistance.md): (2 overloads, static) Convert a quadrance into a distance.
- [Quartiles](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/quartiles.md): (static) Compute the five key statistical points with respect to quantile distribution.
- [Round](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/round.md): (6 overloads, static) Default Grasshopper rounding method.
- [RoundWithinError](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/roundwithinerror.md): (static) Round a value to the nearest 'nice' value, without exceeding the error margin.
- [Sec](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/sec.md): (2 overloads, static) Compute the secant of a complex value.
- [Sech](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/sech.md): (2 overloads, static) Compute the hyperbolic secant of a complex value.
- [Sin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/sin.md): (2 overloads, static) Compute the sine of a complex value.
- [Sinc](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/sinc.md): (2 overloads, static) Compute the sinus-cardinalis of an angle in radians.
- [Sinh](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/sinh.md): (2 overloads, static) Compute the hyperbolic sine of a complex value.
- [Skewness](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/skewness.md): (static) Estimates the unbiased skewness of a population.
- [Smooth](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/smooth.md): (2 overloads, static) Smooth a set of values, ignoring everything beyond the ends of the sequence.
- [SmootherStep](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/smootherstep.md): (2 overloads, static) Performs standard smootherstep blending on a value. If the value is less than edge0, zero is returned. If the value exceeds edge1, one is returned. In between the value is blended using a fifth order hermite polynomial.
- [SmootherStepDerivative](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/smootherstepderivative.md): (2 overloads, static) Differentiate standard smootherstep blending on a value.
- [SmoothestStep](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/smootheststep.md): (2 overloads, static) Performs standard smootheststep blending on a value. If the value is less than edge0, zero is returned. If the value exceeds edge1, one is returned. In between the value is blended using a seventh order hermite polynomial.
- [SmoothestStepDerivative](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/smootheststepderivative.md): (2 overloads, static) Differentiate standard smootheststep blending on a value.
- [SmoothMax](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/smoothmax.md): (static) Compute the smooth maximum of two numbers. When applied to continuous crossing functions, the smooth maximum yields a result identical to Max(a, b), except when a and b are nearly equal. Near crossing points this deviation from Max(a,b) becomes so large as to smooth out the kinks that would occur in the regular Max() function.
- [SmoothMin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/smoothmin.md): (static) Compute the smooth minimum of two numbers. When applied to continuous crossing functions, the smooth minimum yields a result identical to Min(a, b), except when a and b are nearly equal. Near crossing points this deviation from Min(a,b) becomes so large as to smooth out the kinks that would occur in the regular Min() function.
- [SmoothStep](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/smoothstep.md): (2 overloads, static) Performs standard smoothstep blending on a value. If the value is less than edge0, zero is returned. If the value exceeds edge1, one is returned. In between the value is blended using a hermite polynomial.
- [SmoothStepDerivative](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/smoothstepderivative.md): (2 overloads, static) Differentiate standard smoothstep blending on a value.
- [SmoothStepInverse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/smoothstepinverse.md): (static) Inverse of the cubic smoothstep function.
- [Sort](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/sort.md): (8 overloads, static) Sort three values in place.
- [SortAngular](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/sortangular.md): (3 overloads, static) Sort an array of points counter-clockwise.
- [SortTopological](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/sorttopological.md): (static) Perform a topological sorting on an array of dependendies.
- [SplitMeshByPlane](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/splitmeshbyplane.md): (static) Split a mesh by an arbitrary plane. Returns the parts above and the parts below the plane as two separate meshes (each potentially comprising several disjoint pieces; call `SplitDisjointPieces` to enumerate them), plus the cut polylines on the plane itself. Unlike `Mesh.Split(Plane)` in RhinoCommon this overload accepts a cancellation token and bails out cleanly on a long-running split. Quad faces that lie entirely above or entirely below the plane are preserved as quads in the output. Only quads that the plane actually crosses are triangulated (along the A-C diagonal) and split per triangle. The input mesh is never mutated. Vertices within `tolerance` of the plane are treated as lying on the plane (rather than strictly above or below). A face with an on-plane vertex and no strict-opposite-side vertex is assigned in full to whichever side it touches; this gives clean splits on meshes whose vertices land exactly on the plane (the default sphere mesh, for example, has a row of vertices at the equator). See also [Maths.MySplitMeshAtWaterLevels(Mesh, double[], (double waterLevel, HashSet<int> wetFaces)[], CancellationToken, bool)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/mysplitmeshatwaterlevels.md), which solves a related but more specialised problem (multiple horizontal-plane cuts with per-vertex water levels and terrain-flavoured output bookkeeping). The two share the same per-triangle split arithmetic; they are not yet refactored onto a common core because the terrain method is sensitive to small numerical changes in its output.
- [Sqrt](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/sqrt.md): (4 overloads, static) Square root.
- [Statistics](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/statistics.md): (2 overloads, static) Compute a set of common statistics for a collection of numbers.
- [Sum<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/sum.md): (3 overloads, static) Sum up all elements in a collection.
- [Swap<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/swap.md): (2 overloads, static) Swap three values in place. B becomes A, C becomes B, and A becomes C.
- [Tan](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/tan.md): (2 overloads, static) Compute the tangent of a complex value.
- [Tanh](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/tanh.md): (2 overloads, static) Compute the hyperbolic tangent of a complex value.
- [ToNextPowerOfTen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/tonextpoweroften.md): (static) Convert an integer to the next power of ten. If the integer is already a power of ten, the same number will be returned.
- [ToNextPowerOfTwo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/tonextpoweroftwo.md): (static) Convert an integer to the next power of two. If the integer is already a power of two, the same number will be returned.
- [Truncate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/truncate.md): (6 overloads, static) Default Grasshopper truncate method.
- [VertexAverage](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/vertexaverage.md): (2 overloads, static) Compute the average of a set of points.
- [Wrap](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths/wrap.md): (8 overloads, static) Wrap a value between two limits.
