C Macro isinf - sonkoni/Koni-Wiki GitHub Wiki

math.h

isinf

μ‹€μˆ˜κ°€ λ¬΄ν•œλŒ€μΈμ§€ κ²€μ‚¬ν•˜λŠ” 맀크둜 ν•¨μˆ˜

#define isinf(arg)      // math.h
// arg - floating point value
// μΈμžκ°€ λ¬΄ν•œλŒ€κ°€ 맞으면 `0이 μ•„λ‹Œ 수`λ₯Ό λ°˜ν™˜, λ¬΄ν•œλŒ€κ°€ μ•„λ‹ˆλ©΄ `0`을 λ°˜ν™˜.
  • λ³€μˆ˜λ₯Ό INFINITY와 == 둜 λΉ„κ΅ν•˜κ±°λ‚˜ isinfλ₯Ό μ‚¬μš©ν•˜μ—¬ 값이 λ¬΄ν•œλŒ€μΈμ§€ 검사할 수 μžˆλ‹€.
#include <stdio.h>
#include <math.h>
#include <float.h>

int main(int argc, char *argv[]) {
    // INFINITY λŠ” float 이닀.
    printf("=> %f size:%zu\n", INFINITY, sizeof(INFINITY));
    printf("isinf(NAN)         = %d\n", isinf(NAN));
    printf("isinf(INFINITY)    = %d\n", isinf(INFINITY));
    printf("isinf(0.0)         = %d\n", isinf(0.0));

    // μ΄λ ‡κ²Œ λ‹¨μˆœ 비ꡐ해도 λœλ‹€.
    float num = FLT_MAX * 1000.f;
    if (num == INFINITY) {
        printf("1. num is INFINITY\n");
    }

    // ν•¨μˆ˜λ‘œ 비ꡐ해도 λœλ‹€.
    if (isinf(num)) {
        printf("2. num is INFINITY\n");
    }

    return 0;
}

// => inf size:4
// isinf(NAN)         = 0
// isinf(INFINITY)    = 1
// isinf(0.0)         = 0
// 1. num is INFINITY
// 2. num is INFINITY
⚠️ **GitHub.com Fallback** ⚠️