Skip to content

xboxfanj/math-neon

Repository files navigation

Library: 	MATH-NEON
By:			Lachlan Tychsen-Smith
Licence:	MIT (expat)
=======================================================================================
This project implements the cmath functions and some optimised matrix functions 
with the aim of increasing the floating point performance of ARM Cortex A-8
based platforms. As well as implementing the functions in ARM NEON assembly, 
they sacrifice error checking and some accuracy to achieve better performance.

Function Errors:
=======================================================================================
The measurement and characterisations of the inaccuracies present within these 
functions is really a field within itself. For the benchmark i provide the 
maximum absolute, maximum relative and root mean squared error compared to the
cmath implementations over the specified range. However these values can be 
misleading, especially for functions which quickly go to infinity. So its always a 
good idea to test it within your actual program. In general, this library will not 
be as accurate as cmath, however for many functions it is close enough to be
negilible. 
	
Notes:
=======================================================================================
- The *_c functions are c implementations of the *_neon code.
- Like cmath, The errors present in the functions are very dependent on the 
  range which your operating in. So you should test them first.
- Look in the "math_neon.h" file for discriptions of the functions. In some 
  function files there are also notes on the specific implementation.
- The *_neon functions make certain assumptions about the location of arguments 
  that is incompatible with inlining. 
	  
Contact:
=======================================================================================
Name: 	Lachlan Tychsen-Smith 
Email: 	lachlan.ts@gmail.com

About

Automatically exported from code.google.com/p/math-neon

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages