int avg(int p1,int p2) { int r; r=add_numbers(p1,p2); r=r/2; return r; }
int parse_command_line(t_server *server, int ac, char *av[]) { char c; t_team *t; init_serv(server); while ((c = getopt(ac, av, "dp:x:y:c:t:n:")) != -1) { if (c == '?') return (EXIT_FAILURE); if (c == 'p' && listen_on_port(server, optarg, SOCK_STREAM)) return (EXIT_FAILURE); if (add_numbers(c, server, optarg)) return (EXIT_FAILURE); if (c == 'd') server->debug = 1; if (c == 'n' && (t = malloc(sizeof(t_team)))) add_team_names(t, server, ac, av); } return (check_options(server, ac, av)); }
int combine_terms(U **s, int n) { int i, j, t; for (i = 0; i < n - 1; i++) { check_esc_flag(); p3 = s[i]; p4 = s[i + 1]; if (istensor(p3) && istensor(p4)) { push(p3); push(p4); tensor_plus_tensor(); p1 = pop(); if (p1 != symbol(NIL)) { s[i] = p1; for (j = i + 1; j < n - 1; j++) s[j] = s[j + 1]; n--; i--; } continue; } if (istensor(p3) || istensor(p4)) continue; if (isnum(p3) && isnum(p4)) { push(p3); push(p4); add_numbers(); p1 = pop(); if (iszero(p1)) { for (j = i; j < n - 2; j++) s[j] = s[j + 2]; n -= 2; } else { s[i] = p1; for (j = i + 1; j < n - 1; j++) s[j] = s[j + 1]; n--; } i--; continue; } if (isnum(p3) || isnum(p4)) continue; p1 = one; p2 = one; t = 0; if (car(p3) == symbol(MULTIPLY)) { p3 = cdr(p3); t = 1; /* p3 is now denormal */ if (isnum(car(p3))) { p1 = car(p3); p3 = cdr(p3); if (cdr(p3) == symbol(NIL)) { p3 = car(p3); t = 0; } } } if (car(p4) == symbol(MULTIPLY)) { p4 = cdr(p4); if (isnum(car(p4))) { p2 = car(p4); p4 = cdr(p4); if (cdr(p4) == symbol(NIL)) p4 = car(p4); } } if (!equal(p3, p4)) continue; push(p1); push(p2); add_numbers(); p1 = pop(); if (iszero(p1)) { for (j = i; j < n - 2; j++) s[j] = s[j + 2]; n -= 2; i--; continue; } push(p1); if (t) { push(symbol(MULTIPLY)); push(p3); cons(); } else push(p3); multiply(); s[i] = pop(); for (j = i + 1; j < n - 1; j++) s[j] = s[j + 1]; n--; i--; } return n; }