[WIP] Integrate utilities from CTModels.Utils into CTBase#446
Merged
Conversation
- New Interpolation module with ctinterpolate functions - Extended Core with matrix_utils, function_utils, macros - Updated docs/api_reference.jl for new modules - Moved DeepWiki tip in index.md
- Interpolation module: ctinterpolate, ctinterpolate_constant - Core utilities: matrix_utils, function_utils, macros - Tests for all new modules
- Added Interpolant{Linear} and Interpolant{Constant} types
- Implemented call methods for each type
- Added display.jl with custom show methods
- Updated docs to include types.jl and display.jl
- Added type stability tests for interpolant calls
Member
Author
Implementation CompleteAll utilities from CTModels.Utils have been successfully integrated into CTBase following the architectural decision to split by responsibility: New Module: Interpolation
Core Extensions
Documentation
Test ResultsAll 1237 tests pass (41.2s), including:
The implementation follows CTBase conventions: qualified imports, no top-level exports, typed structs with call methods, and comprehensive docstrings with |
ocots
marked this pull request as ready for review
June 12, 2026 15:20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR implements issue #445: migrating the
Utilsmodule from CTModels.jl to CTBase.jl.Overview
The utilities from CTModels.Utils (interpolation, matrix utilities, function utilities, and validation macros) are generic and reusable across the control-toolbox ecosystem. They should live in CTBase as the foundational layer.
Architectural Decision
Rather than creating a monolithic
Utilsmodule (which would violate the "one module per responsibility" philosophy), we are splitting by responsibility:Interpolation—ctinterpolate,ctinterpolate_constantCore—matrix2vec(public),to_out_of_place(private),@ensure(private)Implementation Plan
The detailed implementation plan is documented in the plan file. Key steps:
Interpolationmodule with interpolation utilitiesCorewith matrix, function, and macro utilitiessrc/CTBase.jldocs/api_reference.jlCurrent Status
This is a placeholder PR to establish the branch. The actual implementation will follow the plan in subsequent commits.
References