11#include <mlir/CAPI/IR.h>
12#include <mlir/CAPI/Support.h>
13#include <llvm/ADT/TypeSwitch.h>
20 return llvm::isa<FeltConstAttr>(unwrap(inp));
25 return wrap(FeltConstAttr::get(unwrap(ctx), unwrap(value), ::llvm::cast<FeltType>(unwrap(type))));
29 return wrap(llvm::cast<FeltConstAttr>(unwrap(inp)).getValue());
33 return wrap(llvm::cast<FeltConstAttr>(unwrap(inp)).getType());
37 return wrap(llvm::cast<FeltConstAttr>(unwrap(inp)).getFieldName());
41 return llvm::isa<FieldSpecAttr>(unwrap(inp));
46 return wrap(FieldSpecAttr::get(unwrap(ctx), unwrap(fieldName), unwrap(prime)));
50 return wrap(llvm::cast<FieldSpecAttr>(unwrap(inp)).getFieldName());
54 return wrap(llvm::cast<FieldSpecAttr>(unwrap(inp)).getPrime());
MlirAttribute llzkFelt_FeltConstAttrGet(MlirContext ctx, int64_t value, MlirType type)
Create a llzk::felt::FeltConstAttr Attribute with the given parameters.
MlirType llzkFelt_FeltConstAttrGetType(MlirAttribute inp)
Get 'type' parameter from a llzk::felt::FeltConstAttr Attribute.
int64_t llzkFelt_FieldSpecAttrGetPrime(MlirAttribute inp)
Get 'prime' parameter from a llzk::felt::FieldSpecAttr Attribute.
MlirAttribute llzkFelt_FieldSpecAttrGet(MlirContext ctx, MlirIdentifier fieldName, int64_t prime)
Create a llzk::felt::FieldSpecAttr Attribute with the given parameters.
bool llzkAttributeIsA_Felt_FieldSpecAttr(MlirAttribute inp)
Returns true if the Attribute is a llzk::felt::FieldSpecAttr.
bool llzkAttributeIsA_Felt_FeltConstAttr(MlirAttribute inp)
Returns true if the Attribute is a llzk::felt::FeltConstAttr.
MlirIdentifier llzkFelt_FeltConstAttrGetFieldName(MlirAttribute inp)
Returns the field name from the stored FeltType, or a null StringAttr if no type is stored.
int64_t llzkFelt_FeltConstAttrGetValue(MlirAttribute inp)
Get 'value' parameter from a llzk::felt::FeltConstAttr Attribute.
MlirIdentifier llzkFelt_FieldSpecAttrGetFieldName(MlirAttribute inp)
Get 'fieldName' parameter from a llzk::felt::FieldSpecAttr Attribute.