/* y = int_Gamma f*u*ds */ double interfaceIntegral(const my_mesh::MeshData& mesh, const arma::vec& u ) { double sum=0; for (int i=0; i < mesh.interface_edges.size(); i++) { int node0 = mesh.interface_nodes[i]; // two end nodes of interface int node1 = mesh.interface_nodes[i+1]; double x0 = mesh.nodes[node0][0]; double y0 = mesh.nodes[node0][1]; double x1 = mesh.nodes[node1][0]; double y1 = mesh.nodes[node1][1]; double length = mesh.edge_lengths[ mesh.interface_edges[i] ]; double increment = 0.5 * length * ( func_d(x0,y0)*u(node0) + func_d(x1,y1)*u(node1) ); /* std::cout << "value of u is " << u(node0) << "\n"; std::cout << "length is " << length << "\n"; std::cout << "increment is " << increment << "\n"; */ sum += increment; } return sum; }
int func_a() { int a_val = (0xa << 4); a_val |= func_c(); a_val <<= 4; a_val |= func_d(); return a_val; }
void func_call() { func_a ( 1, 2, 3); func_b ( 4, 5, 6 ); func_c ( 7, 8, 9 ); func_d ( "aaaaaaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbb", "cccccccccccccccccccccc" ); }
void sxc_debug(FILE *fp) //调试主监听程序 { char input[100],var[100]; char cmd; int para = 0; int i = 0; de_flag = 0; para = 0; while (1) { gets(input); if (strcmp(input, "\0") != 0) break; } cmd = input[0]; switch (cmd) { case 'h': runcode = 0; show_help(); break; case 'b': runcode = 0; if (input[1] != ' ') show_help(); else { i = 2; while (input[i] != '\n' && input[i++] != '\0') { if (input[i - 1] >= 48 && input[i - 1] <= 57) { para = para*10+(input[i - 1] - '0'); } else { show_help(); break; } } if (de_flag == 0) { func_b(para,0); } } break; case 'n': runcode = 1; if (input[1] != '\0') show_help(); else func_n(fp); break; case 'r': runcode = 1; if (input[1] != '\0') show_help(); else sxc(fp); break; case 'p': runcode = 0; if (input[1] != ' ' && input[1] != '\n' && input[1] != '\0') show_help(); else if (input[1] == '\0') func_p("-a"); else func_p(input + 2); break; case 'l': runcode = 0; if (input[1] != ' ' && input[1] != '\n' && input[1] != '\0') show_help(); else if (input[1] == '\0') func_l(fp, -1); else { i = 2; while (input[i] != '\n' && input[i++] != '\0') { if (input[i - 1] >= 48 && input[i - 1] <= 57) { para = para * 10 + (input[i - 1] - '0'); } else { show_help(); break; } } if (de_flag == 0) { func_l(fp, para); } } break; case 'd': runcode = 0; if (input[1] != ' ') show_help(); else { i = 2; while (input[i] != '\n' && input[i++] != '\0') { if (input[i - 1] >= 48 && input[i - 1] <= 57) { para = para * 10 + (input[i - 1] - '0'); } else { show_help(); break; } } if (de_flag == 0) { func_d(para,0); } } break; case 's': runcode = 0; if (input[1] != '\0') show_help(); else func_s(); break; case 'k':if (input[1] != '\0') show_help(); else func_k(); break; case 'q':if (input[1] != '\0') show_help(); else func_q(fp); break; default:show_help(); break; } }