Added new file (function_data.py) to include the function_data structs from InfrastructureSystems as python classes, which are necessary for parsing data for cost function inputs into Sienna. I included classes for linear and quadratic functions, as well as piecewise linear and piecewise step functions.
Note, we kept PiecewiseLinearData.points as a list of NamedTuples (rather than change it to two separate lists of x, y coordinates) to ensure it is consistent with the structs built on top of function_data in InfrastructureSystems and elsewhere.
Added new file (function_data.py) to include the function_data structs from InfrastructureSystems as python classes, which are necessary for parsing data for cost function inputs into Sienna. I included classes for linear and quadratic functions, as well as piecewise linear and piecewise step functions.
Note, we kept PiecewiseLinearData.points as a list of NamedTuples (rather than change it to two separate lists of x, y coordinates) to ensure it is consistent with the structs built on top of function_data in InfrastructureSystems and elsewhere.