containedangle.c (2059B)
1 // test contained angle 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <stdint.h> 6 #include <time.h> 7 #include <math.h> 8 #include "../lash_game_standard.h" 9 10 int main(int argc, char *argv[]) { 11 12 int test_count = 1000; 13 clock_t test_clock_total = 0.f; 14 15 if (argc < 10) { 16 printf("Usage: %s x y magnitude world_width world_height buffer_top buffer_right buffer_bottom buffer_left\n\n", argv[0]); 17 return 1; 18 } 19 //int x = atoi(argv[1]); 20 //int y = atoi(argv[2]); 21 double x = atof(argv[1]); 22 double y = atof(argv[2]); 23 double m = atof(argv[3]); 24 //int w_container = atoi(argv[4]); 25 //int h_container = atoi(argv[5]); 26 double w_container = atoi(argv[4]); 27 double h_container = atoi(argv[5]); 28 int buf_top = atoi(argv[6]); 29 int buf_right = atoi(argv[7]); 30 int buf_bottom = atoi(argv[8]); 31 int buf_left = atoi(argv[9]); 32 33 double angle_min = -1.f; 34 double angle_max = -1.f; 35 //int x_min = -1; 36 //int y_min = -1; 37 //int x_max = -1; 38 //int y_max = -1; 39 double x_min = -1.f; 40 double y_min = -1.f; 41 double x_max = -1.f; 42 double y_max = -1.f; 43 44 int i; 45 46 for (i = 0; i < test_count; i++) { 47 clock_t begin = clock(); 48 lash_getContainedAngle(x, y, m, w_container, h_container, buf_top, buf_right, buf_bottom, buf_left, &angle_min, &angle_max, 1, &x_min, &y_min, &x_max, &y_max); 49 clock_t end = clock(); 50 test_clock_total += end - begin; 51 } 52 //printf("World size: %d,%d\nPosition: %d,%d\nBuffers: %d,%d,%d,%d\nAngle min: %f (edge at %d,%d)\nAngle max: %.2f (edge at %d,%d)\n", w_container, h_container, x, y, buf_top, buf_right, buf_bottom, buf_left, angle_min, x_min, y_min, angle_max, x_max, y_max); 53 printf("World size: %f,%f\nPosition: %f,%f\nBuffers: %d,%d,%d,%d\nAngle min: %f (edge at %f,%f)\nAngle max: %.2f (edge at %f,%f)\n", w_container, h_container, x, y, buf_top, buf_right, buf_bottom, buf_left, angle_min, x_min, y_min, angle_max, x_max, y_max); 54 printf("Avg execution time (from %d): %lu ticks @ %li pr sec = %.7f secs\n\n", test_count, (long)test_clock_total, CLOCKS_PER_SEC, ((double)test_clock_total / CLOCKS_PER_SEC) / test_count); 55 56 return 0; 57 }