parallel-sparse-tools 0.1.0__tar.gz → 0.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/PKG-INFO +2 -1
  2. parallel_sparse_tools-0.1.3/README.md +3 -0
  3. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/pyproject.toml +7 -8
  4. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/setup.py +18 -0
  5. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/expm_multiply_parallel_core.py +2 -2
  6. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/expm_multiply_parallel_wrapper.cpp +1954 -1311
  7. parallel_sparse_tools-0.1.3/src/parallel_sparse_tools/matvec/_oputils/oputils_impl.h +4359 -0
  8. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/matvec/_oputils.cpp +3580 -1514
  9. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/matvec/generate_oputils.py +185 -216
  10. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/matvec/matvec_core.py +2 -1
  11. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools.egg-info/PKG-INFO +2 -1
  12. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools.egg-info/SOURCES.txt +3 -1
  13. parallel_sparse_tools-0.1.3/test/test_expm_multiply_parallel.py +190 -0
  14. parallel_sparse_tools-0.1.3/test/test_matvec.py +111 -0
  15. parallel-sparse-tools-0.1.0/README.md +0 -2
  16. parallel-sparse-tools-0.1.0/src/parallel_sparse_tools/matvec/_oputils/oputils_impl.h +0 -955
  17. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/LICENSE +0 -0
  18. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/setup.cfg +0 -0
  19. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/__init__.py +0 -0
  20. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/__init__.py +0 -0
  21. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/generate_source.py +0 -0
  22. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/source/csr_utils.h +0 -0
  23. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/source/expm_multiply_parallel_impl.h +0 -0
  24. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/matvec/__init__.py +0 -0
  25. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools.egg-info/dependency_links.txt +0 -0
  26. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools.egg-info/requires.txt +0 -0
  27. {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parallel-sparse-tools
3
- Version: 0.1.0
3
+ Version: 0.1.3
4
4
  Summary: My package description
5
5
  Author-email: Phillip Weinberg <weinbe58@gmail.com>
6
6
  License: BSD-3-Clause
@@ -18,5 +18,6 @@ License-File: LICENSE
18
18
  Requires-Dist: numpy
19
19
  Requires-Dist: scipy
20
20
 
21
+ [![codecov](https://codecov.io/gh/QuSpin/parallel-sparse-tools/graph/badge.svg?token=1OECNN8334)](https://codecov.io/gh/QuSpin/parallel-sparse-tools)
21
22
  # parallel-sparse-tools
22
23
  Repository for OpenMP parallelized Sparse tools
@@ -0,0 +1,3 @@
1
+ [![codecov](https://codecov.io/gh/QuSpin/parallel-sparse-tools/graph/badge.svg?token=1OECNN8334)](https://codecov.io/gh/QuSpin/parallel-sparse-tools)
2
+ # parallel-sparse-tools
3
+ Repository for OpenMP parallelized Sparse tools
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "parallel-sparse-tools"
7
- version = "0.1.0"
7
+ version = "0.1.3"
8
8
  authors = [
9
9
  {name = "Phillip Weinberg", email = "weinbe58@gmail.com"},
10
10
  ]
@@ -30,22 +30,21 @@ dependencies = [
30
30
 
31
31
  [tool.cibuildwheel]
32
32
  skip = ""
33
- test-skip = ""
34
33
 
35
34
  build-frontend = "default"
36
35
  config-settings = {}
37
36
  dependency-versions = "pinned"
38
37
  environment = {}
39
38
  environment-pass = []
40
- build-verbosity = 0
39
+ build-verbosity = 1
41
40
 
42
41
  before-all = ""
43
42
  before-build = ""
44
43
  repair-wheel-command = ""
45
44
 
46
- test-command = ""
47
45
  before-test = ""
48
- test-requires = []
46
+ test-command = "pytest {project}/test"
47
+ test-requires = ["pytest"]
49
48
  test-extras = []
50
49
 
51
50
  container-engine = "docker"
@@ -67,12 +66,12 @@ musllinux-s390x-image = "musllinux_1_1"
67
66
 
68
67
 
69
68
  [tool.cibuildwheel.linux]
70
- archs = ["x86_64"]
69
+ archs = ["native"]
71
70
  repair-wheel-command = "auditwheel repair -w {dest_dir} {wheel}"
72
71
 
73
72
  [tool.cibuildwheel.macos]
74
- archs = ["universal2"]
73
+ archs = ["native"]
75
74
  repair-wheel-command = "delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}"
76
75
 
77
76
  [tool.cibuildwheel.windows]
78
- archs = ["AMD64"]
77
+ archs = ["native"]
@@ -21,6 +21,18 @@ def extra_compile_args() -> List[str]:
21
21
  else:
22
22
  extra_compile_args = ["-fopenmp"]
23
23
 
24
+ if os.environ.get("COVERAGE", False):
25
+ if sys.platform in ["win32", "cygwin", "win64", "darwin"]:
26
+ raise ValueError("Coverage is not supported on Windows or macOS")
27
+
28
+ extra_compile_args += [
29
+ '--coverage',
30
+ '-fno-inline',
31
+ '-fno-inline-small-functions',
32
+ '-fno-default-inline',
33
+ '-O0'
34
+ ]
35
+
24
36
  return extra_compile_args
25
37
 
26
38
 
@@ -37,6 +49,12 @@ def extra_link_args() -> List[str]:
37
49
  else:
38
50
  extra_link_args = ["-fopenmp"]
39
51
 
52
+ if os.environ.get("COVERAGE", False):
53
+ if sys.platform in ["win32", "cygwin", "win64", "darwin"]:
54
+ raise ValueError("Coverage is not supported on Windows or macOS")
55
+
56
+ extra_link_args += ["--coverage"]
57
+
40
58
  return extra_link_args
41
59
 
42
60
 
@@ -5,7 +5,7 @@ from .expm_multiply_parallel_wrapper import (
5
5
  _wrapper_csr_trace,
6
6
  _wrapper_csr_1_norm,
7
7
  )
8
- from scipy.sparse.construct import eye
8
+ from scipy.sparse import eye
9
9
  from scipy.sparse.linalg._expm_multiply import _fragment_3_1, _exact_1_norm
10
10
  import scipy.sparse as _sp
11
11
  import numpy as _np
@@ -140,7 +140,7 @@ class ExpmMultiplyParallel(object):
140
140
  if dtype is None:
141
141
  self._dtype = _np.result_type(self._A.dtype, a_dtype_min, _np.float64)
142
142
  else:
143
- min_dtype = _np.result_type(A.dtype, a_dtype_min, _np.float32)
143
+ min_dtype = _np.result_type(self.A.dtype, a_dtype_min, _np.float32)
144
144
  if not _np.can_cast(min_dtype, dtype):
145
145
  raise ValueError(
146
146
  "dtype not sufficient to represent a*A to at least float32 precision."