LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
DynamicAPIntHelper.h
Go to the documentation of this file.
1//===-- DynamicAPIntHelper.h ------------------------------------*- C++ -*-===//
2//
3// Part of the LLZK Project, under the Apache License v2.0.
4// See LICENSE.txt for license information.
5// Copyright 2025 Veridise Inc.
6// SPDX-License-Identifier: Apache-2.0
7//
8//===----------------------------------------------------------------------===//
17//===----------------------------------------------------------------------===//
18
19#pragma once
20
21#include <llvm/ADT/APInt.h>
22#include <llvm/ADT/APSInt.h>
23#include <llvm/ADT/DynamicAPInt.h>
24#include <llvm/ADT/SlowDynamicAPInt.h>
25#include <llvm/ADT/StringRef.h>
26
27namespace llzk {
28
29llvm::DynamicAPInt operator&(const llvm::DynamicAPInt &lhs, const llvm::DynamicAPInt &rhs);
30llvm::DynamicAPInt operator|(const llvm::DynamicAPInt &lhs, const llvm::DynamicAPInt &rhs);
31llvm::DynamicAPInt operator^(const llvm::DynamicAPInt &lhs, const llvm::DynamicAPInt &rhs);
32llvm::DynamicAPInt operator<<(const llvm::DynamicAPInt &lhs, const llvm::DynamicAPInt &rhs);
33llvm::DynamicAPInt operator>>(const llvm::DynamicAPInt &lhs, const llvm::DynamicAPInt &rhs);
34
35llvm::DynamicAPInt toDynamicAPInt(llvm::StringRef str);
36
37llvm::DynamicAPInt toDynamicAPInt(const llvm::APSInt &i);
38
39inline llvm::DynamicAPInt toDynamicAPInt(const llvm::APInt &i) {
40 return toDynamicAPInt(llvm::APSInt(i));
41}
42
43llvm::APSInt toAPSInt(const llvm::DynamicAPInt &i);
44
45} // namespace llzk
DynamicAPInt toDynamicAPInt(StringRef str)
Interval operator<<(const Interval &lhs, const Interval &rhs)
DynamicAPInt operator|(const DynamicAPInt &lhs, const DynamicAPInt &rhs)
Interval operator>>(const Interval &lhs, const Interval &rhs)
Interval operator&(const Interval &lhs, const Interval &rhs)
APSInt toAPSInt(const DynamicAPInt &i)
DynamicAPInt operator^(const DynamicAPInt &lhs, const DynamicAPInt &rhs)