# powers 1.0.0+2 powers: ^1.0.0+2 copied to clipboard

Extension methods for the num class (ints and doubles) that adds functionality for finding the square, cube, and higher order roots and powers of the number.

# powers #

Extension methods for the `num` (`int` and `double`) class that add functionality for finding the square, cube, and higher order roots and powers of the number.

## Usage #

``````import 'package:powers/powers.dart';
``````

Importing powers will add a number of methods to the `num` class, which are inherited by the `int` and `double` classes.

The first set of methods adds methods to handle squares.

``````/// [squared] returns the number squared (to the power of 2.)
print(2.squared()); // 4

/// [sqrt] returns the square root of the number.
print(4.sqrt()); // 2

/// [isSquare] returns `true` if the square root of the number is a valid integer.
print(15.isSquare); // false
print(16.isSquare); // true
``````

The next set is to handle cubes.

``````/// [cubed] returns the number cubed (to the power of 3.)
print(3.cubed()); // 9

/// [cbrt] returns the cube root of the number.
print(9.cbrt()); // 3

/// [isCube] returns `true` if the cube root of the number is a valid integer.
print(26.isCube); // false
print(27.isCube); // true
``````

And, the final set of methods is to handle higher order roots and powers.

``````/// [pow] returns the number to the power of n.
print(5.pow(5)); // 3125

/// [root] returns the nth root of the number.
print(3125.root(5)); // 5

/// [isPowerOf] returns `true` if the nth root of the number is a valid integer.
print(3200.isPowerOf(5)); // false
print(3125.isPowerOf(5)); // true
``````

The `int` class is extended with 3 additional methods that calculate roots and return the values as `int`s, throwing an error if the value isn't a valid integer.

``````/// [sqrtToInt] returns the square root of the integer.
print(4.sqrtToInt()); // 2

/// [cbrtToInt] returns the cube root of the integer.
print(9.cbrtToInt()); // 3

/// [rootToInt] returns the factored root of the integer.
print(100.rootToInt(2)); // 10

/// Calling any of the above methods on an integer that isn't a valid power
/// will result in an [InvalidPowerException] being thrown.
print(6.sqrtToInt()); // Throws an error.
``````
2
likes
120
pub points
81%
popularity

### Publisher jamesalex.dev

Extension methods for the num class (ints and doubles) that adds functionality for finding the square, cube, and higher order roots and powers of the number.