Hi, > http://www.keil.com/support/man/docs/armasm/armasm_dom1361289902800.htm
>From this piece code: (ftcalc.c +244) return (int32_t)( ( ab + 0x8000L - ( ab < 0 ) ) >> 16 ); this routine seems produce a result of a integer include the bit 16 to bit (16+32) and round up? Greater than one half --> +1 Less than one half --> discard FT_MulFix a b a x b become a 64bit interger. a x b:|B7|B6|B5|B4|B3|B2|B1|B0| |xx|xx|B5|B4|B3|B2|xx|xx| If(|B1|B0| > 0x10000/2) |B5|B4|B3|B2| += 1 ----->return |B5|B4|B3|B2| Am I understand this right? Regards, duhuanpeng _______________________________________________ Freetype-devel mailing list Freetype-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/freetype-devel