[Mlir-commits] [mlir] [MLIR][Presburger] Definitions for basic functions related to cones (PR #76650)

Arjun P llvmlistbot at llvm.org
Thu Jan 4 05:05:29 PST 2024


================
@@ -0,0 +1,69 @@
+//===- Barvinok.h - Barvinok's Algorithm ------------------------*- C++ -*-===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+//
+// Functions relating to Barvinok's algorithm.
+// These include functions to manipulate cones (define a cone object, get its
+// dual, and find its index).
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_ANALYSIS_PRESBURGER_BARVINOK_H
+#define MLIR_ANALYSIS_PRESBURGER_BARVINOK_H
+
+#include "mlir/Analysis/Presburger/IntegerRelation.h"
+#include "mlir/Analysis/Presburger/Matrix.h"
+#include <optional>
+
+namespace mlir {
+namespace presburger {
+
+// A polyhedron in H-representation is a set of inequalities
+// in d variables with integer coefficients.
+using PolyhedronH = IntegerRelation;
----------------
Superty wrote:

These all look like functions internal to barvinok. Do they need to be exposed to the user here? Maybe put them in a `namespace detail` for now.

https://github.com/llvm/llvm-project/pull/76650


More information about the Mlir-commits mailing list