int main() { int i, j, t, s, q; for (scanf("%d", &t); t-- > 0 && scanf("%d", &n) == 1;) { for (i = 0; i < n; i++) for (j = 0; j < n; j++) scanf("%d", &a[i][j]); m = (n + 1) / 2; for (i = 0; i < m && scanf("%d", &s) == 1; i++) { while (s-- > 0 && scanf("%d", &q) == 1) { if (q == 1) apply1(i); if (q == 2) apply2(i); if (q == 3) apply3(i); if (q == 4) apply4(i); } } for (i = 0; i < n; i++) for (j = 0; j < n; j++) printf(((j + 1) < n) ? "%d " : "%d\n", a[i][j]); } return 0; }
static void build_composites() { composite[0] = pair(pos_occ(a), neg_occ(a)); composite[0]->id = 100; composite[1] = pair(pos_occ(a), pos_occ(a)); composite[1]->id = 101; composite[2] = pair(neg_occ(a), pos_occ(a)); composite[2]->id = 102; composite[3] = pair(neg_occ(a), neg_occ(a)); composite[3]->id = 103; composite[4] = pair(pos_occ(a), true_occ); composite[4]->id = 104; composite[5] = pair(pos_occ(a), false_occ); composite[5]->id = 105; composite[6] = pair(neg_occ(a), pos_occ(b)); composite[6]->id = 106; composite[7] = pair(neg_occ(a), neg_occ(b)); composite[7]->id = 107; composite[8] = apply2(f, pos_occ(c), pos_occ(c)); composite[8]->id = 108; composite[9] = update2(f, pos_occ(c), neg_occ(d), pos_occ(h)); composite[9]->id = 109; composite[10] = lambda(pos_occ(a), 0); composite[10]->id = 110; composite[11] = lambda(pos_occ(a), 1); composite[11]->id = 110; }
static void apply(ElementType const & element_in, MeshTypeOut & segment_out, EdgeRefinementFlagAccessor const edge_refinement_flag_accessor, VertexToVertexHandleAccessor const vertex_to_vertex_handle_accessor, EdgeToVertexHandleAccessor edge_to_vertex_handle_accessor) { typedef typename viennagrid::result_of::const_element_range<ElementType, viennagrid::line_tag>::type EdgeOnCellRange; typedef typename viennagrid::result_of::iterator<EdgeOnCellRange>::type EdgeOnCellIterator; std::size_t edges_to_refine = 0; EdgeOnCellRange edges_on_cell(element_in); for (EdgeOnCellIterator eocit = edges_on_cell.begin(); eocit != edges_on_cell.end(); ++eocit) { if ( edge_refinement_flag_accessor(*eocit) ) ++edges_to_refine; } switch (edges_to_refine) { case 0: apply0(element_in, segment_out, edge_refinement_flag_accessor, vertex_to_vertex_handle_accessor, edge_to_vertex_handle_accessor); break; case 1: apply1(element_in, segment_out, edge_refinement_flag_accessor, vertex_to_vertex_handle_accessor, edge_to_vertex_handle_accessor); break; case 2: apply2(element_in, segment_out, edge_refinement_flag_accessor, vertex_to_vertex_handle_accessor, edge_to_vertex_handle_accessor); break; case 3: apply3(element_in, segment_out, edge_refinement_flag_accessor, vertex_to_vertex_handle_accessor, edge_to_vertex_handle_accessor); break; default: //nothing to do... break; } } //apply()
AbSyn defineUnary(String name, AbSyn param, AbSyn retType, AbSyn rhs) { AbSyn theLambda = lambda(comma1(abCopy(param)), abCopy(retType), label(id(name), rhs)); AbSyn theDefine = define(declare(id(name), apply2(id("->"), abCopy(param), abCopy(retType))), theLambda); abFree(retType); abFree(param); return theDefine; }