On 2018-04-24 12:46:27 +0200, paul zimmermann wrote: > I understand MPN_ZERO(p,n) is implemented as "if (n) MPN_FILL(p, n, 0)". > > Then in case MPN_FILL is implemented using memset, since memset also checks > for the case n=0, MPN_ZERO(p,n) will perform two tests for n > 0. Why not > directly call MPN_FILL?
Note that there is a difference: with memset, p must have a valid value (e.g. must not be a null pointer), even when n is 0, while in MPN_ZERO(p,n), p may have an invalid value when n is 0. To do the change, you would need to check the GMP code to see whether MPN_ZERO can be called with an invalid pointer value. Moreover, I think that if this is OK, it would be better to call memset directly from MPN_ZERO in this case, bypassing MPN_FILL, which normally expects n > 0. -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon) _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel