This pull request proposes the removal of specific functions and a type alias from our project that have become redundant due to the introduction of more modern and efficient compute functions. This change aims to enhance system performance and code maintainability.
Functions Removed
`inplace2(func, data, i, kwargs)**: Executesfuncin-place on two elements fromdataat indexi`. It's typically used for operations that modify these elements based on each other.
`inplace1(func, data, i, kwargs)**: Appliesfuncdirectly to a single element at indexiindata`. This is used for simple, direct modifications of individual items.
`return_to_self(func, data, i, kwargs)**: Appliesfuncto an element at indexi` and updates that same element with the result. It ensures the transformation of individual data points while maintaining their position in the array.
`inplace_second_2d(func, data, i, kwargs)**: Usesfuncto modify an element at indexi` in one dataset and a whole 2D array in another. This is useful for updating 2D data based on specific 1D index-related values.
`return_to_second_at_i(func, data, i, kwargs)**: Executesfuncon an element at indexi` from one dataset and stores the result at the same index in a second dataset. It is ideal for operations where outputs are mapped directly to another data structure.
Testing
Extensive testing has confirmed that these changes do not negatively impact our operations. All tests have been updated to align with the new system, ensuring that it performs reliably and efficiently.
Acceptance Criteria
Run Unit Tests: Ensure that all existing unit tests pass successfully. This includes tests that have been updated to reflect the removal of the deprecated functions.
Integration Testing: Perform integration tests to verify that the new compute functions interact correctly with other parts of the system.
Performance Benchmarking: Compare the performance of the new compute functions with the old functions to ensure that there are improvements or at least no regressions.
Manual Testing: Conduct manual testing on critical workflows that previously relied on the removed functions to confirm they operate as expected.
Documentation
The documentation has been updated to reflect these changes. All relevant modifications have been documented in the appropriate file in docs/release_notes.
coverage: 73.154% (+0.02%) from 73.137%
when pulling 1b3d63c3e4d7dc5e63535f5245312e2ad06ade79 on remove_shared_functions
into dce729e5147779ad642d6b053017acdc4c9dc560 on main.
coverage: 73.16% (+0.02%) from 73.137%
when pulling b638feb30e1ba32d7552a204b271ccb34c20a070 on remove_shared_functions
into dce729e5147779ad642d6b053017acdc4c9dc560 on main.
Description
This pull request proposes the removal of specific functions and a type alias from our project that have become redundant due to the introduction of more modern and efficient compute functions. This change aims to enhance system performance and code maintainability.
Functions Removed
**: Executes
funcin-place on two elements from
dataat index
i`. It's typically used for operations that modify these elements based on each other.**: Applies
funcdirectly to a single element at index
iin
data`. This is used for simple, direct modifications of individual items.**: Applies
functo an element at index
i` and updates that same element with the result. It ensures the transformation of individual data points while maintaining their position in the array.**: Uses
functo modify an element at index
i` in one dataset and a whole 2D array in another. This is useful for updating 2D data based on specific 1D index-related values.**: Executes
funcon an element at index
i` from one dataset and stores the result at the same index in a second dataset. It is ideal for operations where outputs are mapped directly to another data structure.Testing
Extensive testing has confirmed that these changes do not negatively impact our operations. All tests have been updated to align with the new system, ensuring that it performs reliably and efficiently.
Acceptance Criteria
Documentation
The documentation has been updated to reflect these changes. All relevant modifications have been documented in the appropriate file in
docs/release_notes
.