@@ -231,12 +231,10 @@ def get_parametrization(self, name: ParametrizationName) -> type[Parametrization
231231 """
232232 return self ._parametrizations [name ]
233233
234- def get_base_parameters (self , parameters : Parametrization ) -> Parametrization :
234+ def to_base (self , parameters : Parametrization ) -> Parametrization :
235235 """
236236 Convert parameters to the base parametrization.
237237
238- This method mirrors the former ``ParametrizationSpec.get_base_parameters``.
239-
240238 Parameters
241239 ----------
242240 parameters : Parametrization
@@ -280,47 +278,7 @@ def _build_analytical_computations(
280278 params_obj = parameters
281279 else :
282280 if base_params is None :
283- base_params = self .get_base_parameters (parameters )
284- params_obj = base_params
285-
286- func_factory = self .distr_characteristics [characteristic ][provider_name ]
287- result [characteristic ] = AnalyticalComputation (
288- target = characteristic ,
289- func = partial (func_factory , params_obj ),
290- )
291-
292- return result
293-
294- def build_analytical_computations (
295- self , parameters : Parametrization
296- ) -> dict [GenericCharacteristicName , AnalyticalComputation [Any , Any ]]:
297- """
298- Build analytical computations mapping for the given parameter instance.
299-
300- This uses a precomputed provider plan so runtime work is reduced to:
301- - (Optionally) converting parameters to base once,
302- - binding callables with :func:`functools.partial`.
303-
304- Parameters
305- ----------
306- parameters : Parametrization
307- Parameters in any registered parametrization.
308-
309- Returns
310- -------
311- dict[GenericCharacteristicName, AnalyticalComputation]
312- Mapping from characteristic name to analytical computation callable.
313- """
314- plan = self ._analytical_plan .get (parameters .name , {})
315- result : dict [GenericCharacteristicName , AnalyticalComputation [Any , Any ]] = {}
316- base_params : Parametrization | None = None
317-
318- for characteristic , provider_name in plan .items ():
319- if provider_name == parameters .name :
320- params_obj = parameters
321- else :
322- if base_params is None :
323- base_params = self .get_base_parameters (parameters )
281+ base_params = self .to_base (parameters )
324282 params_obj = base_params
325283
326284 func_factory = self .distr_characteristics [characteristic ][provider_name ]
@@ -364,7 +322,7 @@ def distribution(
364322 parametrization_class = self ._parametrizations [parametrization_name ]
365323
366324 parameters = parametrization_class (** parameters_values )
367- base_parameters = self .get_base_parameters (parameters )
325+ base_parameters = self .to_base (parameters )
368326 parameters .validate ()
369327 distribution_type = self ._distr_type (base_parameters )
370328 return ParametricFamilyDistribution (self .name , distribution_type , parameters )
0 commit comments