int main (){
int vector[100];
int i,cont,resultado ,num, largo=100;
	cont=0;
	for (i=0;i<100;i++){
		//cont ++;
		vector[i] = cont;
		cont ++;
	}
	printf("Ingrese un numero entre 1 y 100:");
	fflush(stdout);
	scanf("%d",&num);
	fflush(stdin);
	resultado= dicotomica(vector,num,largo);
	printf("se encontro el numero depues de  %d pasos\n", resultado);
	resultado = secuencial(vector, num,largo);
	printf("se encontro el numero depues de  %d pasos\n", resultado);
	return 0;
}
Beispiel #2
0
int main(int argc, char *argv[]) {

	IplImage *img1,*img2;
	double elapsed;
	uint height, width, step, channels;

	uchar *data;
	int i;
	uint channel;

	if(argc != 3) {
		printf("wave <modelo> <imagen>\n");
		exit(1);
	}

	// wavelet model
	wavelet = (struct wavelet *) NULL;
	if(! strcmp(argv[1],"haar"))
		wavelet = &haar;
	if(! strcmp(argv[1],"daub4")) 
		wavelet = &daub4;
	if(! strcmp(argv[1],"db3")) 
		wavelet = &db3;
	if(! wavelet)
		debug("No se conoce el modelo (haar, daub4)", 0);
	

  	// load an image
	img1=cvLoadImage(argv[2],1);
	if(!img1){
		printf("Could not load image file: %s\n",argv[1]);
		exit(0);
  	}

	// get the image data
	height    = img1->height;
	width     = img1->width;
	step      = img1->widthStep;
	channels  = img1->nChannels;
	data      = (uchar *)img1->imageData;
	printf("Processing a %dx%d image with %d channels - step = %d\n",height,width,channels, step);

	// prepare second image object
	img2 = cvCreateImage(cvSize(width, height),IPL_DEPTH_8U,1);
	img2->imageData = (uchar *) malloc(sizeof(uchar)* height * width * channels);
	img2->widthStep = step;
	img2->nChannels = channels;

	// copy img1 into img2
	//for(i=0; i < height * width * channels; i++)
    //   img2->imageData[i] = img1->imageData[i];
	
	timerOn();
	secuencial(wavelet, img1, img2);
//backandforth(img1,img2);
	elapsed = timerOff();
	printf("Secuencial %e ms\n",elapsed);

//	opencl();
	timerOn();
	elapsed = timerOff();
	printf("Paralelo %lf ms\n",elapsed);

}