4 #include "clave_fija.h"
6 #include "keymanager.h"
8 int main (int argc, char *argv[])
10 int bloque, altas, bajas;
13 printf ("Uso : %s <block size> <cantidad de altas> <cantidad de bajas>\n", argv[0]);
17 bloque = atoi (argv[1]);
18 altas = atoi (argv[2]);
19 bajas = atoi (argv[3]);
22 BTree tree ("test.idx", bloque);
25 std::list<int>::iterator it;
27 Random::Ints (lst, altas);
29 double paltas = bajas / (double)(altas + bajas);
32 while (it != lst.end ()) {
35 double l = Random::Double (0.0f, 1.0f);
36 std::cout << l << " >= " << paltas << std::endl;
37 if (!km.Size() // si no tenemos claves agregadas, mejor que hagamos un alta
42 } catch (Exception *e) {
43 std::cout << e->Message () << std::endl;
48 /* Tengo que borrar una clave entre 0 e "i" de la lista
49 * porque son las que ya agregue. */
50 ClaveFija c(km.GetRandom ());
54 std::cout << "Clave Borrada " << sss << std::endl;
60 std::list <int> l = km.GetList ();
64 while (it != l.end ()) {
70 std::cout << "** Clave " << (*it) << " encontrada.\n";
74 std::cout << "** Clave " << (*it) << " NO encontrada.\n";
80 std::cout << "\n\n === Resultados ===\n";
81 std::cout << " Hist : " << bien << "\n";
82 std::cout << " Miss : " << mal << "\n";
83 std::cout << " Total : " << (bien+mal) << "\n";