diff options
Diffstat (limited to 'libphysics')
| -rw-r--r-- | libphysics/test/Makefile | 5 | ||||
| -rw-r--r-- | libphysics/test/perf.c | 35 |
2 files changed, 39 insertions, 1 deletions
diff --git a/libphysics/test/Makefile b/libphysics/test/Makefile index a628f6b..46320e8 100644 --- a/libphysics/test/Makefile +++ b/libphysics/test/Makefile @@ -1,7 +1,7 @@ CFLAGS=-I../../include -g LDFLAGS=-L../ -lphysics `pkg-config --libs sdl3` -lm -all: vis +all: vis perf clean: rm -f vis @@ -10,6 +10,9 @@ clean: vis: ../libphysics.a vis.o $(CC) $^ $(LDFLAGS) -o $@ +perf: ../libphysics.a perf.o + $(CC) $^ $(LDFLAGS) -o $@ + %.o: %.c $(CC) $< $(CFLAGS) -c -o $@ diff --git a/libphysics/test/perf.c b/libphysics/test/perf.c new file mode 100644 index 0000000..67999be --- /dev/null +++ b/libphysics/test/perf.c @@ -0,0 +1,35 @@ +#include <stdio.h> +#include <stdlib.h> +#include <physics.h> +#include <assert.h> + +#define SBODY 2048 +#define FLOAT_RAND (2 * (rand() / (float)RAND_MAX) - 1) + +int +main() +{ + for(int i = 0; i < SBODY; i++) { + BodyID b = phxnew(BTYPE_AABB); + assert(b != -1); + + phxsetpos(b, rand() % 800, rand() % 600); + phxsetsize(b, 5.0, 5.0); + phxapplyaccel(b, (float[]){ 50000 * FLOAT_RAND, 50000 * FLOAT_RAND }); + } + + phxsetmap(8, 8, (int[]) { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, + 0, 1, 1, 0, 0, 1, 1, 0, + 0, 1, 1, 0, 0, 1, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 0, 0, 1, 1, 0, + 0, 1, 1, 0, 0, 1, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, + }); + + phxtick(10.0); + + return 0; +} |
