( kikuchiyo | 2012. 09. 22., szo – 11:51 )

Miért nem úgy csinálod, hogy a futás előtt egyszer kiszámolandó dolgokat egy külön initialize_scale vagy mittomén függvényben a futás előtt egyszer kiszámolod?
Így egyrészt az ilyen bugoktól megóvnád magad, tisztább és világosabb lenne a kód, mert látszana, hogy mi tartozik az inicializációhoz és mi a tényleges számításhoz, ráadásul az m függvényben meg lehetne spórolni az if (!first_run) tesztelést, amit minden híváskor feleslegesen elvégez.