X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Authentication-Warning: itservs.wilkes.edu: apache set sender to fdonahoe AT wilkes DOT edu using -f Message-ID: <1095849299.415155532ce78@webmail.wilkes.edu> Date: Wed, 22 Sep 2004 06:34:59 -0400 From: fdonahoe AT wilkes DOT edu To: Cesar Rebak Cc: djgpp AT delorie DOT com Subject: Re: bnu214s compiled for djgpp 2.04 alpha MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2 X-Originating-IP: 146.94.1.207 Cesar Rabak on Tuesday, 21 September wrote: > Does the mpz_aorsmul_1 function definition starts on line 61 of > aorsmul_i.c, or there is a 'void' in the previous line? > > If there is the 'void' in aorsmul_i.c, then could you please run: > > gcc -E aorsmul_i.c -o aorsmul_i.i > > and see how the declaration at line 628 expands? ...> gcc -E -I. mpz/aorsmul_i.c -o aorsmul_i.i Gives this for line 628 # 628 "./gmp-impl.h" void __gmpz_aorsmul_1 (mp_size_t sub,mpz_ptr w,mpz_srcptr u,mp_limb_t v) __attribute__ ((regparm (1))); void __gmpz_n_pow_ui (mpz_ptr, mp_srcptr, mp_size_t, unsigned long); mp_limb_t __gmpn_add_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); mp_limb_t __gmpn_addmul_1c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); mp_limb_t __gmpn_addsub_n (mp_ptr, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); mp_limb_t __gmpn_addsub_nc (mp_ptr, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); mp_limb_t __gmpn_divrem_1c (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); void __gmpn_dump (mp_srcptr, mp_size_t); mp_size_t __gmpn_fib2_ui (mp_ptr, mp_ptr, unsigned long); mp_limb_t __gmpn_gcd_finda (const mp_limb_t cp[2]) __attribute__ ((__pure__)); int __gmpn_jacobi_base (mp_limb_t a, mp_limb_t b, int result_bit1) __attribute__ ((const)); mp_limb_t __gmpn_mod_1c (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __attribute__ ((__pure__)); mp_limb_t __gmpn_mul_1c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); mp_limb_t __gmpn_mul_2 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); void __gmpn_mul_basecase (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); void __gmpn_sqr_n (mp_ptr, mp_srcptr, mp_size_t); void __gmpn_sqr_basecase (mp_ptr, mp_srcptr, mp_size_t); mp_limb_t __gmpn_sub_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); mp_limb_t __gmpn_submul_1c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); typedef __gmp_randstate_struct *gmp_randstate_ptr; void __gmp_rand (mp_ptr, gmp_randstate_t, unsigned long int); And for good measure, this for line 60 # 60 "mpz/aorsmul_i.c" void __gmpz_aorsmul_1 (mp_size_t sub,mpz_ptr w,mpz_srcptr x,mp_limb_t y) { mp_size_t xsize, wsize, wsize_signed, new_wsize, min_size, dsize; mp_srcptr xp; mp_ptr wp; mp_limb_t cy; xsize = ((x)->_mp_size); if (xsize == 0 || y == 0) return; sub ^= xsize; xsize = ((xsize) >= 0 ? (xsize) : -(xsize)); wsize_signed = ((w)->_mp_size); if (wsize_signed == 0) { ((xsize+1) > ((w)->_mp_alloc) ? __gmpz_realloc(w,xsize+1) : ((w)->_mp_d)); wp = ((w)->_mp_d); cy = __gmpn_mul_1 (wp, ((x)->_mp_d), xsize, y); wp[xsize] = cy; xsize += (cy != 0); ((w)->_mp_size) = (sub >= 0 ? xsize : -xsize); return; } sub ^= wsize_signed; wsize = ((wsize_signed) >= 0 ? (wsize_signed) : -(wsize_signed)); new_wsize = ((wsize) > (xsize) ? (wsize) : (xsize)); ((new_wsize+1) > ((w)->_mp_alloc) ? __gmpz_realloc(w,new_wsize+1) : ((w)->_mp_d)); wp = ((w)->_mp_d); xp = ((x)->_mp_d); min_size = ((wsize) < (xsize) ? (wsize) : (xsize)); if (sub >= 0) { cy = __gmpn_addmul_1 (wp, xp, min_size, y); wp += min_size; xp += min_size; dsize = xsize - wsize; Frank ----------------------------------------------------------------------- This mail was sent through Wilkes Webmail: http://webmail.wilkes.edu Wilkes Webmail is using IMP: http://horde.org/imp/