Skip to content

A complex math library designed for runtime efficiency and quick calculations, with specialization and optimizations for linear algebra related mathematics.

Notifications You must be signed in to change notification settings

ProDCG/Apparatus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apparatus is a performance focused and efficient math library with a C++ backend. The library specializes in linear algebra, number theory, and basic arithmetic. A coming feature will allow to use the JNI, so that the library can give you the C++ performance speeds in other languages.

An example use case of declaring a vector using Apparatus:

#include <vector_in.hpp>

// Declare a vector of type double and length 3
Vector<double, 3> vec{1, 2, 3};  

Custom types allow for strong readability and flexibility when declaraing vectors

#include <vector_in.hpp>
#include <vector_in_typedef.hpp>

// Use of custom type, defaults to double, or defines the type based
// on the value passed into the parameter.
app::vec3 camera = vec3(1.0);

Another strong use case that this language gives you is access to a wide variety of sorting algorithms.

#include <sorting.h>

// Use the insertion sorting algorithm, will automatically modify the array
sort<insertion_sort_policy_t>(/*reference to an array*/);

Some of these possible sorting algorithms are: insertion_sort_policy_t quick_sort_iterative_t bogo_sort_t

There are more features to come, along with matrix multiplication, stressen algorithm implementation, and more useful utilities to speed up performance.

About

A complex math library designed for runtime efficiency and quick calculations, with specialization and optimizations for linear algebra related mathematics.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •