bn_check_top(a);
BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w)	{	BN_ULONG ret;	int i;	if (a->top == 0) return(0);	ret=0;	w&=BN_MASK2;	for (i=a->top-1; i>=0; i--)		{		BN_ULONG l,d;				l=a->d[i];		d=bn_div_words(ret,l,w);		ret=(l-((d*w)&BN_MASK2))&BN_MASK2;		a->d[i]=d;		}	if ((a->top > 0) && (a->d[a->top-1] == 0))		a->top--;	return(ret);	}