# Dart: math library, its classes, constants and functions

## dart:math library, its classes, constants and functions :

dart:math library is an inbuilt library in dart. It contains different mathematical constants, mathematical functions and a few classes. You can simply use this library by importing it in your code like below :

``import 'dart:math';``

In this post, I will show you these constants, functions and classes with a small description.

### Constants of dart:math :

Following constants are defined in dart:math :

#### 1. e(double) :

It is the base of natural logarithms. This is a double value. It is defined as :

``const double e = 2.718281828459045``

#### 2. ln2(double) :

This is the closest representable value of natural logarithm of 2. This is a double value and it is implemented as like below :

``const double ln2 = 0.6931471805599453``

#### 3. ln10(double) :

This is the closest representable value of natural logarithm of 10. It is also a double value.

``const double ln10 = 2.302585092994046``

#### log2e(double) :

Base 2 logarithm of e.

``const double log2e = 1.4426950408889634``

#### log10e(double) :

Base 10 logarithm of e.

``const double log10e = 0.4342944819032518``

#### pi(double) :

Constant π .

``const double pi = 3.1415926535897932``

#### sqrt1_2(double) :

Square root of half, 1/2 :

``const double sqrt1_2 = 0.7071067811865476``

#### sqrt2(double) :

Square root of 2.

``const double sqrt2 = 1.4142135623730951``

### Functions :

Following functions are defined in dart:math :

### Trigonometric functions :

#### 1. sin(num radians) → double :

Get the sine of the parameter radians. Result is NaN if radians is not finite.

#### 2. cos(num radians) → double :

Get the cosine of the parameter radians. Result is NaN if radians is not finite.

#### 3. tan(num radians) → double :

Get the tangent of the parameter radians. It is equal to sine(radians)/cos(radians). If radians is not finite, it will give NaN. If the value of cos is zero, it will give infinite result.

#### 4. asin(num x) → double :

Returns the arc sine of x in radians. If the value of x is not in between -1 to +1, it will return NaN.

#### 5. acos(num x) → double :

Get the arc cosine of x in radians.If the value of x is not in between -1 to +1, it will return NaN.

#### 6. atan(num x) → double :

Get the arc tangent of x in radians.It returns NaN, if the value of x is NaN.

#### 7. atan2(num a num b) → double :

It returns the angle in radians between the positive x axis and the vector (b,a). It returns the result in range -PI..PI. If any argument is NaN, it returns NaN.

### Other functions :

#### 1. sqrt(num x) → double :

Returns the positive square root of x. If the value of x is -0.0, it returns -0.0. For other negative values of x or NaN, it returns NaN.

#### 2. pow(num x num exponent) → num :

Returns x to the power of exponent.

#### 3. max(T a T b) → T :

Returns the larger between a and b. If any one of these is NaN, it returns NaN.

#### 4. min(T a T b) → T :

Returns the lesser between a and b. If any one of these is NaN, it returns NaN.

#### 5. exp(num x) → double :

Returns e to the power of x. If x is NaN, it returns NaN.

#### 6. log(num x) → double :

Returns the natural logarithm of x. If x is NaN or less than 0, it returns NaN. If x is equal to 0, it returns negative infinity.

### Classes :

Following classes are defined in dart:math library :

#### 1. MutableRectangle :

This class is for two dimensional axis aligned rectangles with mutable properties.

#### 2. Rectangle :

This class is to generate two dimensional rectangles with immutable properties.

#### 3. Random :

This class is to generate random values. It can be a random boolean, integer or double.

#### 4. Point :

This class is to generate a point in a two dimensional plan.

### Where is the color and why codevscolor ?

Long story short, I love paintings and I paint on weekends. We(me and my wife) have one Youtube channel. Below is a video that I did recently. If you love this please do subscribe to support us 😊