---
sidebar_position: 7
---
import { SquiggleEditor } from "../src/components/SquiggleEditor";
# Squiggle Functions Reference
## Distributions
### Normal distribution
The `normal(mean, sd)` function creates a normal distribution with the given mean
and standard deviation.
### Uniform distribution
The `uniform(low, high)` function creates a uniform distribution between the
two given numbers.
### Lognormal distribution
The `lognormal(mu, sigma)` returns the log of a normal distribution with parameters
mu and sigma. The log of lognormal(mu, sigma) is a normal distribution with parameters
mean mu and standard deviation sigma.
An alternative format is also available. The "to" notation creates a lognormal
distribution with a 90% confidence interval between the two numbers. We add
this convinience as lognormal distributions are commonly used in practice.
Furthermore, it's also possible to create a lognormal from it's actual mean
and standard deviation, using `lognormalFromMeanAndStdDev`.
### Beta distribution
The `beta(a, b)` function creates a beta distribution with parameters a and b:
### Exponential distribution
The `exponential(mean)` function creates an exponential distribution with the given
mean.
### The Triangular distribution
The `triangular(a,b,c)` function creates a triangular distribution with lower
bound a, mode b and upper bound c.
### Multimodal distriutions
The multimodal function combines 2 or more other distributions to create a weighted
combination of the two. The first positional arguments represent the distributions
to be combined, and the last argument is how much to weigh every distribution in the
combination.
It's possible to create discrete distributions using this method.
As well as mixed distributions:
## Other Functions
### PDF of a distribution
The `pdf(distribution, x)` function returns the density of a distribution at the
given point x.
### Inverse of a distribution
The `inv(distribution, prob)` gives the value x or which the probability for all values
lower than x is equal to prob. It is the inverse of `cdf`.
### CDF of a distribution
The `cdf(distribution,x)` gives the cumulative probability of the distribution
or all values lower than x. It is the inverse of `inv`.
### Mean of a distribution
The `mean(distribution)` function gives the mean (expected value) of a distribution.
### Sampling a distribution
The `sample(distribution)` samples a given distribution.