gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > Opti: Akkit.org DS Coding/Optimisation contest

#153542 - sgstair - Tue Apr 01, 2008 5:04 pm

So; a while back I had this crazy idea to set up a optiimisation contest website; and I did finally complete building the website last weekend, and started the first competition: writing optimised code to render the Mandelbrot Set.

There's plenty of time, so if you think this sounds interesting, please check it out! http://opti.akkit.org/competition.php?id=5
_________________
http://blog.akkit.org/ - http://www.akkit.org/dswifi/

#153552 - nutki - Tue Apr 01, 2008 8:38 pm

The multiplication function int the example solution there are following lines:
Code:
        u64 mid1 = (a&0xFFFFFFFF)*(b>>16);
        u64 mid2 = (b&0xFFFFFFFF)*(a>>16);
but to my knowledge there should be:
Code:
        u64 mid1 = (a&0xFFFFFFFF)*(b>>32);
        u64 mid2 = (b&0xFFFFFFFF)*(a>>32);
instead.
However even if I am wrong the real issue is that changing it this way makes a difference below 100 which is 1/1000 of test allowed difference. I have tested that 10bit precision is enough to fit in required SAD.

#153553 - sgstair - Tue Apr 01, 2008 8:47 pm

Indeed, I feel stupid for letting that get by.

The precision will be tested more completely by the final set of tests, and I will release another test set long before the competition ends to verify precision issues, this first app was rushed and I intentionally let precision as an issue slide in the interest of making graphs that looked interesting to test with ;)

I will update the source package again with that fix, thanks for pointing it out.
_________________
http://blog.akkit.org/ - http://www.akkit.org/dswifi/

#157394 - pepsiman - Fri May 23, 2008 2:47 pm

I've submitted my entries.
Not long left now.