1131{
1135 int npairs = 0;
1136
1137
1138
1140
1141 for (;;)
1142 {
1144 {
1146 break;
1147 }
1148
1151
1152
1153 auto thisDegInfo =
mSPairSet.setThisDegree();
1154
1155 if (not thisDegInfo.first)
1156 {
1158 break;
1159 }
1160
1162
1164 {
1166 break;
1167 }
1168
1170 {
1172 {
1175 else
1177 break;
1178 }
1179 }
1180
1182 {
1184 fprintf(stderr,
1185 "DEGREE %d (nexpected %d npairs %d)\n",
1187 hilbert->nRemainingExpected(),
1188 npairs);
1189 else
1190 fprintf(stderr,
"DEGREE %d (npairs %d)\n",
this_degree, npairs);
1191 }
1194 }
1195
1197 {
1198
1199
1200
1201
1202
1203
1204 fprintf(
1206 fprintf(stderr,
1207 "total time for making matrix (includes sort): %f\n",
1209 fprintf(stderr,
1210 "total time for gauss: %f\n",
1212 fprintf(stderr,
1213 "parallel tbb time for gauss: %g\n",
1215 fprintf(stderr,
1216 "serial tbb time for gauss: %g\n",
1218 fprintf(stderr,
1219 "total time for finding new spairs: %g\n",
1221 fprintf(stderr,
1222 "total time for creating pre spairs: %g\n",
1224 fprintf(stderr,
1225 "total time for minimizing new spairs: %g\n",
1227 fprintf(stderr,
1228 "total time for inserting new gb elements: %g\n",
1230 fprintf(stderr,
1231 "number of spairs computed : %ld\n",
1233 fprintf(stderr,
1234 "number of reduction steps : %ld\n",
1237 {
1238 fprintf(stderr,
1239 "number of spairs removed by criterion = %ld\n",
1242 }
1243 }
1244
1245 return is_done;
1246}
int complete_thru_this_degree
clock_t clock_make_matrix
HilbertController * hilbert
const MonomialInfo * mMonomialInfo
enum ComputationStatusCode computation_is_complete(StopConditions &stop_)
double clock_sort_columns
double mParallelGaussTime
bool system_interrupted()
M2_bool stop_after_degree