Skip to content
This repository has been archived by the owner on Apr 9, 2020. It is now read-only.

JuliaMath/Yeppp.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yeppp bindings for Julia

Linux: Build Status

Windows: Build status

Coverage Status codecov.io

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 3x faster than the one in Base, which is written in Julia.

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!.