@@ -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