void sub_generator::print(ostream &ost, INT len, INT *S)
{
	INT j,rk_k;

	if (len == 0) {
		return;
		}
	cout << "subspaces:" << endl;
	for (j = 0; j < len; j++) {
		//PG_element_unrank_modified(*F, rc.M1 + j, len /* stride */, nmk /* len */, S[j]);
        rk_k=subs->unrank_k(S[j],-2);
        subs->unrank_INT(S[j],-2);
        print_integer_matrix(ost,subs->G[rk_k]->M , rk_k, n);
        ost << "------------------------------"<<endl;
		}
}
Beispiel #2
0
INT arc_generator::check_arc(INT *S, INT len, INT verbose_level)
{
	INT f_v = (verbose_level >= 1);
	//INT f_vv = (verbose_level >= 2);
	//INT f_vvv = (verbose_level >= 3);
	INT f_OK = TRUE;


	if (f_v) {
		cout << "checking set ";
		print_set(cout, len, S);
		}
	if (!rc.check_rank(len, S, verbose_level - 1)) {
		return FALSE;
		}
	
	if (f_v) {
		cout << "checking set ";
		print_set(cout, len, S);
		}
	if (f_v) {
		cout << endl;
		//print_integer_matrix(cout, S, 1, len);
		print_integer_matrix(cout, rc.M1, rc.m, len);
		if (len > 2) {
			print_set_in_affine_plane(len - 2, S + 2);
			}
		}



	if (f_OK) {
		if (f_v) {
			cout << "accepted" << endl;
			}
		return TRUE;
		}
	else {
		if (f_v) {
			cout << "rejected" << endl;
			}
		return FALSE;
		}
}