本文整理汇总了Python中sympy.mpmath.libmp.mpf_abs函数的典型用法代码示例。如果您正苦于以下问题:Python mpf_abs函数的具体用法?Python mpf_abs怎么用?Python mpf_abs使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了mpf_abs函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: evalf_log
def evalf_log(expr, prec, options):
arg = expr.args[0]
workprec = prec + 10
xre, xim, xacc, _ = evalf(arg, workprec, options)
if xim:
# XXX: use get_abs etc instead
re = evalf_log(
C.log(C.Abs(arg, evaluate=False), evaluate=False), prec, options)
im = mpf_atan2(xim, xre or fzero, prec)
return re[0], im, re[2], prec
imaginary_term = (mpf_cmp(xre, fzero) < 0)
re = mpf_log(mpf_abs(xre), prec, rnd)
size = fastlog(re)
if prec - size > workprec:
# We actually need to compute 1+x accurately, not x
arg = C.Add(S.NegativeOne, arg, evaluate=False)
xre, xim, _, _ = evalf_add(arg, prec, options)
prec2 = workprec - fastlog(xre)
# xre is now x - 1 so we add 1 back here to calculate x
re = mpf_log(mpf_abs(mpf_add(xre, fone, prec2)), prec, rnd)
re_acc = prec
if imaginary_term:
return re, mpf_pi(prec), re_acc, prec
else:
return re, None, re_acc, None
示例2: _set_mpc
def _set_mpc(self, val):
prec, rounding = self.context._prec_rounding
tol = self.context.tol
# norm = mpc_abs(val, prec, rounding)
# tol = mpf_max(tol, mpf_mul(norm, tol))
re, im = val
if mpf_lt(mpf_abs(re, prec, rounding), tol):
re = fzero
if mpf_lt(mpf_abs(im, prec, rounding), tol):
im = fzero
self.__mpc__ = (re, im)
示例3: get_abs
def get_abs(expr, prec, options):
re, im, re_acc, im_acc = evalf(expr, prec+2, options)
if not re:
re, re_acc, im, im_acc = im, im_acc, re, re_acc
if im:
return libmp.mpc_abs((re, im), prec), None, re_acc, None
else:
return mpf_abs(re), None, re_acc, None
示例4: _set_mpf
def _set_mpf(self, val):
prec, rounding = self.context._prec_rounding
tol = self.context.tol
if mpf_lt(mpf_abs(val, prec, rounding), tol):
self.__mpf__ = fzero
else:
self.__mpf__ = val
示例5: __abs__
def __abs__(self):
return Real._new(mlib.mpf_abs(self._mpf_), self._prec)