3333#include <omp.h>
3434#endif
3535
36- #define DEBUG_TOPOLOGY_SPR 1
36+ // #define DEBUG_TOPOLOGY_SPR 1
3737
3838
3939void compare_trees (Node * node1 , Node * node2 ){
@@ -251,16 +251,18 @@ double optimize_brent_branch_length_3( SingleTreeLikelihood *stlk, Optimizer *op
251251 double lnl = stlk -> calculate (stlk );
252252 double lnl2 = lnl + 10 ;
253253 data -> index_param = -1 ;
254+ #ifdef DEBUG_TOPOLOGY_SPR
254255 printf ("-- lnl %f\n" ,lnl );
255-
256+ #endif
256257
257258 if ( Node_isroot (node1 ) ){
258259 printf ("Cannot be called on the root\n%s\n%s: %d\n" , __func__ , __FILE__ , __LINE__ );
259260 exit (1 );
260261 }
261262
262-
263+ #ifdef DEBUG_TOPOLOGY_SPR
263264 printf ("%f %f %f %f\n" , Node_distance (node1 ), Node_distance (node1 -> left ), Node_distance (node1 -> right ), Node_distance (node2 ));
265+ #endif
264266 while ( 1 ) {
265267
266268 SingleTreeLikelihood_update_all_nodes (stlk );
@@ -272,8 +274,9 @@ double optimize_brent_branch_length_3( SingleTreeLikelihood *stlk, Optimizer *op
272274 if ( status == OPT_ERROR ) error ("OPT.DISTANCE No SUCCESS!!!!!!!!!!!!\n" );
273275
274276 Node_set_distance ( node1 -> left , Parameters_value (param , 0 ) );
275-
277+ #ifdef DEBUG_TOPOLOGY_SPR
276278 printf ("** lnl %f (%f) %s %f\n" , - lnl2 , lnl ,node1 -> left -> name , Parameters_value (param , 0 ) );
279+ #endif
277280
278281
279282
@@ -286,9 +289,9 @@ double optimize_brent_branch_length_3( SingleTreeLikelihood *stlk, Optimizer *op
286289 if ( status == OPT_ERROR ) error ("OPT.DISTANCE No SUCCESS!!!!!!!!!!!!\n" );
287290
288291 Node_set_distance ( node1 -> right , Parameters_value (param , 0 ) );
289-
292+ #ifdef DEBUG_TOPOLOGY_SPR
290293 printf ("** lnl %f (%f) %s %f\n" , - lnl2 , lnl ,node1 -> right -> name , Parameters_value (param , 0 ) );
291-
294+ #endif
292295
293296 SingleTreeLikelihood_update_all_nodes (stlk );
294297 data -> index_param = node1 -> postorder_idx ;
@@ -299,9 +302,9 @@ double optimize_brent_branch_length_3( SingleTreeLikelihood *stlk, Optimizer *op
299302 if ( status == OPT_ERROR ) error ("OPT.DISTANCE No SUCCESS!!!!!!!!!!!!\n" );
300303
301304 Node_set_distance ( node1 , Parameters_value (param , 0 ) );
302-
305+ #ifdef DEBUG_TOPOLOGY_SPR
303306 printf ("** lnl %f (%f) %s %f\n" , - lnl2 , lnl ,node1 -> name , Parameters_value (param , 0 ) );
304-
307+ #endif
305308
306309
307310 SingleTreeLikelihood_update_all_nodes (stlk );
@@ -313,9 +316,9 @@ double optimize_brent_branch_length_3( SingleTreeLikelihood *stlk, Optimizer *op
313316 if ( status == OPT_ERROR ) error ("OPT.DISTANCE No SUCCESS!!!!!!!!!!!!\n" );
314317
315318 Node_set_distance ( node2 , Parameters_value (param , 0 ) );
316-
319+ #ifdef DEBUG_TOPOLOGY_SPR
317320 printf ("** lnl %f (%f) %s %f\n" , - lnl2 , lnl ,node2 -> name , Parameters_value (param , 0 ) );
318-
321+ #endif
319322 if ( - lnl2 - lnl < 0.01 ){
320323 lnl = - lnl2 ;
321324 break ;
@@ -324,8 +327,9 @@ double optimize_brent_branch_length_3( SingleTreeLikelihood *stlk, Optimizer *op
324327 }
325328
326329 SingleTreeLikelihood_update_all_nodes (stlk );
327-
330+ #ifdef DEBUG_TOPOLOGY_SPR
328331 printf ("%f %f %f %f\n" , Node_distance (node1 ), Node_distance (node1 -> left ), Node_distance (node1 -> right ), Node_distance (node2 ));
332+ #endif
329333 //return stlk->calculate(stlk);
330334 return lnl ;
331335}
@@ -422,9 +426,9 @@ double spr_optimize_bl_parsimony( struct TopologyOptimizer * opt ){
422426
423427 Parsimony * parsimony = new_Parsimony (tlk2 -> sp , tlk2 -> tree );
424428 double score = parsimony -> calculate (parsimony );
425-
426- printf ("\nParsimony score: %f\n\n" , score );
427-
429+ if ( tlk -> opt . verbosity > 0 ){
430+ printf ("\nParsimony score: %f\n\n" , score );
431+ }
428432
429433 Optimizer * opt_bl = new_Optimizer (OPT_BRENT );
430434 BrentData * data_brent = new_BrentData ( tlk2 );
@@ -809,7 +813,6 @@ double spr_optimize_bl_parsimony( struct TopologyOptimizer * opt ){
809813//#define SPR_THREAD 1
810814//#define _OPENMP 1
811815
812- #define DEBUG_TOPOLOGY_SPR 1
813816
814817// neighborhood size 2(n − 3)(2n − 7)
815818double spr_optimize_bl_parsimony_only ( struct TopologyOptimizer * opt ){
@@ -826,9 +829,10 @@ double spr_optimize_bl_parsimony_only( struct TopologyOptimizer * opt ){
826829
827830 int max_distance = 20 ;//5;
828831
829- printf ("\nParsimony score: %f (%i)\n\n" , score , total );
830- printf ("Maximum radius %d\n\n" , max_distance );
831-
832+ if (tlk -> opt .verbosity > 0 ){
833+ printf ("\nParsimony score: %f (%i)\n\n" , score , total );
834+ printf ("Maximum radius %d\n\n" , max_distance );
835+ }
832836
833837 int nNodes = Tree_node_count (tlk -> tree );
834838 bool failed = false;
@@ -1110,9 +1114,9 @@ double spr_optimize_bl_parsimony_only( struct TopologyOptimizer * opt ){
11101114 Parsimony_update_all_nodes (parsimony );
11111115
11121116 spr_score = parsimony -> calculate (parsimony );
1113-
1114- printf ("Parsimony %f (%f) d(prune,graft)=%d max %f\n" , spr_score , scores [i ], ds [i ], score );
1115-
1117+ if ( tlk -> opt . verbosity > 0 ){
1118+ printf ("Parsimony %f (%f) d(prune,graft)=%d max %f\n" , spr_score , scores [i ], ds [i ], score );
1119+ }
11161120 // skip moves that increase the score
11171121 if ( spr_score >= score ) {
11181122
@@ -1139,7 +1143,9 @@ double spr_optimize_bl_parsimony_only( struct TopologyOptimizer * opt ){
11391143 opt -> moves ++ ;
11401144 }
11411145 }
1142- printf ("Parsimony score: %f #SPR: %d\n\n" , score , accepted );
1146+ if (tlk -> opt .verbosity > 0 ){
1147+ printf ("Parsimony score: %f #SPR: %d\n\n" , score , accepted );
1148+ }
11431149 }
11441150 else {
11451151 failed = true;
@@ -1183,8 +1189,9 @@ double spr_optimize_bl_parsimony_only_openmp( struct TopologyOptimizer * opt ){
11831189
11841190 int total = (Tree_tip_count (tlk -> tree )- 3 )* 2 * (2 * Tree_tip_count (tlk -> tree )- 7 );
11851191
1186- printf ("\nParsimony score: %f (%i)\n\n" , score , total );
1187-
1192+ if (tlk -> opt .verbosity > 0 ){
1193+ printf ("\nParsimony score: %f (%i)\n\n" , score , total );
1194+ }
11881195
11891196 int nNodes = Tree_node_count (tlk -> tree );
11901197 bool failed = false;
@@ -1510,7 +1517,7 @@ double spr_optimize_bl_parsimony_only_openmp( struct TopologyOptimizer * opt ){
15101517 //break;
15111518 }
15121519 else {
1513- #ifndef DEBUG_TOPOLOGY_SPR
1520+ #ifdef DEBUG_TOPOLOGY_SPR
15141521 printf ("Parsimony %f (%f) d(prune,graft)=%d max %f\n" , spr_score , scores [i ], ds [i ], score );
15151522#endif
15161523
@@ -1526,7 +1533,9 @@ double spr_optimize_bl_parsimony_only_openmp( struct TopologyOptimizer * opt ){
15261533 opt -> moves ++ ;
15271534 }
15281535 }
1529- printf ("Parsimony score: %f #SPR: %d\n\n" , score , accepted );
1536+ if (tlk -> opt .verbosity > 0 ){
1537+ printf ("Parsimony score: %f #SPR: %d\n\n" , score , accepted );
1538+ }
15301539 }
15311540 else {
15321541 failed = true;
@@ -1789,9 +1798,9 @@ double spr_optimize_bl_openmp( struct TopologyOptimizer * opt ){
17891798 free_Parameters_soft (oneparameter );
17901799
17911800
1792- //if(spr_score > lnl){
1801+ #ifdef DEBUG_TOPOLOGY_SPR
17931802 printf ("%s %s lnl %f (%f) %s\n\n" ,graft -> name , prune -> name , spr_score , lnl , (spr_score > lnl ? "*" : "" ));
1794- //}
1803+ #endif
17951804
17961805 //spr_score = tlk->calculate(tlk);
17971806
@@ -1914,9 +1923,9 @@ double spr_optimize_bl_openmp( struct TopologyOptimizer * opt ){
19141923 SingleTreeLikelihood_update_all_nodes (tlk );
19151924
19161925 spr_score = tlk -> calculate (tlk );
1917-
1926+ #ifdef DEBUG_TOPOLOGY_SPR
19181927 printf ("Parsimony %f (%f) d(prune,graft)=%d max %f\n" , spr_score , scores [i ], ds [i ], lnl );
1919-
1928+ #endif
19201929 // skip moves that increase the score
19211930 if ( spr_score >= lnl ) {
19221931
@@ -1937,7 +1946,7 @@ double spr_optimize_bl_openmp( struct TopologyOptimizer * opt ){
19371946 //break;
19381947 }
19391948 else {
1940- #ifndef DEBUG_TOPOLOGY_SPR
1949+ #ifdef DEBUG_TOPOLOGY_SPR
19411950 printf ("Parsimony %f (%f) d(prune,graft)=%d max %f\n" , spr_score , scores [i ], ds [i ], score );
19421951#endif
19431952 SingleTreeLikelihood_update_all_nodes (pool [0 ]);
@@ -1949,7 +1958,7 @@ double spr_optimize_bl_openmp( struct TopologyOptimizer * opt ){
19491958 lnl = spr_score ;
19501959 }
19511960
1952- #ifndef DEBUG_TOPOLOGY_SPR
1961+ #ifdef DEBUG_TOPOLOGY_SPR
19531962 printf ("Parsimony %f\n" , score );
19541963#endif
19551964 opt -> moves ++ ;
0 commit comments