Ejemplo n.º 1
0
int main()
{
	int n, * array, i;

	srand(time(NULL));
	n = mypow2(19);//28);
	printf("%d\n",n);
	array = (int *)malloc(sizeof(int) * n);
	long c = clock();
	for(i=0;i<n;++i)
		array[i] = i +5;
	int a, b, temp;
	for(i=0;i<n * 2;++i){
		a = rand() % n;
		b = rand() % n;
		temp = array[a];
		array[a] = array[b];
		array[b] = temp;
	}
	fprintf(stderr, "%lf\n", ((double)clock() - c) / CLOCKS_PER_SEC);
	for(i=0;i<10;++i)
		fprintf(stderr,"%d\n",array[i]);
	mergesort(array, n);
	fprintf(stderr, "RESULT!!\n");
	for(i=0;i<10;++i)
		fprintf(stderr,"%d\n",array[i]);
	for(i=0;i<n;++i)
		if(array[i] != i +5)
		{
			fprintf(stderr,"SORT FAILED!!");
			break;
		}
	return 0;
}
Ejemplo n.º 2
0
/*---------------------------------------------------------------------------*/
PROCESS_THREAD(shell_seq_data1_process, ev, data) {

	static uint16_t data_sam[NUM_SAM]; 
	uint16_t sum = 0;
	uint16_t sqsum = 0;
	static struct etimer etimer;

	PROCESS_BEGIN();


	//DEBUG CODE
	printf("cusum-seq: Gathering post-change data... ");


	// Gather NUM_SAM samples over 1 second of time
	SENSORS_ACTIVATE(light_sensor);
	for(counter = 0;counter < NUM_SAM;counter++) {
		// Get data for no change analysis.
		etimer_set(&etimer, CLOCK_SECOND / NUM_SAM);
		PROCESS_WAIT_UNTIL(etimer_expired(&etimer));
		data_sam[counter] = light_sensor.value(LIGHT_SENSOR_PHOTOSYNTHETIC);
	}
	printf("done!\n");
	SENSORS_DEACTIVATE(light_sensor);
	
	sum = 0;
	sqsum = 0;

	// Sum the change data
	for(counter = 0;counter < NUM_SAM;counter++) {
		sum = sum + data_sam[counter];
	}
	printf("cusum-seq: sum = %d\n",sum);
	mean_1 = sum/NUM_SAM;		// 542.3846
	printf("mean_1 = %d\n",mean_1);

	// Caclulate std_dev_1
	for(counter = 0;counter < NUM_SAM;counter++) {
		sqsum = sqsum + mypow2(abs_sub(data_sam[counter], mean_1));
	}
	std_dev_1 = sqsum/NUM_SAM;	// 16.8388
	std_dev_1 = mysqrt(std_dev_1);
	printf("cusum-seq: std_dev_1 = %d\n",std_dev_1);

	// DEBUG CODE
	blink_LEDs(LEDS_ALL);

	PROCESS_END();
}
Ejemplo n.º 3
0
Archivo: pow.c Proyecto: rowanpang/test
int main() {
    int t,n;
    long ret,ret2,ret3;
    scanf("%d",&t);
    scanf("%d",&n);

    printf("%d^%d\n",t,n);

    ret = mypow(t,n);
    ret2 = mypow2(t,n);
    ret3 = power(t,n);
    printf("ret:%ld,%#lx\n",ret,ret);
    printf("ret2:%ld,%#lx\n",ret2,ret2);
    printf("ret3:%ld,%#lx\n",ret3,ret3);
    return 0;
}
Ejemplo n.º 4
0
/*---------------------------------------------------------------------------*/
PROCESS_THREAD(shell_sample_stats_process, ev, data) {

	static uint16_t data_sam[NUM_SAM]; 
	uint16_t sum = 0;
	uint16_t sqsum = 0;
	static struct etimer etimer;

	PROCESS_BEGIN();

	// Gather NUM_SAM samples over 1 second of time
	sensor_init();
	printf("Gathering data... ");
	for(counter = 0;counter < NUM_SAM;counter++) {
		// Get data for no change analysis.
		etimer_set(&etimer, CLOCK_SECOND / NUM_SAM);
		PROCESS_WAIT_UNTIL(etimer_expired(&etimer));
		data_sam[counter] = sensor_read();
	}
	printf("done!\n");
	sensor_uinit();

	// Sum the no change data
	sum = 0;
	for(counter = 0;counter < NUM_SAM;counter++) {
		sum = sum + data_sam[counter];
	}
	sample_mean = 0;
	printf("sum = %d\n",sum);
	sample_mean = sum/NUM_SAM;
	printf("sample_mean = %d\n",sample_mean);

	// Caclulate sample_std_dev
	sqsum = 0;
	for(counter = 0;counter < NUM_SAM;counter++) {
		sqsum = sqsum + mypow2(abs_sub(data_sam[counter], sample_mean));
	}
	sample_std_dev = 0;
	sample_std_dev = sqsum/NUM_SAM;
	sample_std_dev = mysqrt(sample_std_dev);
	printf("std_dev = %d\n",sample_std_dev);

	PROCESS_END();
}