From 6e029beafcf7e607665ae6ecaf2e57434048dba0 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Thu, 10 Sep 2026 11:40:57 +0200 Subject: [PATCH] Ensemble: Function: Rename get_sample to random and use np.random. --- src/Model/Ensembles/Ensemble.py | 6 +++--- src/Model/Ensembles/Function.py | 17 ++++++----------- src/Model/Results/Results.py | 4 ++-- src/View/RunSolver/Window.py | 2 +- src/View/ui/MinMaxDialog.ui | 4 ++-- 5 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/Model/Ensembles/Ensemble.py b/src/Model/Ensembles/Ensemble.py index 6e033321..fd7a804b 100644 --- a/src/Model/Ensembles/Ensemble.py +++ b/src/Model/Ensembles/Ensemble.py @@ -130,7 +130,7 @@ class Ensemble(SQLSubModel): None ) - rdata = cls._decode_params(params, params_len) + rdata = list(cls._decode_params(params, params_len)) new_ensemble = cls( id, name=name, @@ -201,9 +201,9 @@ class Ensemble(SQLSubModel): return struct.unpack(data_format, bparams) - def get_sample(self, nb): + def random(self, nb): return np.nditer( - self._function.get_sample( + self._function.random( self._params, nb ) ) diff --git a/src/Model/Ensembles/Function.py b/src/Model/Ensembles/Function.py index 31ed6923..12843892 100644 --- a/src/Model/Ensembles/Function.py +++ b/src/Model/Ensembles/Function.py @@ -135,7 +135,7 @@ class Function(SQLSubModel): if predicate(self, data): modifier(self, data) - def get_sample(self, r): + def random(self, r): raise NotImplementedMethodeError(cls, cls._load) @@ -154,16 +154,11 @@ class Uniform(Function): name=name, script=script ) - def get_sample(self, ens_range, nb): - b = ens_range[0] - t = ens_range[1] + def random(self, ens_range, nb): + lst = ens_range.copy() + lst.append(nb) - step = (t - b) / nb - - r = np.arange(b, t, step) - np.random.shuffle(r) - - return r + return np.random.uniform(*lst) class Custom(Function): @@ -179,7 +174,7 @@ class Custom(Function): self._type = "custom" - def get_sample(self, ens_range, nb): + def random(self, ens_range, nb): try: # Run script to (re)define the sample function f = eval(self._script) diff --git a/src/Model/Results/Results.py b/src/Model/Results/Results.py index 7a89d734..95f387ce 100644 --- a/src/Model/Results/Results.py +++ b/src/Model/Results/Results.py @@ -277,9 +277,9 @@ class TableData(SQLSubModel): if len(shape) == 2: shape_x, shape_y = shape - elif len(shape == 1): + elif len(shape) == 1: shape_x, = shape - elif len(shape == 3): + elif len(shape) == 3: shape_x, shape_y, shape_z = shape else: logger.error( diff --git a/src/View/RunSolver/Window.py b/src/View/RunSolver/Window.py index c7500a49..4126f71a 100644 --- a/src/View/RunSolver/Window.py +++ b/src/View/RunSolver/Window.py @@ -474,7 +474,7 @@ class SolverLogEnsWindow(SolverLogWindow): if ens.function is None: continue - self._samples[ens] = ens.get_sample(self._run_number) + self._samples[ens] = ens.random(self._run_number) self._results = None self._run_samples = [] diff --git a/src/View/ui/MinMaxDialog.ui b/src/View/ui/MinMaxDialog.ui index e030c993..1eaab5a3 100644 --- a/src/View/ui/MinMaxDialog.ui +++ b/src/View/ui/MinMaxDialog.ui @@ -19,7 +19,7 @@ - Min: + Low: @@ -40,7 +40,7 @@ - Max: + High: