Beispiel #1
0
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);
}