master
 1//===-- 128-bit signed and unsigned int types -------------------*- C++ -*-===//
 2//
 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 4// See https://llvm.org/LICENSE.txt for license information.
 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 6//
 7//===----------------------------------------------------------------------===//
 8
 9#ifndef LLVM_LIBC_SRC___SUPPORT_UINT128_H
10#define LLVM_LIBC_SRC___SUPPORT_UINT128_H
11
12#include "big_int.h"
13#include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
14
15#ifdef LIBC_TYPES_HAS_INT128
16using UInt128 = __uint128_t;
17using Int128 = __int128_t;
18#else
19using UInt128 = LIBC_NAMESPACE::UInt<128>;
20using Int128 = LIBC_NAMESPACE::Int<128>;
21#endif // LIBC_TYPES_HAS_INT128
22
23#endif // LLVM_LIBC_SRC___SUPPORT_UINT128_H