17#include <mlir/CAPI/Registration.h>
18#include <mlir/CAPI/Wrap.h>
25 return wrap(FeltConstAttr::get(unwrap(ctx),
llzk::toAPInt(value)));
29 return wrap(FeltConstAttr::get(unwrap(ctx), llvm::APInt(numBits, value)));
33 return wrap(FeltConstAttr::get(unwrap(ctx), numBits, unwrap(str)));
37 MlirContext context,
unsigned numBits,
const uint64_t *parts, intptr_t nParts
39 return wrap(FeltConstAttr::get(unwrap(context), numBits, llvm::ArrayRef(parts, nParts)));
43 return llvm::isa<FeltConstAttr>(unwrap(attr));
MlirAttribute llzkFeltConstAttrGet(MlirContext ctx, int64_t value)
Creates a llzk::felt::FeltConstAttr.
MlirAttribute llzkFeltConstAttrGetFromParts(MlirContext context, unsigned numBits, const uint64_t *parts, intptr_t nParts)
Creates a llzk::felt::FeltConstAttr from an array of big-integer parts in LSB order.
MlirType llzkFeltTypeGet(MlirContext ctx)
Creates a llzk::felt::FeltType.
bool llzkTypeIsAFeltType(MlirType type)
bool llzkAttributeIsAFeltConstAttr(MlirAttribute attr)
MlirAttribute llzkFeltConstAttrGetWithBits(MlirContext ctx, unsigned numBits, int64_t value)
Creates a llzk::felt::FeltConstAttr with a set bit length.
MlirAttribute llzkFeltConstAttrGetFromString(MlirContext ctx, unsigned numBits, MlirStringRef str)
Creates a llzk::felt::FeltConstAttr from a base-10 representation of a number.
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(Polymorphic, llzk__polymorphic, llzk::polymorphic::PolymorphicDialect) MlirType llzkTypeVarTypeGet(MlirContext ctx
::llzk::felt::FeltType get(::mlir::MLIRContext *context)
llvm::APInt toAPInt(int64_t i)