MNT: Move the Piecewise function to a separate module
Reasons for solving this issue:
- The function.py file is already quite big (more than 3.5k code lines).
- We should define each class in a separate file, this makes the lib more readable.
- There is absolutely no need to define the Piecewise Function class in the same file as the
Functionclass
Steps for accomplishing a solution to this issue:
- Create a file named
rocketpy\mathutils\piecewise_function.py - Move the
class PiecewiseFunction(Function):definition to the new file - Updates the
mathutils/__init__.pyfile to ensure the imports are working - Run the tests (
make pytest) and verify everything is working properly - Beware of potential breaking changes. What is the behavior of the following command before and after the changes?
from rocketpy.mathutils.function import PiecewiseFunction