# gleam-community/maths

A basic mathematics library that contains some of the most fundamental mathematics functions and utilities.

The library supports both targets: Erlang and JavaScript.

## Quickstart

``````import gleam_community/maths/arithmetics
import gleam_community/maths/combinatorics
import gleam_community/maths/elementary
import gleam_community/maths/piecewise
import gleam_community/maths/predicates
import gleam/float

pub fn main() {
// Evaluate the sine function
elementary.sin(elementary.pi())
// Returns Float: 0.0

// Find the greatest common divisor
arithmetics.gcd(54, 24)
// Returns Int: 6

// Find the minimum and maximum of a list
piecewise.extrema([10.0, 3.0, 50.0, 20.0, 3.0], float.compare)
// Returns Tuple: Ok(#(3.0, 50.0))

// Find the list indices of the smallest value
piecewise.arg_minimum([10, 3, 50, 20, 3], float.compare)
// Returns List: Ok([1, 4])

// Determine if a number is fractional
predicates.is_fractional(0.3333)
// Returns Bool: True

// Determine if 28 is a power of 3
predicates.is_power(28, 3)
// Returns Bool: False

// Generate all k = 1 combinations of [1, 2]
combinatorics.list_combination([1, 2], 1)
// Returns List: Ok([, ])
}

``````

## Installation

`gleam_community` packages are published to hex.pm with the prefix `gleam_community_`. You can add them to your Gleam projects directly:

``````gleam add gleam_community_maths
``````