/llvm-project/mlir/test/Dialect/Polynomial/ |
H A D | ops.mlir | 5 #my_poly = #polynomial.int_polynomial<1 + x**1024> 6 #my_poly_2 = #polynomial.int_polynomial<2> 7 #my_poly_3 = #polynomial.int_polynomial<3x> 8 #my_poly_4 = #polynomial.int_polynomial<t**3 + 4t + 2> 9 #ring1 = #polynomial.ring<coefficientType=i32, coefficientModulus=2837465, polynomialModulus=#my_po… 10 #ring2 = #polynomial.ring<coefficientType=f32> 11 #one_plus_x_squared = #polynomial.int_polynomial<1 + x**2> 13 #ideal = #polynomial.int_polynomial<-1 + x**1024> 14 #ring = #polynomial.ring<coefficientType=i32, coefficientModulus=256, polynomialModulus=#ideal> 15 !poly_ty = !polynomial.polynomial<ring=#ring> [all …]
|
H A D | ops_errors.mlir | 3 #my_poly = #polynomial.int_polynomial<1 + x**1024> 4 #ring = #polynomial.ring<coefficientType=i16> 5 !ty = !polynomial.polynomial<ring=#ring> 12 %poly = polynomial.from_tensor %coeffs1 : tensor<2xi32> -> !ty 18 #my_poly = #polynomial.int_polynomial<1 + x**4> 19 #ring = #polynomial.ring<coefficientType=i32, coefficientModulus=256:i32, polynomialModulus=#my_pol… 20 !ty = !polynomial.polynomial<ring=#ring> 24 …r@below {{input type 'tensor<5xi32>' does not match output type '!polynomial.polynomial<ring = <co… 26 %poly = polynomial.from_tensor %coeffs1 : tensor<5xi32> -> !ty 32 #my_poly = #polynomial.int_polynomial<1 + x**4> [all …]
|
H A D | canonicalization.mlir | 2 #ntt_poly = #polynomial.int_polynomial<-1 + x**8> 3 #ntt_ring = #polynomial.ring<coefficientType=i32, coefficientModulus=256, polynomialModulus=#ntt_poly> 4 #root = #polynomial.primitive_root<value=31:i32, degree=8:index> 5 !ntt_poly_ty = !polynomial.polynomial<ring=#ntt_ring> 11 // CHECK-NOT: polynomial.ntt 12 // CHECK-NOT: polynomial.intt 13 // CHECK: %[[RESULT:.+]] = polynomial.add %[[P]], %[[P]] : [[T]] 14 %t0 = polynomial.ntt %p0 {root=#root} : !ntt_poly_ty -> !tensor_ty 15 %p1 = polynomial [all...] |
H A D | types.mlir | 4 // CHECK-SAME: !polynomial.polynomial< 9 #my_poly = #polynomial.int_polynomial<1 + x**1024> 10 #ring1 = #polynomial.ring<coefficientType = i32, coefficientModulus = 2837465 : i32, polynomialModu… 11 !ty = !polynomial.polynomial<ring=#ring1> 18 // CHECK-SAME: !polynomial.polynomial< 23 #my_poly_2 = #polynomial.int_polynomial<t**3 + 4t + 2> 24 #ring2 = #polynomial.ring<coefficientType = i64, coefficientModulus = 2837465 : i64, polynomialModu… 25 !ty2 = !polynomial.polynomial<ring=#ring2> 32 // CHECK-SAME: !polynomial.polynomial< 37 #my_poly_3 = #polynomial.int_polynomial<4x> [all …]
|
H A D | attributes.mlir | 3 #my_poly = #polynomial.int_polynomial<y + x**1024> 5 #ring1 = #polynomial.ring<coefficientType=i32, coefficientModulus=2837465, polynomialModulus=#my_poly> 12 #my_poly = #polynomial.int_polynomial<5 + x**f> 13 #ring1 = #polynomial.ring<coefficientType=i32, coefficientModulus=2837465, polynomialModulus=#my_poly> 17 #my_poly = #polynomial.int_polynomial<5 + x**2 + 3x**2> 18 // expected-error@below {{parsed polynomial must have unique exponents among monomials}} 19 #ring1 = #polynomial.ring<coefficientType=i32, coefficientModulus=2837465, polynomialModulus=#my_poly> 23 // expected-error@below {{expected + and more monomials, or > to end polynomial attribute}} 24 #my_poly = #polynomial.int_polynomial<5 + x**2 7> 25 #ring1 = #polynomial [all...] |
/llvm-project/mlir/include/mlir/Dialect/Polynomial/IR/ |
H A D | Polynomial.td | 41 Performs polynomial addition on the operands. The operands may be single 53 #poly = #polynomial.int_polynomial<x**1024 - 1> 54 …#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=65536:i32, polynomialModulus=#pol… 55 %0 = polynomial.constant int<1 + x**2> : !polynomial.polynomial<#ring> 56 %1 = polynomial.constant int<x**5 - x + 1> : !polynomial.polynomial<#ring> 57 %2 = polynomial.add %0, %1 : !polynomial.polynomial<#ring> 65 Performs polynomial subtraction on the operands. The operands may be single 77 #poly = #polynomial.int_polynomial<x**1024 - 1> 78 …#ring = #polynomial.ring<coefficientType=i32, coefficientModulus=65536:i32, polynomialModulus=#pol… 79 %0 = polynomial.constant int<1 + x**2> : !polynomial.polynomial<#ring> [all …]
|
H A D | PolynomialDialect.td | 15 let name = "polynomial"; 16 let cppNamespace = "::mlir::polynomial"; 18 The Polynomial dialect defines single-variable polynomial types and 21 The simplest use of `polynomial` is to represent mathematical operations in 22 a polynomial ring `R[x]`, where `R` is another MLIR type like `i32`. 24 More generally, this dialect supports representing polynomial operations in a 25 quotient ring `R[X]/(f(x))` for some statically fixed polynomial `f(x)`. 34 // A constant polynomial in a ring with i32 coefficients and no polynomial modulus 35 #ring = #polynomial.ring<coefficientType=i32> 36 %a = polynomial.constant <1 + x**2 - 3x**3> : polynomial.polynomial<#ring> [all …]
|
H A D | PolynomialAttributes.td | 21 let summary = "an attribute containing a single-variable polynomial with integer coefficients"; 23 A polynomial attribute represents a single-variable polynomial with integer 25 as to define constants and perform constant folding for `polynomial` ops. 27 The polynomial must be expressed as a list of monomial terms, with addition 36 #poly = #polynomial.int_polynomial<x**1024 + 1> 39 let parameters = (ins "::mlir::polynomial::IntPolynomial":$polynomial); 44 let summary = "an attribute containing a single-variable polynomial with double precision floating point coefficients"; 46 A polynomial attribut [all...] |
H A D | CMakeLists.txt | 1 add_mlir_dialect(Polynomial polynomial) 2 add_mlir_doc(Polynomial PolynomialDialect Dialects/ -gen-dialect-doc -dialect=polynomial) 5 mlir_tablegen(PolynomialAttributes.cpp.inc -gen-attrdef-defs -attrdefs-dialect=polynomial) 6 mlir_tablegen(PolynomialAttributes.h.inc -gen-attrdef-decls -attrdefs-dialect=polynomial)
|
H A D | PolynomialTypes.td | 20 def Polynomial_PolynomialType : Polynomial_Type<"Polynomial", "polynomial"> { 21 let summary = "An element of a polynomial ring."; 23 A type for polynomials in a polynomial quotient ring. 29 def PolynomialLike: TypeOrContainer<Polynomial_PolynomialType, "polynomial-like">;
|
H A D | Polynomial.h | 25 namespace polynomial { 274 const PolynomialBase<D, T> &polynomial) { 275 polynomial.print(os);
|
/llvm-project/libc/AOR_v20.02/math/tools/ |
H A D | cos.sollya | 1 // polynomial for approximating cos(x) 7 deg = 8; // polynomial degree 11 // find even polynomial with minimal abs error compared to cos(x)
|
H A D | v_sin.sollya | 1 // polynomial for approximating sin(x) 7 deg = 15; // polynomial degree 11 // find even polynomial with minimal abs error compared to sin(x)/x
|
H A D | sin.sollya | 1 // polynomial for approximating sin(x) 7 deg = 7; // polynomial degree 11 // find even polynomial with minimal abs error compared to sin(x)/x
|
H A D | log.sollya | 1 // polynomial for approximating log(1+x) 12 // find log(1+x)/x polynomial with minimal relative error 13 // (minimal relative error polynomial for log(1+x) is the same * x)
|
H A D | v_log.sollya | 1 // polynomial used for __v_log(x) 11 // find log(1+x)/x polynomial with minimal relative error 12 // (minimal relative error polynomial for log(1+x) is the same * x)
|
H A D | log2.sollya | 1 // polynomial for approximating log2(1+x) 16 // find log2(1+x)/x polynomial with minimal relative error 17 // (minimal relative error polynomial for log2(1+x) is the same * x)
|
H A D | v_exp.sollya | 1 // polynomial for approximating e^x 12 // find polynomial with minimal abs error
|
H A D | log_abs.sollya | 1 // polynomial for approximating log(1+x) 12 // find log(1+x) polynomial with minimal absolute error
|
H A D | exp.sollya | 1 // polynomial for approximating e^x 13 // find polynomial with minimal abs error
|
H A D | log2_abs.sollya | 1 // polynomial for approximating log2(1+x) 16 // find log2(1+x) polynomial with minimal absolute error
|
H A D | exp2.sollya | 1 // polynomial for approximating 2^x 19 // find polynomial with minimal relative error
|
/llvm-project/libc/utils/mathtools/ |
H A D | expm1f.sollya | 1 # Scripts to generate polynomial approximations for expm1f function using Sollya. 7 # and use a degree-6 polynomial to approximate expm1f in each interval.
|
/llvm-project/mlir/lib/Dialect/Polynomial/IR/ |
H A D | PolynomialDialect.cpp | 25 using namespace mlir::polynomial;
|
/llvm-project/mlir/unittests/Dialect/Polynomial/ |
H A D | PolynomialMathTest.cpp | 13 using namespace mlir::polynomial;
|