AstrophysiCs in Super Fast C
A little over a year ago, i started this completely random programming project. Which was, in essence, a burst of mis-aligned energy; An astrophysics computation library in the C language. Yep, that’s right! plain old fucking C with no OOP modern bs. As close as one could get to the machine without having to walk naked through Siberia in the winter (Assembly). The vision at the time was; well, to be honest, I forgot what the hell my intentions were with the projects long term. I doubt even if I had any. So, here I am today trying to guess how to finish this idiotic project, and because I got time, why the hell not blog post about it, right?
The Outline
The Github repo AstrophysiCs of the project was intended to have the code for all the general and specific compute tools for Celestial Mechanics, Optics, Cosmology, General Relativity, Stellar and Galactic Evolution. That anyone studying the universe could find very useful. So far, I only wrote the Celestial Mechanics and Relativistic portions of it (Yeah, well, it’s not like I’m getting paid for it, sod off!). There are two (2) Header files named respectively for the above mentioned branches. Each, containing straight forward super fast functions for all sorts of simple to medium and high complexity computations.
Why C?
I didn’t think much before choosing C to be honest. It was more of an intuitive choice rather than a practical one. Retrospectively, C is the best because it offers so much performance compared to other compiled languages (C++ is fast but a little bit unecessary for the kind of applications I imagined the code would be used for, It’s a bit like bringing a machine gun to a pillow fight) The overall simplicity and robustness of C makes it useful for small handy projects in general. I remember a vague memory of having the intentions to make the code easy to integrate in embedded systems, I still don’t know what plan I had in mind at the time but as far as I could guess; It had to do with making my own hardware and software to guide long exposure shots on telescopes; which ironically speaking, I still haven’t wrote yet. Soon I will, promise.