01/25/2014

21 days ago

65 commits

Yeppp! is a high-performance SIMD-optimized mathematical library. This Julia package makes it possible to call Yeppp from Julia.

Install this package by

```
Pkg.add("Yeppp")
```

For common 64-bit platforms, this will download dependencies automatically. For some
other platforms such as the PowerPC 64 architecture, you may still be able to
use this package by downloading
Yeppp!
and extracting from the `binaries`

folder the file(s) specific to your OS.
Check the platforms supported by Yeppp! here.
Make sure the extracted files are available on the system library
search path or in the current directory. For example, in Julia's `bin`

folder.

See example usage below. Yeppp's vectorized log is 7x faster than the one in Base that uses openlibm.

```
using Yeppp
x = rand(10^7)
ty = @elapsed Yeppp.log!(similar(x), x)
t = @elapsed log(x)
t/ty
```

The following functions are available for `Array{Float64}`

. Inputs
are in `x`

, and outputs are in `y`

.

```
dot(x1, x2)
sum(x)
sumabs(x)
sumabs2(x)
negate!(x)
max!(y, x1, x2)
min!(y, x1, x2)
add!(y, x1, x2)
subtract!(y, x1, x2)
multiply!(y, x1, x2)
log!(y, x)
exp!(y, x)
evalpoly!(y, x_coeff, x)
sin!(y, x)
cos!(y, x)
tan!(y, x)
```

See the Yeppp! documentation for the full set of functions available in Yeppp!.