From ee8ae5d3c39e7bf5a9210b9ed1f9175af83904ba Mon Sep 17 00:00:00 2001 From: James Vaughan Date: Wed, 17 Jun 2026 11:36:28 -0400 Subject: [PATCH 01/10] Update CI2 --- .github/workflows/BuildAndTest.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/BuildAndTest.yml b/.github/workflows/BuildAndTest.yml index 5091006..fd69e8e 100644 --- a/.github/workflows/BuildAndTest.yml +++ b/.github/workflows/BuildAndTest.yml @@ -13,10 +13,8 @@ jobs: - uses: actions/checkout@v1 with: repository: TravelModellingGroup/XTMF2 - ref: origin/dev - - name: Build XTMF2 + - name: Build XTMF2 run: | - cd "../XTMF2" dotnet build -c Release - uses: actions/checkout@v1 - name: Build TMG-Framework From a3215c381e08ebf5b50f608035c0cc7949434c02 Mon Sep 17 00:00:00 2001 From: James Vaughan Date: Wed, 17 Jun 2026 11:38:32 -0400 Subject: [PATCH 02/10] Update CI3 --- .github/workflows/BuildAndTest.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/BuildAndTest.yml b/.github/workflows/BuildAndTest.yml index fd69e8e..269be86 100644 --- a/.github/workflows/BuildAndTest.yml +++ b/.github/workflows/BuildAndTest.yml @@ -13,6 +13,7 @@ jobs: - uses: actions/checkout@v1 with: repository: TravelModellingGroup/XTMF2 + ref: refs/heads/dev - name: Build XTMF2 run: | dotnet build -c Release From 448be6cfa0444e09d243c549afa9448e7576d3f8 Mon Sep 17 00:00:00 2001 From: James Vaughan Date: Wed, 17 Jun 2026 11:45:38 -0400 Subject: [PATCH 03/10] Debug CI --- .github/workflows/BuildAndTest.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/BuildAndTest.yml b/.github/workflows/BuildAndTest.yml index 269be86..e72a03f 100644 --- a/.github/workflows/BuildAndTest.yml +++ b/.github/workflows/BuildAndTest.yml @@ -13,8 +13,11 @@ jobs: - uses: actions/checkout@v1 with: repository: TravelModellingGroup/XTMF2 - ref: refs/heads/dev - - name: Build XTMF2 + ref: tree/dev + - name: Debug + run: | + ls -hla . + - name: Build XTMF2 run: | dotnet build -c Release - uses: actions/checkout@v1 From 974390a077a11b98e4ca6d76dbd13306d1e4fb37 Mon Sep 17 00:00:00 2001 From: James Vaughan Date: Wed, 17 Jun 2026 11:47:18 -0400 Subject: [PATCH 04/10] Debug CI --- .github/workflows/BuildAndTest.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/BuildAndTest.yml b/.github/workflows/BuildAndTest.yml index e72a03f..2b63cbe 100644 --- a/.github/workflows/BuildAndTest.yml +++ b/.github/workflows/BuildAndTest.yml @@ -13,7 +13,6 @@ jobs: - uses: actions/checkout@v1 with: repository: TravelModellingGroup/XTMF2 - ref: tree/dev - name: Debug run: | ls -hla . From 0a252cc18f1a77a52d107eb1e62f7958e1b2c969 Mon Sep 17 00:00:00 2001 From: James Vaughan Date: Wed, 17 Jun 2026 11:50:07 -0400 Subject: [PATCH 05/10] Debug CI --- .github/workflows/BuildAndTest.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/BuildAndTest.yml b/.github/workflows/BuildAndTest.yml index 2b63cbe..c757557 100644 --- a/.github/workflows/BuildAndTest.yml +++ b/.github/workflows/BuildAndTest.yml @@ -13,6 +13,7 @@ jobs: - uses: actions/checkout@v1 with: repository: TravelModellingGroup/XTMF2 + ref: origin/dev - name: Debug run: | ls -hla . From d8139aa651896918595bc244ec4edf44ba0933a2 Mon Sep 17 00:00:00 2001 From: James Vaughan Date: Wed, 17 Jun 2026 11:51:47 -0400 Subject: [PATCH 06/10] Debug CI --- .github/workflows/BuildAndTest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/BuildAndTest.yml b/.github/workflows/BuildAndTest.yml index c757557..c7f281c 100644 --- a/.github/workflows/BuildAndTest.yml +++ b/.github/workflows/BuildAndTest.yml @@ -16,7 +16,7 @@ jobs: ref: origin/dev - name: Debug run: | - ls -hla . + ls . - name: Build XTMF2 run: | dotnet build -c Release From c4c96eb9667520770dc76e17aed85256fb59c9a6 Mon Sep 17 00:00:00 2001 From: James Vaughan Date: Wed, 17 Jun 2026 11:56:58 -0400 Subject: [PATCH 07/10] Debug CI --- .github/workflows/BuildAndTest.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/BuildAndTest.yml b/.github/workflows/BuildAndTest.yml index c7f281c..c898dfc 100644 --- a/.github/workflows/BuildAndTest.yml +++ b/.github/workflows/BuildAndTest.yml @@ -14,17 +14,17 @@ jobs: with: repository: TravelModellingGroup/XTMF2 ref: origin/dev - - name: Debug - run: | - ls . - name: Build XTMF2 run: | + cd "D:\a\TMG-Framework\XTMF2" dotnet build -c Release - uses: actions/checkout@v1 - name: Build TMG-Framework run: | + cd "D:\a\TMG-Framework\TMG-Framework" dotnet build -c Release - name: Unit Tests run: | + cd "D:\a\TMG-Framework\TMG-Framework" dotnet test -c Release From 8cb04dcab8fbf2966bf5f19423fdae9fa49fd2c6 Mon Sep 17 00:00:00 2001 From: James Vaughan Date: Wed, 17 Jun 2026 11:59:20 -0400 Subject: [PATCH 08/10] Debug CI --- .github/workflows/BuildAndTest.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/BuildAndTest.yml b/.github/workflows/BuildAndTest.yml index c898dfc..1aa1d70 100644 --- a/.github/workflows/BuildAndTest.yml +++ b/.github/workflows/BuildAndTest.yml @@ -16,15 +16,15 @@ jobs: ref: origin/dev - name: Build XTMF2 run: | - cd "D:\a\TMG-Framework\XTMF2" + cd "XTMF2" dotnet build -c Release - uses: actions/checkout@v1 - name: Build TMG-Framework run: | - cd "D:\a\TMG-Framework\TMG-Framework" + cd "TMG-Framework" dotnet build -c Release - name: Unit Tests run: | - cd "D:\a\TMG-Framework\TMG-Framework" + cd "TMG-Framework" dotnet test -c Release From b8973adc954464e7b2637d0c32df27bdb6bc981d Mon Sep 17 00:00:00 2001 From: James Vaughan Date: Wed, 17 Jun 2026 12:02:09 -0400 Subject: [PATCH 09/10] Debug CI --- .github/workflows/BuildAndTest.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/BuildAndTest.yml b/.github/workflows/BuildAndTest.yml index 1aa1d70..5091006 100644 --- a/.github/workflows/BuildAndTest.yml +++ b/.github/workflows/BuildAndTest.yml @@ -16,15 +16,13 @@ jobs: ref: origin/dev - name: Build XTMF2 run: | - cd "XTMF2" + cd "../XTMF2" dotnet build -c Release - uses: actions/checkout@v1 - name: Build TMG-Framework run: | - cd "TMG-Framework" dotnet build -c Release - name: Unit Tests run: | - cd "TMG-Framework" dotnet test -c Release From 3033ef6f501f9c424ebdf5c30c0b786eb43794bf Mon Sep 17 00:00:00 2001 From: James Vaughan Date: Sun, 26 Jul 2026 21:09:15 -0400 Subject: [PATCH 10/10] Refactored Matrix and Vector to allow for memory pools --- .../Construct/ConstructTimePeriodFromTimes.cs | 4 +- src/TMG-Framework/Data/Categories.cs | 11 +- src/TMG-Framework/Data/CategoryIndex.cs | 2 +- src/TMG-Framework/Data/CategoryMap.cs | 16 ++- src/TMG-Framework/Data/Matrix.cs | 90 +++++++++++--- src/TMG-Framework/Data/Range.cs | 2 +- src/TMG-Framework/Data/RangeSet.cs | 11 +- src/TMG-Framework/Data/RangeSetSet.cs | 15 ++- src/TMG-Framework/Data/Time.cs | 10 +- src/TMG-Framework/Data/Vector.cs | 59 ++++++++- src/TMG-Framework/FileOperations/CopyFile.cs | 10 +- .../FileOperations/DeleteFile.cs | 2 +- .../Loading/LoadCategoriesFromCSV.cs | 16 ++- .../LoadCategoryMapFromThirdNormalizedCSV.cs | 19 ++- .../Loading/LoadMatrixFromCSVMatrix.cs | 4 +- .../LoadMatrixFromCSVThirdNormalized.cs | 10 +- .../Loading/LoadMatrixFromMTX.cs | 4 +- .../Loading/LoadVectorFromCSV.cs | 6 +- src/TMG-Framework/Processing/AST/ASTNode.cs | 16 ++- src/TMG-Framework/Processing/AST/Add.cs | 29 +++-- .../Processing/AST/CompareAnd.cs | 16 +-- .../Processing/AST/CompareEqual.cs | 24 ++-- .../Processing/AST/CompareGreaterThan.cs | 24 ++-- .../AST/CompareGreaterThanOrEqual.cs | 24 ++-- .../Processing/AST/CompareNotEquals.cs | 24 ++-- src/TMG-Framework/Processing/AST/CompareOr.cs | 16 +-- src/TMG-Framework/Processing/AST/Compiler.cs | 6 +- src/TMG-Framework/Processing/AST/Divide.cs | 11 +- src/TMG-Framework/Processing/AST/Exponent.cs | 4 +- .../Processing/AST/Expression.cs | 108 +++++++++++++---- .../Processing/AST/FunctionCall.cs | 62 +++++----- .../Processing/AST/FusedMultiplyAdd.cs | 45 ++++--- src/TMG-Framework/Processing/AST/Multiply.cs | 10 +- src/TMG-Framework/Processing/AST/Negate.cs | 19 ++- src/TMG-Framework/Processing/AST/Subtract.cs | 8 +- .../Processing/AppendMatrixValueToCSV.cs | 12 +- .../Processing/Evaluate2DGravityModel.cs | 45 +++---- .../Processing/EvaluateMatrix.cs | 12 +- .../Processing/EvaluateScalar.cs | 8 +- .../Processing/EvaluateVector.cs | 8 +- .../ExecutePipelineInOrderParallel.cs | 4 +- .../Processing/IntegerizeMatrix.cs | 6 +- src/TMG-Framework/Saving/SaveMatrixAsCSV.cs | 8 +- src/TMG-Framework/Saving/SaveMatrixAsMTX.cs | 2 +- src/TMG-Framework/Saving/SaveVectorAsCSV.cs | 4 +- src/TMG-Framework/Select/SelectGivenTime.cs | 10 +- src/TMG-Framework/TMG-Framework.csproj | 1 + src/TMG-Framework/Utilities/CSVReader.cs | 2 +- .../Utilities/ExceptionHelper.cs | 13 ++ .../Utilities/VectorHelper/Add.cs | 6 +- .../VectorHelper/Conditions/FlagAnd.cs | 11 ++ .../VectorHelper/Conditions/FlagIfEquals.cs | 16 ++- .../Conditions/FlagIfGreaterThan.cs | 56 +++++++++ .../Conditions/FlagIfGreaterThanOrEqual.cs | 57 ++++++++- .../VectorHelper/Conditions/FlagIfLessThan.cs | 56 +++++++++ .../Conditions/FlagIfLessThanOrEqual.cs | 49 ++++++++ .../Conditions/FlagIfNotEquals.cs | 14 ++- .../VectorHelper/Conditions/FlagOr.cs | 13 +- .../Utilities/VectorHelper/Multiply.cs | 12 ++ .../Utilities/VectorHelper/VectorHelper.cs | 96 +++++++++++++++ .../ArbitaryParameterParser.cs | 14 +-- .../TMG-Framework.Test/Data/CategoriesTest.cs | 7 +- .../Data/CategoryMapTest.cs | 38 ++++-- tests/TMG-Framework.Test/Data/MatrixTest.cs | 8 +- tests/TMG-Framework.Test/Data/RangeTest.cs | 10 +- tests/TMG-Framework.Test/Data/VectorTest.cs | 8 +- ...stLoadCategoryMapFromThirdNormalizedCSV.cs | 53 ++++++--- .../Loading/TestLoadVector.cs | 2 +- .../Processing/TestEvaluateMatrix.cs | 2 +- .../Processing/TestEvaluateScalar.cs | 2 +- .../Processing/TestEvaluateVector.cs | 2 +- .../Processing/TestIntegerizeMatrix.cs | 36 ++++-- .../Saving/TestSaveMatrixAsCSV.cs | 4 +- .../Saving/TestSaveMatrixAsMTX.cs | 2 +- .../Saving/TestSaveVectorAsCSV.cs | 6 +- .../TMG-Framework.Test.csproj | 1 + tests/TMG-Framework.Test/Utilities/Helper.cs | 8 +- .../TMG-Framework.Test/Utilities/MapHelper.cs | 8 +- .../Utilities/MatrixHelper.cs | 11 +- .../Utilities/TestCompiler.cs | 112 ++++++++++-------- 80 files changed, 1160 insertions(+), 432 deletions(-) diff --git a/src/TMG-Framework/Construct/ConstructTimePeriodFromTimes.cs b/src/TMG-Framework/Construct/ConstructTimePeriodFromTimes.cs index 001b4ca..ec91489 100644 --- a/src/TMG-Framework/Construct/ConstructTimePeriodFromTimes.cs +++ b/src/TMG-Framework/Construct/ConstructTimePeriodFromTimes.cs @@ -28,10 +28,10 @@ namespace TMG.Construct public sealed class ConstructTimePeriodFromTimes : BaseFunction { [Parameter(Index = 0, Name = "Start Time", Required = true, Description = "The time to use as the starting point of the time period (Inclusive).")] - public IFunction