int main() { int Error = 0; //Test QR square Error += test_qr(glm::dmat3(12.0, 6.0, -4.0, -51.0, 167.0, 24.0, 4.0, -68.0, -41.0)) ? 1 : 0; //Test RQ square Error += test_rq(glm::dmat3(12.0, 6.0, -4.0, -51.0, 167.0, 24.0, 4.0, -68.0, -41.0)) ? 1 : 0; //Test QR triangular 1 Error += test_qr(glm::dmat3x4(12.0, 6.0, -4.0, -51.0, 167.0, 24.0, 4.0, -68.0, -41.0, 7.0, 2.0, 15.0)) ? 1 : 0; //Test QR triangular 2 Error += test_qr(glm::dmat4x3(12.0, 6.0, -4.0, -51.0, 167.0, 24.0, 4.0, -68.0, -41.0, 7.0, 2.0, 15.0)) ? 1 : 0; //Test RQ triangular 1 : Fails at the triangular test Error += test_rq(glm::dmat3x4(12.0, 6.0, -4.0, -51.0, 167.0, 24.0, 4.0, -68.0, -41.0, 7.0, 2.0, 15.0)) ? 1 : 0; //Test QR triangular 2 Error += test_rq(glm::dmat4x3(12.0, 6.0, -4.0, -51.0, 167.0, 24.0, 4.0, -68.0, -41.0, 7.0, 2.0, 15.0)) ? 1 : 0; return Error; }
//extern uchar pass_cut; void criteria(cell *c) { uchar let = 0, *raster = 0; cf::version *vers = 0; int16_t r = 0, flacc = 0, flon = 0, inc = 0; cf::version save[VERS_IN_CELL] = { 0 }; int16_t snvers = 0; // #define PROB_V_OK 170 if (c->nvers > 0) memcpy(save, c->vers, c->nvers); snvers = c->nvers; if (!c->nvers) return; get_b_lines(c, &bl); H = (int16_t) get_size(); if (c->nvers == 1 && c->vers[0].let == '>') test_rq(c); if (c->nvers == 1 && ((let = c->vers[0].let) == 'c' || let == 'C') || (c->nvers == 2 && (c->vers[0].let == 'c' && c->vers[1].let == 'C' || c->vers[0].let == 'C' && c->vers[1].let == 'c'))) test_c(c); if (c->nvers >= 2 && (c->vers[0].let == 'a' && c->vers[1].let == 'o' || c->vers[0].let == 'o' && c->vers[1].let == 'a')) crit_oa(c); for (vers = c->vers, flacc = flon = 0; (let = vers->let) != 0; vers++) { { //Andrew if ((let = vers->let) == liga_CC || let == liga_CR) { raster = save_raster(c); inc = AnglesCurve(raster, (int16_t) ((c->w + 7) / 8), c->h); inc = (4 - inc) * 40; if (3 * c ->w > 4 * c ->h) inc += 150; if (3 * c ->w < 2 * c ->h) inc += 150; if (c->env && c->env->nl < 4) inc += 100; if (vers->prob > inc) vers->prob -= inc; else vers->prob = 0; } } if (((language == LANGUAGE_FRENCH || language == LANGUAGE_ITALIAN) && memchr( "ACEIOUaceiou", let, 12) || // Включая нижние акценты "c" 05.07.2002 E.P. language == LANGUAGE_SPANISH && memchr("AEINOUaeniou", let, 12) || language == LANGUAGE_GERMAN && memchr("AOUaou", let, 6) || language == LANGUAGE_RUSSIAN && memchr("Ґ…", let, 2) || language == LANGUAGE_CROATIAN && memchr("SZCszc", let, 6) /*&& !pass_cut*/|| language == LANGUAGE_POLISH && memchr("AESZCNOaeszcno", let, 14) || // Включая нижние акценты a,e 05.07.2002 E.P. language == LANGUAGE_PORTUGUESE && memchr("AEOUIaeoui", let, 10) || language == LANGUAGE_SWEDISH && memchr("AEOaeo", let, 6)) && !flacc || // 05.09.2000 E.P. language == LANGUAGE_CZECH && memchr("AaCcDdEeIiNnOoRrSsTtUuYyZz", let, 26) || language == LANGUAGE_ROMANIAN && memchr("AaIiSsTt", let, 8) || // Включая нижние акценты s,t 05.07.2002 E.P. language == LANGUAGE_HUNGARIAN && memchr("AaEeIiOoUu", let, 10) || language == LANGUAGE_SLOVENIAN && memchr("CcSsZz", let, 6) || // 09.07.2001 E.P. language == LANGUAGE_LATVIAN && memchr("AaCcEeGgIiKkLlNnSsUuZz", let, 22) || language == LANGUAGE_LITHUANIAN && memchr("AaCcEeIiSsUuZz", let, 14) || language == LANGUAGE_ESTONIAN && memchr("AaOoSsUuZz", let, 10) || // 21.05.2002 E.P. language == LANGUAGE_TURKISH && (memchr("AaCcIiGgOoSsUu", let, 14) || let == i_sans_accent) || 0) { flacc = 1; if (accent(c)) break; } // Урезание чужих букв из общих таблиц if (language == LANGUAGE_POLISH && memchr("qQ", let, 2) || // BULGAR 08.09.2000 E.P. language == LANGUAGE_RUSSIAN && langBul && (let == 155 || let == 235 || // Ыы 08.09.2000 E.P. let == 157 || let == 237 || // Ээ 08.09.2000 E.P. let == r_EE_2dot || let == r_e_2dot) || language == LANGUAGE_SLOVENIAN && isnot_slovenian(let) || // 09.07.2001 E.P. language == LANGUAGE_LATVIAN && isnot_latvian(let) || language == LANGUAGE_LITHUANIAN && isnot_lithuanian(let) || language == LANGUAGE_ESTONIAN && isnot_estonian(let) || // 21.05.2002 E.P. language == LANGUAGE_TURKISH && isnot_turkish(let) || 0) { vers->prob >>= 1; if (vers->prob & 1) vers->prob--; if (!vers->prob) vers->prob = 2; } if (c->isBadLetter()) // Oleg : 02-28-96 04:55pm : letter only if (((let = vers->let) == 'i' || let == 'j' || (language == LANGUAGE_TURKISH && let == II_dot_accent) // 17.06.2002 E.P. ) && (r = ij_dot(c)) != 0) { if (r > 0) break; vers--; continue; } // Nick 18.06.2002 if (language == LANGUAGE_TURKISH && ((let = vers->let) == i_sans_accent || let == II_dot_accent) && (r = upper_right_angle(c)) > 0) { vers->prob = MAX(2, vers->prob - r); continue; } if ((let = vers->let) == '!' || let == '?') { if (excl_dot(c) > 0) break; vers--; continue; } if (language != LANGUAGE_RUSSIAN) // refuse with ,Ў if ((let = vers->let) == invers_exm || let == invers_qm) { if (inv_dot(c) > 0) break; vers--; continue; } if ((language == LANGUAGE_FRENCH || language == LANGUAGE_TURKISH // 18.06.2002 E.P. ) && (vers->let == 'c' || vers->let == 'C')) c_to_ctail(c, 0); // AL 940321 if (vers->let == liga_rt && not_rt(c)) { vers--; continue; } if (is_liga_ff(vers->let) && not_ff(c)) { vers--; continue; } if (vers->let == 'n' || vers->let == 'o') flon = 1; }
int main() { int snap_id; int ret; int cpu; int i; enum cbs_type mode; struct timeval period; cbs_t *cbs_ts = malloc(sizeof(cbs_t) * t1_procs); struct cbs_tester *ct1 = malloc(sizeof(struct cbs_tester) * t1_procs); for(i = 0; i < t1_procs; i++) { if(test1[i][0] == 0) { mode = CBS_RT; } else { mode = CBS_BW; } cpu = test1[i][1]; period.tv_usec = test1[i][2]; //printf("Creating new CBS process...\n"); if((ret = cbs_create(&cbs_ts[i], mode, cpu, &period, &entry, (void *)(&test1[i][3]))) != 0) { printf("Failed to create process %d with ret val %d\n", i, ret); } else { ct1[i].utilization = cpu/period.tv_usec; ct1[i].cpu = cpu; ct1[i].period_usec = period.tv_usec; ct1[i].pid = ((struct cbs_task *)cbs_ts+i)->pid; printf("Spawned process with PID: %d\n", ct1[i].pid); } } signal(SIGINT, handle_interrupt); snap_event *ev = malloc(sizeof(snap_event) * 8); snap_trig *tr = malloc(sizeof(snap_trig) * 8); for(i = 0; i < 8; i++) { ev[i] = SNAP_EVENT_CBS_SCHED; tr[i] = 0; } for(i = 0; i < 4; i++) { syscall(314, ev, tr, 8); snap_id = 0; test_rq(snap_id); test_utilization(snap_id); sleep(2); } free(ev); free(tr); free(cbs_ts); free(ct1); }