llvm/libc/test/src/__support/big_int_test.cpp

//===-- Unittests for the UInt integer class ------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "src/__support/CPP/optional.h"
#include "src/__support/big_int.h"
#include "src/__support/integer_literals.h"        // parse_unsigned_bigint
#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128

#include "hdr/math_macros.h" // HUGE_VALF, HUGE_VALF
#include "test/UnitTest/Test.h"

namespace LIBC_NAMESPACE_DECL {

enum Value {};

template <typename T> auto create(Value value) {}

Types;

#define ASSERT_SAME(A, B)

TYPED_TEST(LlvmLibcUIntClassTest, Additions, Types) {}

TYPED_TEST(LlvmLibcUIntClassTest, Subtraction, Types) {}

TYPED_TEST(LlvmLibcUIntClassTest, Multiplication, Types) {}

template <typename T> void print(const char *msg, T value) {}

TEST(LlvmLibcUIntClassTest, SignedAddSub) {}

TEST(LlvmLibcUIntClassTest, SignedMulDiv) {}

TYPED_TEST(LlvmLibcUIntClassTest, Division, Types) {}

TYPED_TEST(LlvmLibcUIntClassTest, is_neg, Types) {}

TYPED_TEST(LlvmLibcUIntClassTest, Masks, Types) {}

TYPED_TEST(LlvmLibcUIntClassTest, CountBits, Types) {}

LL_UInt16;
LL_UInt64;
// We want to test UInt<128> explicitly. So, for
// convenience, we use a sugar which does not conflict with the UInt128 type
// which can resolve to __uint128_t if the platform has it.
LL_UInt128;
LL_UInt192;
LL_UInt256;
LL_UInt320;
LL_UInt512;
LL_UInt1024;

LL_Int128;
LL_Int192;

TEST(LlvmLibcUIntClassTest, BitCastToFromDouble) {}

#ifdef LIBC_TYPES_HAS_INT128
TEST(LlvmLibcUIntClassTest, BitCastToFromNativeUint128) {}
#endif // LIBC_TYPES_HAS_INT128

#ifdef LIBC_TYPES_HAS_FLOAT128
TEST(LlvmLibcUIntClassTest, BitCastToFromNativeFloat128) {}
#endif // LIBC_TYPES_HAS_FLOAT128

#ifdef LIBC_TYPES_HAS_FLOAT16
TEST(LlvmLibcUIntClassTest, BitCastToFromNativeFloat16) {}
#endif // LIBC_TYPES_HAS_FLOAT16

TEST(LlvmLibcUIntClassTest, BasicInit) {}

TEST(LlvmLibcUIntClassTest, AdditionTests) {}

TEST(LlvmLibcUIntClassTest, SubtractionTests) {}

TEST(LlvmLibcUIntClassTest, MultiplicationTests) {}

TEST(LlvmLibcUIntClassTest, DivisionTests) {}

TEST(LlvmLibcUIntClassTest, ModuloTests) {}

TEST(LlvmLibcUIntClassTest, PowerTests) {}

TEST(LlvmLibcUIntClassTest, ShiftLeftTests) {}

TEST(LlvmLibcUIntClassTest, ShiftRightTests) {}

TEST(LlvmLibcUIntClassTest, AndTests) {}

TEST(LlvmLibcUIntClassTest, OrTests) {}

TEST(LlvmLibcUIntClassTest, CompoundAssignments) {}

TEST(LlvmLibcUIntClassTest, UnaryPredecrement) {}

TEST(LlvmLibcUIntClassTest, EqualsTests) {}

TEST(LlvmLibcUIntClassTest, ComparisonTests) {}

TEST(LlvmLibcUIntClassTest, FullMulTests) {}

#define TEST_QUICK_MUL_HI(Bits, Error)

TEST(LlvmLibcUIntClassTest, QuickMulHiTests) {}

TEST(LlvmLibcUIntClassTest, ConstexprInitTests) {}

#define TEST_QUICK_DIV_UINT32_POW2(x, e)

TEST(LlvmLibcUIntClassTest, DivUInt32TimesPow2Tests) {}

TEST(LlvmLibcUIntClassTest, ComparisonInt128Tests) {}

TEST(LlvmLibcUIntClassTest, BasicArithmeticInt128Tests) {}

#ifdef LIBC_TYPES_HAS_INT128

TEST(LlvmLibcUIntClassTest, ConstructorFromUInt128Tests) {}

TEST(LlvmLibcUIntClassTest, WordTypeUInt128Tests) {}

#endif // LIBC_TYPES_HAS_INT128

TEST(LlvmLibcUIntClassTest, OtherWordTypeTests) {}

} // namespace LIBC_NAMESPACE_DECL