Macaulay2 Engine
Loading...
Searching...
No Matches

◆ fromSmallIntegerCoefficients()

void M2::ARingGFFlint::fromSmallIntegerCoefficients ( ElementType & result,
const std::vector< long > & poly ) const

Definition at line 86 of file aring-gf-flint.cpp.

89{
90 fq_nmod_t f;
91
92 fq_nmod_init(f, mBigContext);
93
94#if 0
95 printf("input = ");
96 for (long i=0; i<poly.size(); i++)
97 printf("%ld ", poly[i]);
98 printf("\n");
99#endif
100 for (long i = poly.size() - 1; i >= 0; i--)
101 {
102 long a = poly[i];
103 if (a == 0) continue;
104 if (a < 0) a += characteristic();
105 nmod_poly_set_coeff_ui(f, i, a);
106 }
107#if 0
108 printf(" result before reduction = ");
109 fq_nmod_print_pretty(f, mBigContext);
110 printf("\n");
111#endif
112 fq_nmod_reduce(f, mBigContext);
113#if 0
114 printf(" result = ");
115 fq_nmod_print_pretty(f, mBigContext);
116 printf("\n");
117#endif
118 fq_zech_set_fq_nmod(&result, f, mContext);
119#if 0
120 printf(" zech result = %lu", result.value);
121 printf("\n");
122#endif
123 fq_nmod_clear(f, mBigContext);
124}
fq_nmod_ctx_t mBigContext
fq_zech_ctx_t mContext
long characteristic() const
VALGRIND_MAKE_MEM_DEFINED & result(result)

References characteristic(), mBigContext, mContext, and result().

Referenced by promote(), random(), and set_var().