1#ifndef __F4toM2interface_h_
2#define __F4toM2interface_h_
static void from_M2_vec(const VectorArithmetic *VA, const MonomialInfo *MI, const FreeModule *F, vec v, GBF4Polynomial &result)
static MutableMatrix * to_M2_MutableMatrix(const VectorArithmetic *VA, coefficient_matrix *mat, gb_array &gens, gb_array &gb)
static void poly_set_degrees(const VectorArithmetic *VA, const MonomialInfo *MI, const M2_arrayint wts, const GBF4Polynomial &f, int °, int &alpha)
static Matrix * to_M2_matrix(const VectorArithmetic *VA, const MonomialInfo *MI, gb_array &polys, const FreeModule *F)
static void from_M2_matrix(const VectorArithmetic *VA, const MonomialInfo *MI, const Matrix *m, gb_array &result_polys)
static vec to_M2_vec(const VectorArithmetic *VA, const MonomialInfo *MI, const GBF4Polynomial &f, const FreeModule *F)
Static-method namespace for translating between engine Matrix / vec polynomials and the F4-internal G...
Engine-side free module R^n over a Ring.
Per-ring monomial layout / encoding helper used by F4GB.
Abstract base class for mutable matrices over an arbitrary engine Ring, the in-place counterpart of t...
Runtime dispatcher that hides the concrete coefficient ring behind a std::variant of ConcreteVectorAr...
std::vector< gbelem * > gb_array
Shared type vocabulary used across the F4 engine.
void gb(IntermediateBasis &F, int n)
VALGRIND_MAKE_MEM_DEFINED & result(result)
Engine-to-interpreter type vocabulary across the C++ / .dd boundary.
ring_elem — the universal value type carried by every Ring* in the engine.
Compact polynomial layout used inside the F4 GB engine.