# Specifying the separation bins in Corrfunc¶

All of the python extensions for Corrfunc accept either a filename or an array for specifying the \(r_p\) or \(\theta\).

## Manually creating a file with arbitrary bins¶

This manual method lets you specify generic bins as long as the upper-edge of one bin is the same as the lower-edge of the next (i.e., continuous bins). The bins themselves can have arbitrary widths, and the smallest bin can start from 0.0.

- Open a text editor with a new file
- Add two columns per bin you want, the first column should be low-edge of the bin while the second column should be the high-edge of the bin. Like so:

```
0.10 0.15
```

- Now add as many such lines as the number of bins you want. Here is a valid example:

```
0.10 0.15
0.15 0.50
0.50 5.00
```

This example specifies 3 bins, with the individual
bin limits specified on each line. Notice that the
width of each bin can be independently specified (but
the bins **do** have to be continuous)

Note

Make sure that the bins are in increasing order – smallest bin first, then the next smallest bin and so on up to the largest bin.

## Specifying bins as an array¶

You can specify the bins using `numpy.linspace`

or
`numpy.logspace`

.

```
import numpy as np
rmin = 0.1
rmax = 10.0
nbins = 20
rbins = np.linspace(rmin, rmax, nbins + 1)
log_rbins = np.logspace(np.log10(rmin), np.log10(rmax), nbins + 1)
```