Skip to content

Commit ff78668

Browse files
committed
Fix the flake8 discovered B039 error
1 parent 8d0301a commit ff78668

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

mkl_fft/interfaces/_scipy_fft.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,21 +86,31 @@ def workers(self):
8686

8787
@workers.setter
8888
def workers(self, workers_val):
89-
self.workerks_ = operator.index(workers_val)
89+
self.workers_ = operator.index(workers_val)
9090

9191

92+
# Use an immutable default (i.e. None) and create the object when needed
9293
_workers_global_settings = contextvars.ContextVar(
93-
"scipy_backend_workers", default=_workers_data()
94+
"scipy_backend_workers", default=None
9495
)
9596

9697

98+
def _get_workers_settings():
99+
"""Lazy initialization"""
100+
value = _workers_global_settings.get()
101+
if value is None:
102+
value = _workers_data()
103+
_workers_global_settings.set(value)
104+
return value
105+
106+
97107
def _workers_to_num_threads(w):
98108
"""
99109
Handle conversion of workers to a positive number of threads in the
100110
same way as scipy.fft._pocketfft.helpers._workers.
101111
"""
102112
if w is None:
103-
return _workers_global_settings.get().workers
113+
return _get_workers_settings().workers
104114
_w = operator.index(w)
105115
if _w == 0:
106116
raise ValueError("Number of workers must not be zero")
@@ -707,7 +717,7 @@ def get_workers():
707717
For full documentation refer to `scipy.fft.get_workers`.
708718
709719
"""
710-
return _workers_global_settings.get().workers
720+
return _get_workers_settings().workers
711721

712722

713723
@contextlib.contextmanager

0 commit comments

Comments
 (0)