summaryrefslogtreecommitdiff
path: root/gtk/gtkconstraintsolver.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-06-29 20:40:34 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2019-07-01 00:10:11 +0100
commit405121bccc753a7a962f83cf58a97169037141f3 (patch)
tree3643ef386ce4d7598dbebf096e221c46579babd8 /gtk/gtkconstraintsolver.c
parentcb96b343153d044216521bdd2b55141c8914266b (diff)
downloadgtk+-405121bccc753a7a962f83cf58a97169037141f3.tar.gz
constraint solver: Use GTK_NOTE
Allow using GTK_DEBUG=constraints to get debug output from the constraints solver.
Diffstat (limited to 'gtk/gtkconstraintsolver.c')
-rw-r--r--gtk/gtkconstraintsolver.c101
1 files changed, 49 insertions, 52 deletions
diff --git a/gtk/gtkconstraintsolver.c b/gtk/gtkconstraintsolver.c
index 7a93a61073..ace5982657 100644
--- a/gtk/gtkconstraintsolver.c
+++ b/gtk/gtkconstraintsolver.c
@@ -736,17 +736,12 @@ gtk_constraint_solver_optimize (GtkConstraintSolver *self,
self->optimize_count += 1;
#ifdef G_ENABLE_DEBUG
- {
- char *str;
-
- str = gtk_constraint_variable_to_string (z);
- g_debug ("optimize: %s\n", str);
- g_free (str);
-
- str = gtk_constraint_solver_to_string (self);
- g_debug ("%s\n", str);
- g_free (str);
- }
+ if (GTK_DEBUG_CHECK (CONSTRAINTS))
+ {
+ char *str = gtk_constraint_variable_to_string (z);
+ g_message ("optimize: %s", str);
+ g_free (str);
+ }
#endif
while (TRUE)
@@ -802,28 +797,28 @@ gtk_constraint_solver_optimize (GtkConstraintSolver *self,
if (min_ratio == DBL_MAX)
{
- g_debug ("Unbounded objective variable during optimization");
+ GTK_NOTE (CONSTRAINTS, g_message ("Unbounded objective variable during optimization"));
break;
}
#ifdef G_ENABLE_DEBUG
- {
- char *entry_s = gtk_constraint_variable_to_string (entry);
- char *exit_s = gtk_constraint_variable_to_string (exit);
- g_debug ("pivot(entry: %s, exit: %s)", entry_s, exit_s);
- g_free (entry_s);
- g_free (exit_s);
- }
+ if (GTK_DEBUG_CHECK (CONSTRAINTS))
+ {
+ char *entry_s = gtk_constraint_variable_to_string (entry);
+ char *exit_s = gtk_constraint_variable_to_string (exit);
+ g_message ("pivot(entry: %s, exit: %s)", entry_s, exit_s);
+ g_free (entry_s);
+ g_free (exit_s);
+ }
#endif
gtk_constraint_solver_pivot (self, entry, exit);
}
-#ifdef G_ENABLE_DEBUG
- g_debug ("solver.optimize.time := %.3f ms (pass: %d)",
- (float) (g_get_monotonic_time () - start_time) / 1000.f,
- self->optimize_count);
-#endif
+ GTK_NOTE (CONSTRAINTS,
+ g_message ("solver.optimize.time := %.3f ms (pass: %d)",
+ (float) (g_get_monotonic_time () - start_time) / 1000.f,
+ self->optimize_count));
}
/*< private >
@@ -1061,10 +1056,9 @@ gtk_constraint_solver_dual_optimize (GtkConstraintSolver *self)
gtk_constraint_solver_pivot (self, entry_var, exit_var);
}
-#ifdef G_ENABLE_DEBUG
- g_debug ("dual_optimize.time := %.3f ms",
- (float) (g_get_monotonic_time () - start_time) / 1000.f);
-#endif
+ GTK_NOTE (CONSTRAINTS,
+ g_message ("dual_optimize.time := %.3f ms",
+ (float) (g_get_monotonic_time () - start_time) / 1000.f));
}
static void
@@ -1205,7 +1199,8 @@ gtk_constraint_solver_choose_subject (GtkConstraintSolver *self,
if (!G_APPROX_VALUE (gtk_constraint_expression_get_constant (expression), 0.0, 0.001))
{
- g_debug ("Unable to satisfy required constraint (choose_subject)");
+ GTK_NOTE (CONSTRAINTS,
+ g_message ("Unable to satisfy required constraint (choose_subject)"));
return NULL;
}
@@ -1266,14 +1261,17 @@ gtk_constraint_solver_add_with_artificial_variable (GtkConstraintSolver *self,
az_tableau_row = g_hash_table_lookup (self->rows, az);
if (!G_APPROX_VALUE (gtk_constraint_expression_get_constant (az_tableau_row), 0.0, 0.001))
{
- char *str = gtk_constraint_expression_to_string (expression);
-
gtk_constraint_solver_remove_column (self, av);
gtk_constraint_solver_remove_row (self, az, TRUE);
- g_debug ("Unable to satisfy a required constraint (add): %s", str);
-
- g_free (str);
+#ifdef G_ENABLE_DEBUG
+ if (GTK_DEBUG_CHECK (CONSTRAINTS))
+ {
+ char *str = gtk_constraint_expression_to_string (expression);
+ g_message ("Unable to satisfy a required constraint (add): %s", str);
+ g_free (str);
+ }
+#endif
return;
}
@@ -1318,15 +1316,14 @@ gtk_constraint_solver_add_constraint_internal (GtkConstraintSolver *self,
&prev_constant);
#ifdef G_ENABLE_DEBUG
- {
- char *expr_s = gtk_constraint_expression_to_string (expr);
- char *ref_s = gtk_constraint_ref_to_string (constraint);
-
- g_debug ("Adding constraint '%s' (normalized expression: '%s')\n", ref_s, expr_s);
-
- g_free (ref_s);
- g_free (expr_s);
- }
+ if (GTK_DEBUG_CHECK (CONSTRAINTS))
+ {
+ char *expr_s = gtk_constraint_expression_to_string (expr);
+ char *ref_s = gtk_constraint_ref_to_string (constraint);
+ g_message ("Adding constraint '%s' (normalized expression: '%s')", ref_s, expr_s);
+ g_free (ref_s);
+ g_free (expr_s);
+ }
#endif
if (constraint->is_stay)
@@ -1512,10 +1509,9 @@ gtk_constraint_solver_resolve (GtkConstraintSolver *solver)
gtk_constraint_solver_reset_stay_constants (solver);
-#ifdef G_ENABLE_DEBUG
- g_debug ("resolve.time := %.3f ms",
- (float) (g_get_monotonic_time () - start_time) / 1000.f);
-#endif
+ GTK_NOTE (CONSTRAINTS,
+ g_message ("resolve.time := %.3f ms",
+ (float) (g_get_monotonic_time () - start_time) / 1000.f));
solver->needs_solving = FALSE;
}
@@ -1634,11 +1630,12 @@ gtk_constraint_solver_add_stay_variable (GtkConstraintSolver *self,
self);
#ifdef G_ENABLE_DEBUG
- {
- char *str = gtk_constraint_expression_to_string (res->expression);
- g_debug ("Adding stay variable: %s", str);
- g_free (str);
- }
+ if (GTK_DEBUG_CHECK (CONSTRAINTS))
+ {
+ char *str = gtk_constraint_expression_to_string (res->expression);
+ g_message ("Adding stay variable: %s", str);
+ g_free (str);
+ }
#endif
gtk_constraint_solver_add_constraint_internal (self, res);