Hi Andres,
should the asOBJ_APP_CLASS_ALLINTS flag be used for a class that contains only integer properties, all but one declared as 'const in' and the last one as 'const uint64'?
asOBJ_APP_CLASS_ALLINTS
Yes. In fact, unless the class contains any floats or doubles you can always use the asOBJ_APP_CLASS_ALLINTS flag.
If I understood the AMD64 ABI correctly, even in some cases were a float is a member of the class the asOBJ_APP_CLASS_ALLINTS flag can stlll be used. For example, struct { int a; float b; } would be an asOBJ_APP_CLASS_ALLINTS, but not struct { int a; int b; float c;}.
I think the rule is something like this. Each block of 64bits are classified separately. If the block contains at least one byte that is not a float or double, then the block is classified as an integer. Only if the 64bit block contains 2 floats or 1 double is it classified as float.
If I understood the AMD64 ABI correctly, even in some cases were a float is a member of the class the asOBJ_APP_CLASS_ALLINTS flag can stlll be used. For example, struct { int a; float b; } would be an asOBJ_APP_CLASS_ALLINTS, but not struct { int a; int b; float c;}.
I think the rule is something like this. Each block of 64bits are classified separately. If the block contains at least one byte that is not a float or double, then the block is classified as an integer. Only if the 64bit block contains 2 floats or 1 double is it classified as float.
AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement