@@ -39,13 +39,13 @@ def Polynomial_Dialect : Dialect {
39
39
%a = polynomial.constant <1 + x**2 - 3x**3> : polynomial.polynomial<#ring>
40
40
41
41
// A constant polynomial in a ring with i32 coefficients, modulo (x^1024 + 1)
42
- #modulus = #polynomial.polynomial <1 + x**1024>
42
+ #modulus = #polynomial.int_polynomial <1 + x**1024>
43
43
#ring = #polynomial.ring<coefficientType=i32, polynomialModulus=#modulus>
44
44
%a = polynomial.constant <1 + x**2 - 3x**3> : polynomial.polynomial<#ring>
45
45
46
46
// A constant polynomial in a ring with i32 coefficients, with a polynomial
47
47
// modulus of (x^1024 + 1) and a coefficient modulus of 17.
48
- #modulus = #polynomial.polynomial <1 + x**1024>
48
+ #modulus = #polynomial.int_polynomial <1 + x**1024>
49
49
#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=17:i32, polynomialModulus=#modulus>
50
50
%a = polynomial.constant <1 + x**2 - 3x**3> : polynomial.polynomial<#ring>
51
51
```
@@ -126,7 +126,7 @@ def Polynomial_RingAttr : Polynomial_Attr<"Ring", "ring"> {
126
126
`x**1024 - 1`.
127
127
128
128
```mlir
129
- #poly_mod = #polynomial.polynomial <-1 + x**1024>
129
+ #poly_mod = #polynomial.int_polynomial <-1 + x**1024>
130
130
#ring = #polynomial.ring<coefficientType=i32,
131
131
coefficientModulus=4294967291:i32,
132
132
polynomialModulus=#poly_mod>
@@ -210,10 +210,10 @@ def Polynomial_AddOp : Polynomial_BinaryOp<"add", [Commutative]> {
210
210
211
211
```mlir
212
212
// add two polynomials modulo x^1024 - 1
213
- #poly = #polynomial.polynomial <x**1024 - 1>
213
+ #poly = #polynomial.int_polynomial <x**1024 - 1>
214
214
#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=65536:i32, polynomialModulus=#poly>
215
- %0 = polynomial.constant #polynomial.polynomial <1 + x**2> : !polynomial.polynomial<#ring>
216
- %1 = polynomial.constant #polynomial.polynomial <x**5 - x + 1> : !polynomial.polynomial<#ring>
215
+ %0 = polynomial.constant #polynomial.int_polynomial <1 + x**2> : !polynomial.polynomial<#ring>
216
+ %1 = polynomial.constant #polynomial.int_polynomial <x**5 - x + 1> : !polynomial.polynomial<#ring>
217
217
%2 = polynomial.add %0, %1 : !polynomial.polynomial<#ring>
218
218
```
219
219
}];
@@ -234,10 +234,10 @@ def Polynomial_SubOp : Polynomial_BinaryOp<"sub"> {
234
234
235
235
```mlir
236
236
// subtract two polynomials modulo x^1024 - 1
237
- #poly = #polynomial.polynomial <x**1024 - 1>
237
+ #poly = #polynomial.int_polynomial <x**1024 - 1>
238
238
#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=65536:i32, polynomialModulus=#poly>
239
- %0 = polynomial.constant #polynomial.polynomial <1 + x**2> : !polynomial.polynomial<#ring>
240
- %1 = polynomial.constant #polynomial.polynomial <x**5 - x + 1> : !polynomial.polynomial<#ring>
239
+ %0 = polynomial.constant #polynomial.int_polynomial <1 + x**2> : !polynomial.polynomial<#ring>
240
+ %1 = polynomial.constant #polynomial.int_polynomial <x**5 - x + 1> : !polynomial.polynomial<#ring>
241
241
%2 = polynomial.sub %0, %1 : !polynomial.polynomial<#ring>
242
242
```
243
243
}];
@@ -258,10 +258,10 @@ def Polynomial_MulOp : Polynomial_BinaryOp<"mul", [Commutative]> {
258
258
259
259
```mlir
260
260
// multiply two polynomials modulo x^1024 - 1
261
- #poly = #polynomial.polynomial <x**1024 - 1>
261
+ #poly = #polynomial.int_polynomial <x**1024 - 1>
262
262
#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=65536:i32, polynomialModulus=#poly>
263
- %0 = polynomial.constant #polynomial.polynomial <1 + x**2> : !polynomial.polynomial<#ring>
264
- %1 = polynomial.constant #polynomial.polynomial <x**5 - x + 1> : !polynomial.polynomial<#ring>
263
+ %0 = polynomial.constant #polynomial.int_polynomial <1 + x**2> : !polynomial.polynomial<#ring>
264
+ %1 = polynomial.constant #polynomial.int_polynomial <x**5 - x + 1> : !polynomial.polynomial<#ring>
265
265
%2 = polynomial.mul %0, %1 : !polynomial.polynomial<#ring>
266
266
```
267
267
}];
@@ -283,9 +283,9 @@ def Polynomial_MulScalarOp : Polynomial_Op<"mul_scalar", [
283
283
284
284
```mlir
285
285
// multiply two polynomials modulo x^1024 - 1
286
- #poly = #polynomial.polynomial <x**1024 - 1>
286
+ #poly = #polynomial.int_polynomial <x**1024 - 1>
287
287
#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=65536:i32, polynomialModulus=#poly>
288
- %0 = polynomial.constant #polynomial.polynomial <1 + x**2> : !polynomial.polynomial<#ring>
288
+ %0 = polynomial.constant #polynomial.int_polynomial <1 + x**2> : !polynomial.polynomial<#ring>
289
289
%1 = arith.constant 3 : i32
290
290
%2 = polynomial.mul_scalar %0, %1 : !polynomial.polynomial<#ring>, i32
291
291
```
@@ -314,9 +314,9 @@ def Polynomial_LeadingTermOp: Polynomial_Op<"leading_term"> {
314
314
Example:
315
315
316
316
```mlir
317
- #poly = #polynomial.polynomial <x**1024 - 1>
317
+ #poly = #polynomial.int_polynomial <x**1024 - 1>
318
318
#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=65536:i32, polynomialModulus=#poly>
319
- %0 = polynomial.constant #polynomial.polynomial <1 + x**2> : !polynomial.polynomial<#ring>
319
+ %0 = polynomial.constant #polynomial.int_polynomial <1 + x**2> : !polynomial.polynomial<#ring>
320
320
%1, %2 = polynomial.leading_term %0 : !polynomial.polynomial<#ring> -> (index, i32)
321
321
```
322
322
}];
@@ -337,7 +337,7 @@ def Polynomial_MonomialOp: Polynomial_Op<"monomial"> {
337
337
Example:
338
338
339
339
```mlir
340
- #poly = #polynomial.polynomial <x**1024 - 1>
340
+ #poly = #polynomial.int_polynomial <x**1024 - 1>
341
341
#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=65536:i32, polynomialModulus=#poly>
342
342
%deg = arith.constant 1023 : index
343
343
%five = arith.constant 5 : i32
@@ -377,7 +377,7 @@ def Polynomial_FromTensorOp : Polynomial_Op<"from_tensor", [Pure]> {
377
377
Example:
378
378
379
379
```mlir
380
- #poly = #polynomial.polynomial <x**1024 - 1>
380
+ #poly = #polynomial.int_polynomial <x**1024 - 1>
381
381
#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=65536:i32, polynomialModulus=#poly>
382
382
%two = arith.constant 2 : i32
383
383
%five = arith.constant 5 : i32
@@ -416,7 +416,7 @@ def Polynomial_ToTensorOp : Polynomial_Op<"to_tensor", [Pure]> {
416
416
Example:
417
417
418
418
```mlir
419
- #poly = #polynomial.polynomial <x**1024 - 1>
419
+ #poly = #polynomial.int_polynomial <x**1024 - 1>
420
420
#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=65536:i32, polynomialModulus=#poly>
421
421
%two = arith.constant 2 : i32
422
422
%five = arith.constant 5 : i32
@@ -443,9 +443,12 @@ def Polynomial_ConstantOp : Op<Polynomial_Dialect, "constant", [Pure]> {
443
443
Example:
444
444
445
445
```mlir
446
- #poly = #polynomial.polynomial <x**1024 - 1>
446
+ #poly = #polynomial.int_polynomial <x**1024 - 1>
447
447
#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=65536:i32, polynomialModulus=#poly>
448
- %0 = polynomial.constant #polynomial.polynomial<1 + x**2> : !polynomial.polynomial<#ring>
448
+ %0 = polynomial.constant #polynomial.int_polynomial<1 + x**2> : !polynomial.polynomial<#ring>
449
+
450
+ #float_ring = #polynomial.ring<coefficientType=f32>
451
+ %0 = polynomial.constant #polynomial.float_polynomial<0.5 + 1.3e06 x**2> : !polynomial.polynomial<#float_ring>
449
452
```
450
453
}];
451
454
let arguments = (ins Polynomial_AnyPolynomialAttr:$value);
0 commit comments