aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw27@cam.ac.uk>2009-04-06 11:56:43 +0100
committerThomas White <taw27@cam.ac.uk>2009-04-06 11:56:43 +0100
commit260a88fd253ff23cc2c4c723b67e010c62d2e1d6 (patch)
tree6b361dddbc66357624f97bf888f128caf9d03074
parenta212cc5f0fc4924e53638771e67beb60e2b8cc96 (diff)
Three directions simultaneously
-rw-r--r--src/refine.c36
1 files 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 ) {