diff --git a/src/easyscience/Objects/Variable.py b/src/easyscience/Objects/Variable.py index 10362ba9..3de9bef0 100644 --- a/src/easyscience/Objects/Variable.py +++ b/src/easyscience/Objects/Variable.py @@ -721,6 +721,14 @@ def fixed(self, value: bool): raise ValueError self._fixed = value + @property + def free(self) -> bool: + return not self.fixed + + @free.setter + def free(self, value: bool) -> None: + self.fixed = not value + @property def error(self) -> float: """ diff --git a/src/easyscience/Objects/new_variable/parameter.py b/src/easyscience/Objects/new_variable/parameter.py index 26992c04..ebad24b4 100644 --- a/src/easyscience/Objects/new_variable/parameter.py +++ b/src/easyscience/Objects/new_variable/parameter.py @@ -301,6 +301,14 @@ def fixed(self, fixed: bool) -> None: raise ValueError(f'{fixed=} must be a boolean. Got {type(fixed)}') self._fixed = fixed + @property + def free(self) -> bool: + return not self.fixed + + @free.setter + def free(self, value: bool) -> None: + self.fixed = not value + @property def bounds(self) -> Tuple[numbers.Number, numbers.Number]: """