當前位置: 首頁>>代碼示例>>Python>>正文


Python math.isfinite方法代碼示例

本文整理匯總了Python中math.isfinite方法的典型用法代碼示例。如果您正苦於以下問題:Python math.isfinite方法的具體用法?Python math.isfinite怎麽用?Python math.isfinite使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在math的用法示例。


在下文中一共展示了math.isfinite方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: coerce_output

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def coerce_output(self, value: Any) -> float:
        """
        Coerce the resolved value for output.
        :param value: value to coerce
        :type value: Any
        :return: the coerced value
        :rtype: float
        """
        # pylint: disable=no-self-use
        try:
            result = value
            if value and isinstance(value, str):
                result = float(value)

            if not isfinite(result):
                raise ValueError

            return result if isinstance(result, float) else float(result)
        except Exception:  # pylint: disable=broad-except
            pass

        raise TypeError(
            f"Float cannot represent non numeric value: < {value} >."
        ) 
開發者ID:tartiflette,項目名稱:tartiflette,代碼行數:26,代碼來源:float.py

示例2: coerce_input

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def coerce_input(self, value: Any) -> float:
        """
        Coerce the user input from variable value.
        :param value: value to coerce
        :type value: Any
        :return: the coerced value
        :rtype: float
        """
        # pylint: disable=no-self-use
        # ¯\_(ツ)_/¯ booleans are int: `assert isinstance(True, int) is True`
        try:
            if not isinstance(value, bool) and isfinite(value):
                return float(value)
        except Exception:  # pylint: disable=broad-except
            pass
        raise TypeError(
            f"Float cannot represent non numeric value: < {value} >."
        ) 
開發者ID:tartiflette,項目名稱:tartiflette,代碼行數:20,代碼來源:float.py

示例3: coerce_output

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def coerce_output(self, value: Any) -> bool:
        """
        Coerce the resolved value for output.
        :param value: value to coerce
        :type value: Any
        :return: the coerced value
        :rtype: bool
        """
        # pylint: disable=no-self-use
        if isinstance(value, bool):
            return value

        try:
            if isfinite(value):
                return bool(value)
        except Exception:  # pylint: disable=broad-except
            pass
        raise TypeError(
            f"Boolean cannot represent a non boolean value: < {value} >."
        ) 
開發者ID:tartiflette,項目名稱:tartiflette,代碼行數:22,代碼來源:boolean.py

示例4: _number_literal_format

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def _number_literal_format(translator, expr):
    value = expr.op().value

    if math.isfinite(value):
        # Spark interprets dotted number literals as decimals, not floats.
        # i.e. "select 1.0 as tmp" is a decimal(2,1), not a float or double
        if isinstance(expr.op().dtype, dt.Float64):
            formatted = "{}d".format(repr(value))
        elif isinstance(expr.op().dtype, dt.Floating):
            formatted = "CAST({} AS FLOAT)".format(repr(value))
        else:
            formatted = repr(value)
    else:
        if math.isnan(value):
            formatted_val = 'NaN'
        elif math.isinf(value):
            if value > 0:
                formatted_val = 'Infinity'
            else:
                formatted_val = '-Infinity'
        formatted = "CAST({!r} AS DOUBLE)".format(formatted_val)

    return formatted 
開發者ID:ibis-project,項目名稱:ibis,代碼行數:25,代碼來源:compiler.py

示例5: _number_literal_format

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def _number_literal_format(translator, expr):
    value = expr.op().value

    if math.isfinite(value):
        formatted = repr(value)
    else:
        if math.isnan(value):
            formatted_val = 'NaN'
        elif math.isinf(value):
            if value > 0:
                formatted_val = 'Infinity'
            else:
                formatted_val = '-Infinity'
        formatted = "CAST({!r} AS DOUBLE)".format(formatted_val)

    return formatted 
開發者ID:ibis-project,項目名稱:ibis,代碼行數:18,代碼來源:compiler.py

示例6: defuzzify

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def defuzzify(self, term: Term, minimum: float, maximum: float) -> float:
        if not math.isfinite(minimum + maximum):
            return nan
        resolution = self.resolution
        dx = (maximum - minimum) / resolution
        counter = resolution
        left = right = 0
        x_left, x_right = (minimum, maximum)
        left_area = right_area = 0.0

        # TODO: Improve?
        while counter > 0:
            counter = counter - 1
            if left_area <= right_area:
                x_left = minimum + (left + 0.5) * dx
                left_area += term.membership(x_left)
                left += 1
            else:
                x_right = maximum - (right + 0.5) * dx
                right_area += term.membership(x_right)
                right += 1

        # Inverse weighted average to compensate
        return (left_area * x_right + right_area * x_left) / (left_area + right_area) 
開發者ID:fuzzylite,項目名稱:pyfuzzylite,代碼行數:26,代碼來源:defuzzifier.py

示例7: test_decimal_from_float

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def test_decimal_from_float(f):
    d = Decimal(f)
    if isfinite(f) and d.is_finite():
        try:
            # PDF is limited to ~5 sig figs
            decstr = str(d.quantize(Decimal('1.000000')))
        except InvalidOperation:
            return  # PDF doesn't support exponential notation
        try:
            py_d = Object.parse(decstr)
        except RuntimeError as e:
            if 'overflow' in str(e) or 'underflow' in str(e):
                py_d = Object.parse(str(f))

        assert isclose(py_d, d, abs_tol=1e-5), (d, f.hex())
    else:
        with pytest.raises(PdfError):
            Object.parse(str(d)) 
開發者ID:pikepdf,項目名稱:pikepdf,代碼行數:20,代碼來源:test_object.py

示例8: update

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def update(self, candle):
    self._adl.update(candle)
    adl = self._adl.v()

    if not isfinite(adl):
      return
    
    self._shortEMA.update(adl)
    self._longEMA.update(adl)

    short = self._shortEMA.v()
    long = self._longEMA.v()

    if (isfinite(short) and isfinite(long)):
      super().update(short - long)

    return self.v() 
開發者ID:bitfinexcom,項目名稱:bfx-hf-indicators-py,代碼行數:19,代碼來源:chaikin_oscillator.py

示例9: add

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def add(self, candle):
    self._adl.add(candle)
    adl = self._adl.v()

    if not isfinite(adl):
      return
    
    self._shortEMA.add(adl)
    self._longEMA.add(adl)

    short = self._shortEMA.v()
    long = self._longEMA.v()

    if (isfinite(short) and isfinite(long)):
      super().add(short - long)

    return self.v() 
開發者ID:bitfinexcom,項目名稱:bfx-hf-indicators-py,代碼行數:19,代碼來源:chaikin_oscillator.py

示例10: add

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def add(self, v):
    self._roc.add(v)
    roc = self._roc.v()

    if not isfinite(roc):
      return

    if len(self._buffer) == self._p:
      super().add(roc - self._buffer[0])

    self._buffer.append(roc)

    if len(self._buffer) > self._p:
      del self._buffer[0]

    return self.v() 
開發者ID:bitfinexcom,項目名稱:bfx-hf-indicators-py,代碼行數:18,代碼來源:acceleration.py

示例11: add

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def add(self, v):
    slowEMA = self._slowEMA.add(v)
    fastEMA = self._fastEMA.add(v)

    if not isfinite(slowEMA) or not isfinite(fastEMA):
      return

    macd = fastEMA - slowEMA
    signalEMA = self._signalEMA.add(macd)

    if not isfinite(signalEMA):
      return

    histogram = macd - signalEMA

    super().add({
      'macd': macd,
      'signal': signalEMA,
      'histogram': histogram
    })

    return self.v() 
開發者ID:bitfinexcom,項目名稱:bfx-hf-indicators-py,代碼行數:24,代碼來源:macd.py

示例12: update

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def update(self, v):
    if self._prevInputValue == None:
      return self.v()

    self._stddev.update(v)
    stddev = self._stddev.v()

    if not isfinite(stddev):
      return self.v()
    
    [u, d] = RVI.ud(v, self._prevInputValue, stddev)

    self._uEMA.update(u)
    self._dEMA.update(d)

    uSum = self._uEMA.v()
    dSum = self._dEMA.v()

    if uSum == dSum:
      return super().update(0)
    else:
      return super().update(100 * (uSum / (uSum + dSum))) 
開發者ID:bitfinexcom,項目名稱:bfx-hf-indicators-py,代碼行數:24,代碼來源:relative_volatility_index.py

示例13: rvs

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def rvs(self) -> float:
        """
        Will return a float value in the specified range as specified at creation.

        :return: a float.
        """
        if self.hard_clip_min is None and self.hard_clip_max is None:
            result = float(np.random.normal(self._mean, self._std))
        else:
            a = -np.inf
            b = np.inf

            if self.hard_clip_min is not None:
                a = (self.hard_clip_min - self._mean) / self._std

            if self.hard_clip_max is not None:
                b = (self.hard_clip_max - self._mean) / self._std

            result = truncnorm.rvs(a=a, b=b, loc=self._mean, scale=self._std)

        if not math.isfinite(result):
            return self.rvs()
        return float(result) 
開發者ID:Neuraxio,項目名稱:Neuraxle,代碼行數:25,代碼來源:distributions.py

示例14: intersection

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def intersection(p1, p2, q1, q2, ret):
        px = p1.y - p2.y
        py = p2.x - p1.x
        pw = p1.x * p2.y - p2.x * p1.y
        
        qx = q1.y - q2.y
        qy = q2.x - q1.x
        qw = q1.x * q2.y - q2.x * q1.y

        x = py * qw - qy * pw
        y = qx * pw - px * qw
        w = px * qy - qx * py

        xInt = x / w
        yInt = y / w

        if not isfinite(xInt) or not isfinite(yInt):
            raise ArithmeticError()

        ret.x, ret.y = xInt, yInt 
開發者ID:s-leger,項目名稱:archipack,代碼行數:22,代碼來源:algorithms.py

示例15: mean_average_precision_score

# 需要導入模塊: import math [as 別名]
# 或者: from math import isfinite [as 別名]
def mean_average_precision_score(gold, pred, callback=None):
    total, count = 0., 0

    for question in gold.values():
        if question.id in pred:
            ranks = compute_ranks(list(question.explanations), pred[question.id])

            score = average_precision(ranks)

            if not math.isfinite(score):
                score = 0.

            total += score
            count += 1

            if callback:
                callback(question.id, score)

    mean_ap = total / count if count > 0 else 0.

    return mean_ap 
開發者ID:umanlp,項目名稱:tg2019task,代碼行數:23,代碼來源:evaluate.py


注:本文中的math.isfinite方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。