void doSim() { uint8_t key[KEYBYTES]; int i,j; PTW_attackstate * state; state = PTW_newattackstate(); printf("starting new sim\n"); for (i = 0; i < HSBYTES; i++) { key[IVBYTES + i] = rand()%n; } for (i = 0; i < STARTSESS; i++) { addRound(key, state); } printStats(state, i, &key[3]); while (i < ENDSESS) { for (j = 0; j < INCSESS; j++) { addRound(key, state); } i += INCSESS; printStats(state, i, &key[3]); } printKey(&key[3], 13); PTW_freeattackstate(state); }
void BenchCairo::runFillRound(BenchOutput& output, const BenchParams& params) { cairo_t* cr = cairo_create(screenCairo); configureContext(cr, params); BenchRandom rRect(app); BenchRandom rArgb(app); BenchRandom rRadius(app); if (params.source == BENCH_SOURCE_SOLID) { uint32_t i, quantity = params.quantity; for (i = 0; i < quantity; i++) { Fog::RectF r(rRect.getRectF(params.screenSize, params.shapeSize, params.shapeSize)); float rad = rRadius.getFloat(4.0f, 40.0f); Fog::Argb32 c0(rArgb.getArgb32()); cairo_set_source_rgba(cr, double(c0.r) * sc, double(c0.g) * sc, double(c0.b) * sc, double(c0.a) * sc); addRound(cr, r, rad); cairo_fill(cr); } } else { uint32_t i, quantity = params.quantity; for (i = 0; i < quantity; i++) { Fog::RectF r(rRect.getRectF(params.screenSize, params.shapeSize, params.shapeSize)); float rad = rRadius.getFloat(4.0f, 40.0f); Fog::Argb32 c0(rArgb.getArgb32()); Fog::Argb32 c1(rArgb.getArgb32()); Fog::Argb32 c2(rArgb.getArgb32()); cairo_pattern_t* pattern = createLinearGradient(r.x, r.y, r.x + r.w, r.y + r.h, c0, c1, c2); cairo_set_source(cr, pattern); addRound(cr, r, rad); cairo_fill(cr); cairo_pattern_destroy(pattern); } } cairo_destroy(cr); }