All pastes #1505445 Raw Edit

[phear]crippler

public python v1 · immutable
#1505445 ·published 2009-07-24 06:47 UTC
rendered paste body
def dec_log(self, base=10):	cur_prec = getcontext().prec	getcontext().prec += 2	baseDec = Decimal(10)	retValue = self	if isinstance(base, Decimal):		baseDec = base	elif isinstance(base, float):		baseDec = Decimal("%f" % (base))	else:		baseDec = Decimal(base)	integer_part = Decimal(0)	while retValue < 1:		integer_part = integer_part - 1		retValue = retValue * baseDec	while retValue >= baseDec:		integer_part = integer_part + 1		retValue = retValue / baseDec	retValue = retValue ** 10	decimal_frac = Decimal(0)	partial_part = Decimal(1)	while cur_prec > 0:		partial_part = partial_part / Decimal(10)		digit = Decimal(0)		while retValue >= baseDec:			digit += 1			retValue = retValue / baseDec		decimal_frac = decimal_frac + digit * partial_part		retValue = retValue ** 10		cur_prec -= 1	getcontext().prec -= 2	return integer_part + decimal_frac