README.md

# TrendUtils

## Description
This algorithm is weighted towards non-zero values and numbers in the series that are changing.  A value of zero
and numbers in sequence that are the same value, are given less weight in the calculation.  The algorithm will be a summing of result

* This algorithm, will expect a list of numbers... whole numbers and/or decimals.
* if the supplied list is empty or does not exist (null), then the trend calculator should return null.
* if the list contains only a single value, then the trend calculator should return a value of zero (0).
* the resulting trend will always start with a value of zero (0).
* the first pair will contain the first two numbers in the list
* the second pair will contain the second and third number in the list (and so on, until the list is completely processed).
* the final pair, will be the last two numbers in the list.
* the order of the list will be determined by the original order passed to the calculator.  No additional sorting will be required.
* The following calculation will be applied to each pair.  Pairs will be denoted as [p1, p2]
```
if p1 equals zero and p2 > 0, the value for the pair will be 1.0
```
```
if p1 equals p2, the value for the pair will be 0.0
```
```
otherwise, the value for the pair will be (p2-p1)/p1.
```

The result of each pair calculation will be summed, returning the trend value.

## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `trendutils` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:trendutils, "~> 0.1.0"}
  ]
end
```

Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at [https://hexdocs.pm/trendutils](https://hexdocs.pm/trendutils).