I did it. It works. I finally got a version my multidimensional point/color/vector/whatever done and it just works. It's amazingly creepy how implicitely template operators with template arguments simply specified by a passed parameter. I know from methods that you can't just pass it without specifying, but operators with magically like they fell from sky and made love with the most magician on earth. Jokes away, it is also amazing how it me took to bring it to life. C++ is an unforgiving language if comes to such details. It randomly happened that I brought myself to begin coding what I wanted to abandon far away but also wished it more than anything else in the moment. Out of a sudden it worked even better than expected and it just flattened my mind to see it not complaining during compilation. It just worked. And it is probably a mess for the compiler to put into form. Now I can only rely on the compiler to loop unroll and inline it. Fortunately, I found a reference of all GCC optimization flags I can enable on demand and without any problems. So I'll always need to setup these flags to get the performance I want. I didn't notive before that GCC doesn't inline code by default. I just wrote inline infront of it and was happy. Too bad I didn't notice it before, so maybe everything could've been faster without all the very, very long delays between progress. Release! Finally. After a so long time of anger, brainstorming, frustration and knots-in-brain. Pleasing to see it coming well together. I hope I can exploy the operator parameters even more to get on-the-fly type conversion done. Even if this doesn't work - it's awesome to know that the original features set is now 100% safe and functional. Good job boy! You done well. You deserve the sleep you should now get.

I'm tempted to say Amen, but that'd kind of too weird.

No comments: