From d92265949acc35e78d51fd868da967222e458270 Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Mon, 19 Jan 2026 18:33:53 +1300 Subject: Streamlined some Fresh declarations now that it won't affect performance --- src/kompsos-math.adb | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/src/kompsos-math.adb b/src/kompsos-math.adb index e4022cf..e74ff60 100644 --- a/src/kompsos-math.adb +++ b/src/kompsos-math.adb @@ -191,6 +191,7 @@ package body Kompsos.Math is One, Two, Three : Goal := This; X_Var : constant Term := Three.Fresh; + Y_Var : constant Term := Three.Fresh; begin One.Unify (N_Term, Zero_Term); GT_Zero (One, M_Term); @@ -200,13 +201,9 @@ package body Kompsos.Math is Three.Unify (N_Term, T (Three.Fresh, X_Var)); GT_Zero (Three, X_Var); - declare - Y_Var : constant Term := Three.Fresh; - begin - Three.Unify (M_Term, T (Three.Fresh, Y_Var)); - GT_Zero (Three, Y_Var); - Three.Conjunct (LT_Length_Access, X_Var & Y_Var); - end; + Three.Unify (M_Term, T (Three.Fresh, Y_Var)); + GT_Zero (Three, Y_Var); + Three.Conjunct (LT_Length_Access, X_Var & Y_Var); return Disjunct (One & Two & Three); end LT_Length; @@ -256,6 +253,7 @@ package body Kompsos.Math is One, Two, Three : Goal := This; X_Var : constant Term := Three.Fresh; + Y_Var : constant Term := Three.Fresh; begin One.Unify (N_Term, Zero_Term); One.Unify (M_Term, Zero_Term); @@ -265,13 +263,9 @@ package body Kompsos.Math is Three.Unify (N_Term, T (Three.Fresh, X_Var)); GT_Zero (Three, X_Var); - declare - Y_Var : constant Term := Three.Fresh; - begin - Three.Unify (M_Term, T (Three.Fresh, Y_Var)); - GT_Zero (Three, Y_Var); - Three.Conjunct (EQ_Length_Access, X_Var & Y_Var); - end; + Three.Unify (M_Term, T (Three.Fresh, Y_Var)); + GT_Zero (Three, Y_Var); + Three.Conjunct (EQ_Length_Access, X_Var & Y_Var); return Disjunct (One & Two & Three); end EQ_Length; @@ -337,16 +331,14 @@ package body Kompsos.Math is M_Term : Term renames Inputs (2); One, Two : Goal := This; + + X_Var : constant Term := Two.Fresh; begin LT_Length (One, Inputs); EQ_Length (Two, Inputs); - declare - X_Var : constant Term := Two.Fresh; - begin - GT_Zero (Two, X_Var); - Add (Two, N_Term & X_Var & M_Term); - end; + GT_Zero (Two, X_Var); + Add (Two, N_Term & X_Var & M_Term); return Disjunct (One, Two); end LT; -- cgit