usage() {
puts(
"Usage:\n"
- "tbtreetest -b [-r -c COUNT] | -s [ -c COUNT ]\n"
+ "tbtreetest -b [-r -c COUNT -f] | -s [ -c COUNT ]\n"
);
exit(1);
}
#define MODE_BTREE 1
#define MODE_SFX 2
-static char *symbols="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
+static char *symbols="qwertyuiopasdfghjklzxcvbnm1234567890";
static int symbolslen=0;
int
main(int argn, char *argv[]) {
int mode=NO_MODE;
- int isrnd=0, count=10,i;
+ int isrnd=0, count=10,i, isfind=0;
opentlog(TL_OPEN_STDERR,TL_DEBUG, NULL);
symbolslen=strlen(symbols);
- while((i=getopt(argn,argv,"sbrc:")) != EOF) {
+ while((i=getopt(argn,argv,"sbrc:f")) != EOF) {
switch(i) {
+ case 'f':
+ isfind=1;
+ break;
case 'r':
isrnd=1;
break;
if ( mode==MODE_BTREE ) {
int cnt;
- for(i=0;i<count;i++) {
- printf("I\t%d\t", (int)( (isrnd) ? random()%count : i ));
- cnt=1+random()%512;
- while(cnt-->0)
- fputc( symbols[ random()%symbolslen ], stdout);
- fputc('\n', stdout);
- }
+ if ( isfind )
+ for(i=0;i<count;i++)
+ printf("S\t%d\n", (int)( (isrnd) ? random()%count : i ));
+ else
+ for(i=0;i<count;i++) {
+ printf("I\t%d\t", (int)( (isrnd) ? random()%count : i ));
+ cnt=1+random()%512;
+ while(cnt-->0)
+ fputc( symbols[ random()%symbolslen ], stdout);
+ fputc('\n', stdout);
+ }
} else if ( mode==MODE_SFX ) {
int cnt;
for(i=0;i<count;i++) {