1//===-- Attrs.td -------------------------------------------*- tablegen -*-===//
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
8//===----------------------------------------------------------------------===//
10#ifndef LLZK_FELT_ATTRS
11#define LLZK_FELT_ATTRS
13include "llzk/Dialect/Felt/IR/Dialect.td"
14include "llzk/Dialect/LLZK/IR/AttributeHelper.td"
16include "mlir/IR/AttrTypeBase.td"
17include "mlir/IR/BuiltinAttributeInterfaces.td"
20 : AttrDef<FeltDialect, "FeltConst", [TypedAttrInterface]> {
21 let mnemonic = "felt.const";
22 let summary = "finite field element";
24 A felt attribute represents a finite field element.
27 let parameters = (ins APIntParameter<"The felt constant value">:$value);
29 let assemblyFormat = [{ $value }];
31 let extraClassDeclaration = [{
32 ::mlir::Type getType() const;
36#endif // LLZK_FELT_ATTRS