From 260a88fd253ff23cc2c4c723b67e010c62d2e1d6 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 6 Apr 2009 11:56:43 +0100 Subject: Three directions simultaneously --- src/refine.c | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/src/refine.c b/src/refine.c index a642096..f3c1dc3 100644 --- a/src/refine.c +++ b/src/refine.c @@ -412,7 +412,7 @@ double refine_do_cell(ControlContext *ctx) { for ( it=1; it<=10000; it++ ) { int found = 0; - int comp1, comp2; + int comp1, comp2, comp3; #if REFINE_DEBUG_MORE refine_mean_dev(d, nf, devcell, 1); @@ -434,23 +434,25 @@ double refine_do_cell(ControlContext *ctx) { #endif /* REFINE_DEBUG_MORE */ for ( comp1=1; comp1<19; comp1++ ) { - for ( comp2=0; comp2<19; comp2++ ) { - - memcpy(devcell_try, devcell, sizeof(Basis)); - refine_cell_delta(devcell_try, comp1); - refine_cell_delta(devcell_try, comp2); - mean_dev_try = refine_mean_dev(d, nf, - devcell_try, 0); - - /* Improvement greater than the tolerance? */ - if ( mean_dev_try < mean_dev-0.001 ) { - mean_dev = mean_dev_try; - memcpy(devcell_try_best, devcell_try, - sizeof(Basis)); - found = 1; - } - + for ( comp2=0; comp2<19; comp2++ ) { + for ( comp3=0; comp3<19; comp3++ ) { + + memcpy(devcell_try, devcell, sizeof(Basis)); + refine_cell_delta(devcell_try, comp1); + refine_cell_delta(devcell_try, comp2); + refine_cell_delta(devcell_try, comp3); + mean_dev_try = refine_mean_dev(d, nf, devcell_try, 0); + + /* Improvement greater than the tolerance? */ + if ( mean_dev_try < mean_dev-0.001 ) { + mean_dev = mean_dev_try; + memcpy(devcell_try_best, devcell_try, + sizeof(Basis)); + found = 1; } + + } + } } // printf("mean_dev = %f\n", mean_dev); if ( found ) { -- cgit v1.2.3