Skip to content

Commit

Permalink
Numpy 1.24 compatibility (#1012)
Browse files Browse the repository at this point in the history
* Update core.py

* monkey patch isitgr and fast-pt if Numpy>=1.24

* Remove np.integer and np.floating
  • Loading branch information
hsinfan1996 committed Dec 21, 2022
1 parent 2e957aa commit d7c40d4
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
8 changes: 8 additions & 0 deletions pyccl/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@
# SWIG-generated
from . import ccllib as lib

# monkey patch for isitgr and fast-pt if Numpy>=1.24
from packaging.version import parse
import numpy as np
if parse(np.__version__) >= parse('1.24'):
np.int = int
del parse
del np

# Errors
from .errors import (
CCLError,
Expand Down
6 changes: 3 additions & 3 deletions pyccl/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -280,11 +280,11 @@ def write_yaml(self, filename):
"""
def make_yaml_friendly(d):
for k, v in d.items():
if isinstance(v, np.floating):
if isinstance(v, float):
d[k] = float(v)
elif isinstance(v, np.integer):
elif isinstance(v, int):
d[k] = int(v)
elif isinstance(v, np.bool):
elif isinstance(v, bool):
d[k] = bool(v)
elif isinstance(v, dict):
make_yaml_friendly(v)
Expand Down

0 comments on commit d7c40d4

Please sign in to comment.