Thank you all for testing. I have just fixed position values for knight vs bishop, so total value of these two is really equal in average. And I scaled the total position values, so computer may in very rare cases give away a pawn for a very good position.
@dom So what is your advice concerning inline. And no, not all, the 3 biggest procs are not marked inline. My observation was some time ago, that inline pragma gave advantages. But I guess that was still with gcc 4.7. Do you think gcc 5.4 is smart enough, so it does not need inline hint? @flyx 2.0 is OK indeed. For GTK3 we have indeed glib2 and even plain cairo and pango. So unfortunately it is difficult to install all my GTK3 related wrappers with nimble due to name conflicts. I am still hoping that gtk2 will die finally. But there seems some aporia users left. Appending a "3" to all my wrappers would generate more confusion, so I had to append "salewski", but that is ugly. $ head -30 gobject.nim {.deadCodeElim: on.} when defined(windows): const LIB_GOBJ* = "libgobject-2.0-0.dll" elif defined(macosx): const LIB_GOBJ* = "libgobject-2.0.dylib" else: const LIB_GOBJ* = "libgobject-2.0.so(|.0)" So name "libgobject-2.0.dylib" is wrong for your box. But the "2" should be corret I guess. Sorry can not help yet. Thanks for your makefile, will consider adding that to the package.