-
Samuel Rowlinson authored
Each relevant ConnectorWorkspace now stores an array of pointers to cy_expr containing the changing symbolic ABCD matrix elements (NULL if not changing). These are evaluated (with direct pointer access) during the update_parameter_values routine of each of these workspaces. This optimisation also allows for a cleaner API for ABCD methods of components, removing the _sim_cache argument and now just storing the full symbolic and corresponding numeric matrix in _abcd_matrices dict rather than a bunch of simulation stuff that needed to be reset / cleared on simulation completion. The method for updating ABCD matrices outside of simulations remains the same. Also fixed a bug in cy_expr_init which resulted in inconsistency between changing parameter target pointers used due to an incorrect method for finding the index.
96392eaf