LLZK 2.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Ops.capi.test.cpp.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Op C API Tests *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: Ops.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10class ConstrainOperationLinkTests : public CAPITest {};
11
13TEST_F(ConstrainOperationLinkTests, IsA_Constrain_EmitContainmentOp) {
14 auto testOperation = createIndexOperation();
15
16 // This will always return false since `createIndex*` returns an MLIR builtin
17 EXPECT_FALSE(llzkOperationIsA_Constrain_EmitContainmentOp(testOperation));
18
19 mlirOperationDestroy(testOperation);
20}
21
23TEST_F(ConstrainOperationLinkTests, llzk_EmitContainmentOp_Build) {
24 // Returns an `arith.constant` op, which will never match the EmitContainmentOp dialect check.
25 auto testOp = createIndexOperation();
26
27 // This condition is always false, so the function is never actually called.
28 // We only verify it compiles and links correctly.
30 MlirOpBuilder builder = mlirOpBuilderCreate(context);
31 MlirLocation location = mlirLocationUnknownGet(context);
32 auto dummyValue = mlirOperationGetResult(testOp, 0);
33
34 (void)llzkConstrain_EmitContainmentOpBuild(builder, location, dummyValue, dummyValue);
35 // No need to destroy builder or op since this code never runs.
36 }
37
38 mlirOperationDestroy(testOp);
39}
40
41struct EmitContainmentOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
42 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Constrain_EmitContainmentOp(op); }
46 static std::unique_ptr<EmitContainmentOpBuildFuncHelper> get();
47
48protected:
50};
51
54TEST_F(CAPITest, EmitContainmentOp_build_pass) { EmitContainmentOpBuildFuncHelper::get()->run(*this); }
55
56TEST_F(ConstrainOperationLinkTests, llzk_EmitContainmentOp_GetLhs) {
57 auto testOp = createIndexOperation();
58
61 }
62
63 mlirOperationDestroy(testOp);
64}
65
66TEST_F(ConstrainOperationLinkTests, llzk_EmitContainmentOp_SetLhs) {
67 auto testOp = createIndexOperation();
68
70 auto dummyValue = mlirOperationGetResult(testOp, 0);
71 llzkConstrain_EmitContainmentOpSetLhs(testOp, dummyValue);
72 }
73
74 mlirOperationDestroy(testOp);
75}
76
77TEST_F(ConstrainOperationLinkTests, llzk_EmitContainmentOp_GetRhs) {
78 auto testOp = createIndexOperation();
79
82 }
83
84 mlirOperationDestroy(testOp);
85}
86
87TEST_F(ConstrainOperationLinkTests, llzk_EmitContainmentOp_SetRhs) {
88 auto testOp = createIndexOperation();
89
91 auto dummyValue = mlirOperationGetResult(testOp, 0);
92 llzkConstrain_EmitContainmentOpSetRhs(testOp, dummyValue);
93 }
94
95 mlirOperationDestroy(testOp);
96}
97
99TEST_F(ConstrainOperationLinkTests, IsA_Constrain_EmitEqualityOp) {
100 auto testOperation = createIndexOperation();
101
102 // This will always return false since `createIndex*` returns an MLIR builtin
103 EXPECT_FALSE(llzkOperationIsA_Constrain_EmitEqualityOp(testOperation));
104
105 mlirOperationDestroy(testOperation);
106}
107
109TEST_F(ConstrainOperationLinkTests, llzk_EmitEqualityOp_Build) {
110 // Returns an `arith.constant` op, which will never match the EmitEqualityOp dialect check.
111 auto testOp = createIndexOperation();
112
113 // This condition is always false, so the function is never actually called.
114 // We only verify it compiles and links correctly.
116 MlirOpBuilder builder = mlirOpBuilderCreate(context);
117 MlirLocation location = mlirLocationUnknownGet(context);
118 auto dummyValue = mlirOperationGetResult(testOp, 0);
119
120 (void)llzkConstrain_EmitEqualityOpBuild(builder, location, dummyValue, dummyValue);
121 // No need to destroy builder or op since this code never runs.
122 }
123
124 mlirOperationDestroy(testOp);
125}
126
127struct EmitEqualityOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
128 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Constrain_EmitEqualityOp(op); }
132 static std::unique_ptr<EmitEqualityOpBuildFuncHelper> get();
133
134protected:
136};
137
140TEST_F(CAPITest, EmitEqualityOp_build_pass) { EmitEqualityOpBuildFuncHelper::get()->run(*this); }
141
142TEST_F(ConstrainOperationLinkTests, llzk_EmitEqualityOp_GetLhs) {
143 auto testOp = createIndexOperation();
144
147 }
148
149 mlirOperationDestroy(testOp);
150}
151
152TEST_F(ConstrainOperationLinkTests, llzk_EmitEqualityOp_SetLhs) {
153 auto testOp = createIndexOperation();
154
156 auto dummyValue = mlirOperationGetResult(testOp, 0);
157 llzkConstrain_EmitEqualityOpSetLhs(testOp, dummyValue);
158 }
159
160 mlirOperationDestroy(testOp);
161}
162
163TEST_F(ConstrainOperationLinkTests, llzk_EmitEqualityOp_GetRhs) {
164 auto testOp = createIndexOperation();
165
168 }
169
170 mlirOperationDestroy(testOp);
171}
172
173TEST_F(ConstrainOperationLinkTests, llzk_EmitEqualityOp_SetRhs) {
174 auto testOp = createIndexOperation();
175
177 auto dummyValue = mlirOperationGetResult(testOp, 0);
178 llzkConstrain_EmitEqualityOpSetRhs(testOp, dummyValue);
179 }
180
181 mlirOperationDestroy(testOp);
182}
TEST_F(ArrayOperationLinkTests, IsA_Array_ArrayLengthOp)
This test ensures llzkOperationIsA_Array_ArrayLengthOp links properly.
MlirOpBuilder mlirOpBuilderCreate(MlirContext ctx)
Creates a new OpBuilder for the given MLIR context.
Definition Builder.cpp:62
bool llzkOperationIsA_Constrain_EmitEqualityOp(MlirOperation inp)
Returns true if the Operation is a llzk::constrain::EmitEqualityOp.
bool llzkOperationIsA_Constrain_EmitContainmentOp(MlirOperation inp)
Returns true if the Operation is a llzk::constrain::EmitContainmentOp.
MlirValue llzkConstrain_EmitEqualityOpGetLhs(MlirOperation op)
Get Lhs operand from llzk::constrain::EmitEqualityOp Operation.
MlirValue llzkConstrain_EmitContainmentOpGetLhs(MlirOperation op)
Get Lhs operand from llzk::constrain::EmitContainmentOp Operation.
void llzkConstrain_EmitEqualityOpSetLhs(MlirOperation op, MlirValue value)
Set Lhs operand of llzk::constrain::EmitEqualityOp Operation.
MlirOperation llzkConstrain_EmitEqualityOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue lhs, MlirValue rhs)
Build a llzk::constrain::EmitEqualityOp Operation.
void llzkConstrain_EmitEqualityOpSetRhs(MlirOperation op, MlirValue value)
Set Rhs operand of llzk::constrain::EmitEqualityOp Operation.
MlirOperation llzkConstrain_EmitContainmentOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue lhs, MlirValue rhs)
Build a llzk::constrain::EmitContainmentOp Operation.
MlirValue llzkConstrain_EmitEqualityOpGetRhs(MlirOperation op)
Get Rhs operand from llzk::constrain::EmitEqualityOp Operation.
void llzkConstrain_EmitContainmentOpSetLhs(MlirOperation op, MlirValue value)
Set Lhs operand of llzk::constrain::EmitContainmentOp Operation.
void llzkConstrain_EmitContainmentOpSetRhs(MlirOperation op, MlirValue value)
Set Rhs operand of llzk::constrain::EmitContainmentOp Operation.
MlirValue llzkConstrain_EmitContainmentOpGetRhs(MlirOperation op)
Get Rhs operand from llzk::constrain::EmitContainmentOp Operation.
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< EmitContainmentOpBuildFuncHelper > get()
This method must be implemented to return a subclass of EmitContainmentOpBuildFuncHelper that at leas...
static std::unique_ptr< EmitEqualityOpBuildFuncHelper > get()
This method must be implemented to return a subclass of EmitEqualityOpBuildFuncHelper that at least i...
virtual bool callIsA(MlirOperation op) override