int main() { KInstance instance("kfiltertest"); char currentdir[PATH_MAX + 1]; getcwd(currentdir, PATH_MAX); QString pathgz = QFile::decodeName(currentdir) + "/test.gz"; QString pathbz2 = QFile::decodeName(currentdir) + "/test.bz2"; kdDebug() << " -- test_block_write gzip -- " << endl; test_block_write(pathgz); kdDebug() << " -- test_block_write bzip2 -- " << endl; test_block_write(pathbz2); kdDebug() << " -- test_block gzip -- " << endl; test_block(pathgz); kdDebug() << " -- test_getch gzip -- " << endl; test_getch(pathgz); kdDebug() << " -- test_textstream gzip -- " << endl; test_textstream(pathgz); kdDebug() << " -- test_block bzip2 -- " << endl; test_block(pathbz2); kdDebug() << " -- test_getch bzip2 -- " << endl; test_getch(pathbz2); kdDebug() << " -- test_textstream bzip2 -- " << endl; test_textstream(pathbz2); return 0; }
int main(int argc, char** argv) { test_tle(); test_helloworld(); test_re_div0(); test_re_seg(); test_mle_static(); test_mle_dyn(); test_1003re(); test_1500ac(); test_2000mle(); test_block(); return 0; }
static GEN print_block_system(blockdata *B, GEN Y, GEN SB) { long i, j, l, ll, lp, u, v, ns, r = lg(Y), N = B->N; long *k, *n, **e, *t; GEN D, De, Z, cyperm, perm, VOID = cgetg(1, t_VECSMALL); if (DEBUGLEVEL>5) fprintferr("Y = %Z\n",Y); n = new_chunk(N+1); D = cget1(N+1, t_VEC); t = new_chunk(r+1); k = new_chunk(r+1); Z = cgetg(r+1, t_VEC); for (ns=0,i=1; i<r; i++) { GEN Yi = gel(Y,i); long ki = 0, si = lg(Yi)-1; for (j=1; j<=si; j++) { n[j] = lg(Yi[j])-1; ki += n[j]; } ki /= B->size; De = cgetg(ki+1,t_VEC); for (j=1; j<=ki; j++) gel(De,j) = VOID; for (j=1; j<=si; j++) { GEN cy = gel(Yi,j); for (l=1,lp=0; l<=n[j]; l++) { lp++; if (lp > ki) lp = 1; gel(De,lp) = vecsmall_append(gel(De,lp), cy[l]); } } append(D, De); if (si>1 && ki>1) { GEN p1 = cgetg(si,t_VEC); for (j=2; j<=si; j++) p1[j-1] = Yi[j]; ns++; t[ns] = si-1; k[ns] = ki-1; gel(Z,ns) = p1; } } if (DEBUGLEVEL>2) fprintferr("\nns = %ld\n",ns); if (!ns) return test_block(B, SB, D); setlg(Z, ns+1); e = (long**)new_chunk(ns+1); for (i=1; i<=ns; i++) { e[i] = new_chunk(t[i]+1); for (j=1; j<=t[i]; j++) e[i][j] = 0; } cyperm= cgetg(N+1,t_VECSMALL); perm = cgetg(N+1,t_VECSMALL); i = ns; do { pari_sp av = avma; for (u=1; u<=N; u++) perm[u] = u; for (u=1; u<=ns; u++) for (v=1; v<=t[u]; v++) perm_mul_i(perm, cycle_power_to_perm(cyperm, gmael(Z,u,v), e[u][v])); SB = test_block(B, SB, im_block_by_perm(D,perm)); avma = av; /* i = 1..ns, j = 1..t[i], e[i][j] loop through 0..k[i]. * TODO: flatten to 1-dimensional loop */ if (++e[ns][t[ns]] > k[ns]) { j = t[ns]-1; while (j>=1 && e[ns][j] == k[ns]) j--; if (j >= 1) { e[ns][j]++; for (l=j+1; l<=t[ns]; l++) e[ns][l] = 0; } else { i = ns-1; while (i>=1) { j = t[i]; while (j>=1 && e[i][j] == k[i]) j--; if (j<1) i--; else { e[i][j]++; for (l=j+1; l<=t[i]; l++) e[i][l] = 0; for (ll=i+1; ll<=ns; ll++) for (l=1; l<=t[ll]; l++) e[ll][l] = 0; break; } } } } } while (i > 0); return SB; }