summaryrefslogtreecommitdiff
path: root/asl/base/float_tests.cpp
blob: 05ff467870661ef8731ec456a0d3d67cfb703070 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright 2025 Steven Le Rouzic
//
// SPDX-License-Identifier: BSD-3-Clause

#include "asl/base/float.hpp"

#include "asl/testing/testing.hpp"

ASL_TEST(is_infinity)
{
    ASL_TEST_EXPECT(!asl::is_infinity(0.0F));
    ASL_TEST_EXPECT(!asl::is_infinity(-25.0F));
    ASL_TEST_EXPECT(asl::is_infinity(45.0F / 0.0F));
    ASL_TEST_EXPECT(asl::is_infinity(-45.0F / 0.0F));
    ASL_TEST_EXPECT(asl::is_infinity(asl::infinity<float>()));
    ASL_TEST_EXPECT(asl::is_infinity(-asl::infinity<double>()));
}

ASL_TEST(is_nan)
{
    ASL_TEST_EXPECT(!asl::is_nan(0.0F));
    ASL_TEST_EXPECT(!asl::is_nan(-25.0F));
    ASL_TEST_EXPECT(!asl::is_nan(45.0F / 0.0F));
    ASL_TEST_EXPECT(asl::is_nan(asl::nan<float>()));
    ASL_TEST_EXPECT(asl::is_nan(asl::nan<double>()));
}