Maths Code Refactoring

This pull request represents the completion of the first deliverable of my Google Summer of Code project.
I managed to refactor all the maths code in a c++ style while mantaining the same level of performance.
If you have any questions or doubts please ask.
They are used by other files that include this header