# Ruby Math Functions and Methods

 Purchase and download the full PDF and ePub editions of this Ruby eBook for only \$8.99

The Ruby Math module provides the Ruby programmer with an extensive range of methods for performing mathematical tasks. In addition, the Math module includes two commonly used mathematical constants.

## Ruby Math Constants

The Ruby Math module includes common math constants. A list of constants may be accessed using the constants method:

```Math.constants
=> ["E", "PI"]
```

As we can see, as of the current version of Ruby, only two constants are defined. We can access these using :: notation:

```Math::PI
=> 3.14159265358979

Math::E
=> 2.71828182845905
```

## Ruby Math Methods

As mentioned previously, Ruby provides an extensive range of math related methods. These are listed and described in the following table.

 Method name Description Math.acos, Math.acos! Arc cosine Math.acosh, Math.acosh! Hyperbolic arc cosine Math.asin, Math.asin! Arc sine Math.asinh, Math.asinh Hyperbolic arc sine Math.atan, Math.atan!, Math.atan2, Math.atan2! Arc tangent. atan takes an x argument. atan2 takes x and y arguments Math.atanh, Math.atanh! Hyperbolic arc tangent Math.cos, Math.cos! Cosine Math.cosh, Math.cosh Hyperbolic cosine Math.sin, Math.sin! Sine Math.erf Error function Match.erfc Complementary error function Math.exp, Math.exp! Base x of Euler Math.frexp Normalized fraction and exponent Math.hypot Hypotenuse Math.ldexp Floating-point value corresponding to mantissa and exponent Math.sinh, Math.sinh! Hyperbolic sine Math.sqrt, Math.sqrt! Square root Math.tan, Math.tan! Tangent Math.tanh, Math.tanh! Hyperbolic tangent

## Some Examples

Now that we have a list of the math methods available to us, we can start to use them:

To perform a square root:

```Math.sqrt(9)
=> 3.0
```

Or a Euler calculation:

```Math.exp(2)
=> 7.38905609893065
```

## Summary

This chapter has covered the concepts behind Ruby methods and functions. The next chapter will focus on Ruby logical operators.

 Purchase and download the full PDF and ePub editions of this Ruby eBook for only \$8.99