da4ml 0.1.1__py3-none-any.whl → 0.1.2__py3-none-any.whl

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.

Potentially problematic release.


This version of da4ml might be problematic. Click here for more details.

da4ml/_version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.1.1'
21
- __version_tuple__ = version_tuple = (0, 1, 1)
20
+ __version__ = version = '0.1.2'
21
+ __version_tuple__ = version_tuple = (0, 1, 2)
da4ml/cmvm/cmvm.py CHANGED
@@ -1,4 +1,5 @@
1
1
  import heapq
2
+ from collections.abc import Sequence
2
3
  from math import ceil
3
4
 
4
5
  import numpy as np
@@ -100,11 +101,11 @@ def init_var(
100
101
 
101
102
  @njit
102
103
  def init_vars(
103
- ks: list[bool],
104
- bs: list[int],
105
- is_: list[int],
106
- symmetrics: list[bool],
107
- depths: list[int],
104
+ ks: tuple[bool, ...],
105
+ bs: tuple[int, ...],
106
+ is_: tuple[int, ...],
107
+ symmetrics: tuple[bool, ...],
108
+ depths: tuple[int, ...],
108
109
  ):
109
110
  n = len(ks)
110
111
  vars_ = []
@@ -116,11 +117,11 @@ def init_vars(
116
117
  @njit
117
118
  def init_state(
118
119
  kernel: np.ndarray,
119
- signs: list[bool],
120
- bits: list[int],
121
- int_bits: list[int],
122
- symmetrics: list[bool],
123
- depths: list[int],
120
+ signs: tuple[bool, ...],
121
+ bits: tuple[int, ...],
122
+ int_bits: tuple[int, ...],
123
+ symmetrics: tuple[bool, ...],
124
+ depths: tuple[int, ...],
124
125
  ):
125
126
  assert kernel.ndim == 2
126
127
  assert len(signs) == len(bits) == len(int_bits) == len(symmetrics) == len(depths) == kernel.shape[0]
@@ -261,11 +262,11 @@ def cmvm_cse(state: DAState, progress=None, beams: int = 1, dc=None):
261
262
  @njit
262
263
  def compile_kernel_mono(
263
264
  kernel: np.ndarray,
264
- signs: list[bool],
265
- bits: list[int],
266
- int_bits: list[int],
267
- symmetrics: list[bool],
268
- depths: list[int],
265
+ signs: tuple[bool, ...],
266
+ bits: tuple[int, ...],
267
+ int_bits: tuple[int, ...],
268
+ symmetrics: tuple[bool, ...],
269
+ depths: tuple[int, ...],
269
270
  n_beams: int = 1,
270
271
  dc: int | None = None,
271
272
  ):
@@ -274,14 +275,13 @@ def compile_kernel_mono(
274
275
  return _state
275
276
 
276
277
 
277
- # @njit(cache=True)
278
278
  def compile_kernel(
279
279
  kernel: np.ndarray,
280
- signs: list[bool],
281
- bits: list[int],
282
- int_bits: list[int],
283
- symmetrics: list[bool],
284
- depths: list[int],
280
+ signs: Sequence[bool],
281
+ bits: Sequence[int],
282
+ int_bits: Sequence[int],
283
+ symmetrics: Sequence[bool],
284
+ depths: Sequence[int],
285
285
  n_beams: int = 1,
286
286
  dc: int | None = None,
287
287
  n_inp_max: int = -1,
@@ -315,11 +315,11 @@ def compile_kernel(
315
315
 
316
316
  # unify input type to prevent recompilation
317
317
  _kernel = np.ascontiguousarray(_kernel)
318
- _signs = [bool(v) for v in _signs]
319
- _bits = [int(v) for v in _bits]
320
- _int_bits = [int(v) for v in _int_bits]
321
- _symmetrics = [bool(v) for v in _symmetrics]
322
- _depths = [int(v) for v in _depths]
318
+ _signs = tuple(bool(v) for v in _signs)
319
+ _bits = tuple(int(v) for v in _bits)
320
+ _int_bits = tuple(int(v) for v in _int_bits)
321
+ _symmetrics = tuple(bool(v) for v in _symmetrics)
322
+ _depths = tuple(int(v) for v in _depths)
323
323
  try:
324
324
  states[i][j] = compile_kernel_mono(_kernel, _signs, _bits, _int_bits, _symmetrics, _depths, n_beams, dc)
325
325
  except AssertionError:
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: da4ml
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: Digital Arithmetic for Machine Learning
5
5
  Author-email: Chang Sun <chsun@cern.ch>
6
6
  License: GNU Lesser General Public License v3 (LGPLv3)
@@ -19,6 +19,7 @@ Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
20
  Requires-Dist: llvmlite>=0.43
21
21
  Requires-Dist: numba>=0.60
22
+ Dynamic: license-file
22
23
 
23
24
  # da4ml: Distributed Arithmetic for Machine Learning
24
25
 
@@ -1,9 +1,9 @@
1
1
  da4ml/__init__.py,sha256=kkpf91aU4n9MMsX63Me90mo_0JSQyU3N-vhgTIrjkT0,437
2
- da4ml/_version.py,sha256=Mmxse1R0ki5tjz9qzU8AQyqUsLt8nTyCAbYQp8R87PU,511
2
+ da4ml/_version.py,sha256=bSmADqydH8nBu-J4lG8UVuR7hnU_zcwhnSav2oQ0W0A,511
3
3
  da4ml/cmvm/__init__.py,sha256=UUnJxtZGQpqVWKT_djuPr7CqyiWlUrmKoyAvH7f4-q8,848
4
4
  da4ml/cmvm/api.py,sha256=G7YZ1n32EaYzsahSUwB-0vvRZt1Q11idShhn735vDCM,3461
5
5
  da4ml/cmvm/balanced_reduction.py,sha256=fDKaRIY4WkRo3s5dGWeWmylDgjMD-hr1-tpdwu7EL6Y,1533
6
- da4ml/cmvm/cmvm.py,sha256=dKKg6Vn256wT91jwLCph7FqZeJSFUewyCvYzR3WcK7I,10537
6
+ da4ml/cmvm/cmvm.py,sha256=4RN6sKLNxybHZcBoUkw4MBluLZoEhAArutt8BE5NCNE,10689
7
7
  da4ml/cmvm/codegen.py,sha256=w_1xR36Oxwb-1XivFwjQ_n2uRw-abjwzjOhwARg_93k,6088
8
8
  da4ml/cmvm/csd.py,sha256=k-9k0CigqnvyrgtXzBvKLZ32FdwWUE_EhAlXkK6Mlxk,1988
9
9
  da4ml/cmvm/fixed_variable.py,sha256=APPT2EN7hOwjHIaD5JdOpd7riGUpmtXUJ6QaAnE1cjw,5753
@@ -11,8 +11,8 @@ da4ml/cmvm/graph_compile.py,sha256=bODuY7DAi-9L-ZleAzK0szZDrEH4Ljq2ocINUHXD588,3
11
11
  da4ml/cmvm/nb_fixed_precision.py,sha256=M2bnflNNOGLgUsI0QGlF2noT5ZJD-2bU2dZ3lw8GZvM,2457
12
12
  da4ml/cmvm/scoring.py,sha256=EUREpoyQHUe-vpRat_JjRD73uQhD0dOhnG2D3opazwQ,1375
13
13
  da4ml/cmvm/utils.py,sha256=Svp82TOtpNOtKfXlCkijq7DBSbMEqyWoY2PAYVhXXQY,288
14
- da4ml-0.1.1.dist-info/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
15
- da4ml-0.1.1.dist-info/METADATA,sha256=_UXGTAL45iIybPsNfjyQpLOjdIEeRVIkm76mw8Nb1cg,5485
16
- da4ml-0.1.1.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
17
- da4ml-0.1.1.dist-info/top_level.txt,sha256=N0tnKVwRqFiffFdeAzCgFq71hUNySh5-ITbNd6-R58Q,6
18
- da4ml-0.1.1.dist-info/RECORD,,
14
+ da4ml-0.1.2.dist-info/licenses/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
15
+ da4ml-0.1.2.dist-info/METADATA,sha256=YirD1SJdRbYNKdbY68TWtacjfs-bUrcWIbQBdoIIaYw,5507
16
+ da4ml-0.1.2.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
17
+ da4ml-0.1.2.dist-info/top_level.txt,sha256=N0tnKVwRqFiffFdeAzCgFq71hUNySh5-ITbNd6-R58Q,6
18
+ da4ml-0.1.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.2)
2
+ Generator: setuptools (77.0.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5