Функция math.IsInf

Функция math.IsInf проверяет, является ли число с плавающей точкой бесконечностью. В первый параметр мы передаем число типа float64 для проверки, во второй параметр мы передаем целочисленный флаг sign, который определяет, какую именно бесконечность нужно проверить: если sign больше нуля, функция проверяет положительную бесконечность, если sign меньше нуля — отрицательную, если sign равен нулю — любую бесконечность.

Синтаксис

gomath.IsInf(f float64, sign int) bool

Пример

Давайте проверим, является ли результат деления на ноль положительной бесконечностью:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  f := 1.0 / 0.0
  res := math.IsInf(f, 1)
  fmt.Println(res)
}

Результат выполнения кода:

gotrue

Пример

Давайте проверим, является ли результат деления на ноль отрицательной бесконечностью:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  f := -1.0 / 0.0
  res := math.IsInf(f, -1)
  fmt.Println(res)
}

Результат выполнения кода:

gotrue

Пример

Давайте проверим, является ли число любой бесконечностью с флагом sign равным нулю:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  positiveInf := 1.0 / 0.0
  negativeInf := -1.0 / 0.0
  normal := 42.0

  fmt.Println(math.IsInf(positiveInf, 0))
  fmt.Println(math.IsInf(negativeInf, 0))
  fmt.Println(math.IsInf(normal, 0))
}

Результат выполнения кода:

gotrue
true
false

Смотрите также

  • функцию math.IsNaN,
    которая проверяет, является ли число значением NaN
  • функцию math.Inf,
    которая возвращает бесконечность с заданным знаком
  • функцию math.Signbit,
    которая возвращает знак числа
  • функцию math.NaN,
    которая возвращает значение NaN