Yeppp! is a high-performance SIMD-optimized mathematical library for x86, ARM, and MIPS processors on Windows, Android, Mac OS X, and GNU/Linux systems. Yeppp! functions are presented in several versions with optimizations for different processor microarchitectures. During initialization Yeppp! library detects the processor it is running on, and chooses the optimal function implementations.
Additionally, the library provides information about the CPU, such as processor vendor and microarchitecture, and an OS- and hardware-independent interface to processor cycle counters, and high-resolution timers.
Releases of Yeppp! library contain the following files relevant to C# programming:
|binaries/windows/amd64/||Pre-built Yeppp! DLL and debug information files for x64 (64-bit) Windows|
|binaries/windows/x86/||Pre-built Yeppp! DLL and debug information files for x86 (32-bit) Windows|
|binaries/linux/i586/||Pre-built Yeppp! shared object and debug symbols for GNU/Linux on x86 architecture|
|binaries/linux/x86_64/||Pre-built Yeppp! shared object and debug symbols for GNU/Linux on x86-64 (aka AMD64, x64, or Intel64) architecture|
|binaries/linux/armel/||Pre-built Yeppp! shared object and debug symbols for GNU/Linux on ARM architecture with armel ABI (ARM EABI Little-Endian Soft-Float)|
|binaries/linux/armhf/||Pre-built Yeppp! shared object and debug symbols for GNU/Linux on ARM architecture with armhf ABI (ARM EABI Little-Endian Hard-Float)|
|binaries/macosx/x86/||Pre-built Yeppp! dynamic library and debug symbols for Mac OS X on x86 architecture|
|binaries/macosx/x86_64/||Pre-built Yeppp! dynamic library and debug symbols for Mac OS X on x86-64 (aka AMD64, x64, or Intel64) architecture|
|binaries/clr-2.0/||Pre-built Yeppp! bindings for CLR 2.0 (.Net- and Mono-compatible). Includes managed platform-independent DLL and xml documentation|
|bindings/clr/sources-csharp/||Source code for Yeppp! CLR bindings|
|examples/csharp/||Examples of calling Yeppp! functions in C# code|
|docs/cs/||Yeppp! documentation for C# programmers|
|SetVars.cmd||Windows batch script to setup environment variables for Yeppp!|
|set-vars.sh||POSIX shell script to setup environemnt variables for Yeppp! . Compatible with bash/dash/ksh/zsh on Linux and Mac OS X.|
Download the recent release of Yeppp! from the official website. On Windows we recommend that you use the MSI installer for Yeppp! SDK. The installer will install the library components, and also set YEPROOT environment variable.
Open the Visual C# project where you want to use Yeppp! . Choose Project->Add Reference in the main menu. Add Reference diallog will appear on the screen.
In the Add Reference diallog switch to "Browse" tab and specify the path to
yeppp-cli.dll file in the directory
binaries/clr-2.0/ in Yeppp! tree.
Additionally you need to let .Net framework know where to find Yeppp! DLL. The easy way to achieve it is to copy yeppp.dll (which should match your target platform) to your output directory.
Now you are ready to use Yeppp!