1120{
1121
1122
1123
1124
1125
1126
1127 mpz_t u, v, gd;
1128 mpz_init(u);
1129 mpz_init(v);
1130 mpz_init(gd);
1132
1133 gbvector *new_g = nullptr;
1134 gbvector *g2 = nullptr;
1135 gbvector *new_gsyz = nullptr;
1136 gbvector *gsyz2 = nullptr;
1137
1138 if (mpz_sgn(v) != 0)
1139 {
1142 }
1143 if (mpz_sgn(u) != 0)
1144 {
1147 }
1148
1151
1154 mpz_neg(v, v);
1155
1160
1163
1164 f = new_f;
1165 fsyz = new_fsyz;
1166 g = new_g;
1167 gsyz = new_gsyz;
1168
1169 mpz_clear(u);
1170 mpz_clear(v);
1171 mpz_clear(gd);
1172}
void gbvector_add_to(const FreeModule *F, gbvector *&f, gbvector *&g)
gbvector * gbvector_mult_by_coeff(const gbvector *f, ring_elem u)
mpz_srcptr get_mpz() const