aboutsummaryrefslogtreecommitdiff
path: root/Test - Benchmark
diff options
context:
space:
mode:
authorJNDTUHH <jndiercks@gmail.com>2018-01-16 21:29:02 +0100
committerJNDTUHH <jndiercks@gmail.com>2018-01-16 21:29:02 +0100
commit809511996c83b9fa1f07bbf00ad70dbd9250471d (patch)
treee179b0bf3e9ba5d2e3afe1a893cd893e866f5973 /Test - Benchmark
parent734ef434c289abdcb7771989fcc73f12c95f5a63 (diff)
Fixed Benchmark
Diffstat (limited to 'Test - Benchmark')
-rw-r--r--Test - Benchmark/Mandelbrot.c31
1 files changed, 20 insertions, 11 deletions
diff --git a/Test - Benchmark/Mandelbrot.c b/Test - Benchmark/Mandelbrot.c
index d06d154..cffa090 100644
--- a/Test - Benchmark/Mandelbrot.c
+++ b/Test - Benchmark/Mandelbrot.c
@@ -8,11 +8,11 @@
#define x_MIN -2.0
#define x_MAX 1.0
-#define y_MIN -1.0
+#define y_MIN 0
#define y_MAX 1.0
-#define BMP_HEIGHT 800
-#define BMP_WIDTH 1000
+#define BMP_HEIGHT 1080
+#define BMP_WIDTH 1920
#define N_MAX 250
@@ -30,7 +30,7 @@ void toMath(int X, int Y, double* x, double* y) {
int mandelbrot(double x, double y, double zx, double zy, int n, int n_max,
double threshold) {
- if ((n <= n_max) && ((zx * zx + zy * zy) < threshold)) {
+ if ((n < n_max) && ((zx * zx + zy * zy) < threshold)) {
double zx_new = (zx * zx - zy * zy + x);
double zy_new = (2 * zx * zy + y);
if ((zx_new == zx) && (zy_new == zy)) {
@@ -64,8 +64,8 @@ int main(){
}
}
end = clock();
- // printf("Rekursion Ende");
- // getchar();
+ printf("Rekursion Ende\n");
+ //getchar();
// for(int i = 0; i < BMP_HEIGHT*BMP_WIDTH; i++){
// printf("%d\n",data[i]);
@@ -73,7 +73,6 @@ int main(){
begin2 = clock();
uint32_t* data2 = (uint32_t*) malloc(BMP_WIDTH * BMP_HEIGHT * sizeof(uint32_t));
- int m = 0;
for (int Y = 0; Y < BMP_HEIGHT; Y++) {
for (int X = 0; X < BMP_WIDTH; X++) {
@@ -81,20 +80,25 @@ int main(){
toMath(X, Y, &x, &y);
double cx = x;
double cy = y;
- while(m <=n_max && (x*x)+(y*y) <= 4){
+ int m = 0;
+ while(m <=n_max && (x*x)+(y*y) < 4){
x2 = x;
x = (x*x) - (y*y) + cx;
y = 2.0*x2*y + cy;
m++;
}
- data2[Y * BMP_WIDTH + X] = n;
+ data2[Y * BMP_WIDTH + X] = m;
}
}
end2 = clock();
+ printf("Schleife Ende\n");
- // for(int i = 0; i < BMP_HEIGHT*BMP_WIDTH; i++){
- // printf("%d\n",data2[i]);
+ // for(int i = 0; i < BMP_WIDTH * BMP_HEIGHT; i++){
+ // if(data[i] != data[2]){
+ // printf("Unterschied\n");
+ // }
// }
+
printf("Rekursion:\n");
@@ -114,6 +118,11 @@ int main(){
z/=CLOCKS_PER_SEC;
printf("Zeit zwischen begin und end: %f Sekunden\n", z);
printf("CLOCKS_PER_SEC: %d\n", CLOCKS_PER_SEC);
+
+ for(int i = 0; i < BMP_HEIGHT*BMP_WIDTH; i++){
+ printf("Schleife: %d -- Rekursion: %d\n",data2[i], data[i]);
+ getch();
+ }