bool-hybrid-array 9.10.11__py3-none-any.whl → 9.10.12__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.
@@ -3,7 +3,7 @@ from types import ModuleType
3
3
  from . import core
4
4
  from .core import __builtins__,builtins
5
5
  from . import int_array
6
- __version__ = "9.10.11"
6
+ __version__ = "9.10.12"
7
7
  public_objects = []
8
8
  for name in dir(core):
9
9
  if not name.startswith("_"):
@@ -266,7 +266,19 @@ except:print("请先安装numba库!!!")
266
266
 
267
267
  #int_array模块(9.10.10新增):
268
268
 
269
- arr = int_array.IntHybridArray([100,-27623,18276,-32165])
270
-
271
-
269
+ max_num = (1 << 256) - 1
270
+ min_num = -max_num
271
+
272
+ # 1. IntHybridArray:257位完美存储
273
+ arr_hybrid = int_array.IntHybridArray([max_num, min_num, 123456], bit_length=257)
274
+ print("✅ IntHybridArray存储结果:")
275
+ print(f"最大值:{arr_hybrid[0]}")
276
+ print(f"最小值:{arr_hybrid[1]}")
277
+
278
+ # 2. NumPy:用最大的int64尝试存储(必然失败)
279
+ try:
280
+ arr_np = np.array([max_num, min_num, 123456], dtype=np.int64)
281
+ print("\n❌ NumPy存储结果:", arr_np)
282
+ except OverflowError as e:
283
+ print(f"\n❌ NumPy存储失败:{e}")
272
284
 
bool_hybrid_array/core.py CHANGED
@@ -410,7 +410,8 @@ class BoolHybridArray(MutableSequence,Exception,metaclass=ResurrectMeta):
410
410
  def __copy__(self) -> BoolHybridArray:
411
411
  return self.copy()
412
412
  def find(self,value):
413
- return BHA_List([i for i in range(len(self)) if self[i]==value])
413
+ from .int_array import IntHybridArray
414
+ return IntHybridArray([i for i in range(len(self)) if self[i]==value])
414
415
  def extend(self, iterable:Iterable) -> None:
415
416
  if isinstance(iterable, (Iterator, Generator, map)):
416
417
  iterable,copy = itertools.tee(iterable, 2)
@@ -156,6 +156,7 @@ class IntHybridArray(BoolHybridArray):
156
156
 
157
157
  def __str__(self):
158
158
  return f"IntHybridArray([{', '.join(map(str, self))}])"
159
+ __repr__ = __str__
159
160
 
160
161
  def __len__(self):
161
162
  return self.total_bits // self.bit_length
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bool-hybrid-array
3
- Version: 9.10.11
3
+ Version: 9.10.12
4
4
  Summary: 一个高效的布尔数组(密集+稀疏混合存储,节省内存)
5
5
  Home-page: https://github.com/BKsell/bool-hybrid-array
6
6
  Author: 蔡靖杰
@@ -394,7 +394,21 @@ except:print("请先安装numba库!!!")
394
394
 
395
395
  #int_array模块(9.10.10新增):
396
396
 
397
- arr = int_array.IntHybridArray([100,-27623,18276,-32165])
397
+ max_num = (1 << 256) - 1
398
+ min_num = -max_num
399
+
400
+ # 1. IntHybridArray:257位完美存储
401
+ arr_hybrid = int_array.IntHybridArray([max_num, min_num, 123456], bit_length=257)
402
+ print("✅ IntHybridArray存储结果:")
403
+ print(f"最大值:{arr_hybrid[0]}")
404
+ print(f"最小值:{arr_hybrid[1]}")
405
+
406
+ # 2. NumPy:用最大的int64尝试存储(必然失败)
407
+ try:
408
+ arr_np = np.array([max_num, min_num, 123456], dtype=np.int64)
409
+ print("\n❌ NumPy存储结果:", arr_np)
410
+ except OverflowError as e:
411
+ print(f"\n❌ NumPy存储失败:{e}")
398
412
 
399
413
  ```
400
414
 
@@ -542,7 +556,7 @@ arr = int_array.IntHybridArray([100,-27623,18276,-32165])
542
556
  * **9.10.9**:修复9.10.8版本中的NameError错误
543
557
  * **9.10.10**:新增int_array模块
544
558
  * **9.10.11**:修复NameError: name 'int_array' is not defined. Did you mean: 'bytearray'?的错误
545
-
559
+ * **9.10.12**:把find方法的返回值改为IntHybridArray
546
560
 
547
561
 
548
562
 
@@ -0,0 +1,10 @@
1
+ bool_hybrid_array/__init__.py,sha256=Thq_-DGCyTyuvYeII-C1y1SJc_FFbwR642B5R01VL6M,793
2
+ bool_hybrid_array/__main__.py,sha256=3MsUAXMj6Pe1EzP7YreuUePbXZeQvFSCnejnTeS42kU,8324
3
+ bool_hybrid_array/core.py,sha256=zp4jam5xC_CZvVVkmfT6fPAhBzf4-wspDnYuz0z49Ys,36578
4
+ bool_hybrid_array/秘密.md,sha256=Ii2NvXmv-Ktu04zJsGLcQZvlzT4gOatByE4B2wTK1Ks,48
5
+ bool_hybrid_array/int_array/__init__.py,sha256=ZDZSAmaMvuzzxBuTn-LfZX9Ww8_lWpBO5pNGlDRvpKU,6896
6
+ bool_hybrid_array-9.10.12.dist-info/licenses/LICENSE,sha256=Sg4rnGXkBDYkwJCWyxdWp5H60rhVAxpNvFh_l3JWZdY,1070
7
+ bool_hybrid_array-9.10.12.dist-info/METADATA,sha256=aDxTkR9nwJjkon2Xstxv__SPMzDG3Eci0R5BQY85UHw,22564
8
+ bool_hybrid_array-9.10.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
9
+ bool_hybrid_array-9.10.12.dist-info/top_level.txt,sha256=vk-TD77wuVQsN1rJ6uVWZX4sC_wya_WplRDwQKJoBZM,18
10
+ bool_hybrid_array-9.10.12.dist-info/RECORD,,
@@ -1,10 +0,0 @@
1
- bool_hybrid_array/__init__.py,sha256=IqtYvdH7w00YYmTgbQ9Q2DKMKIQoGM9728UQ0JOSox8,793
2
- bool_hybrid_array/__main__.py,sha256=xb4p6L-JlVWor0CVVKqjoxKVH3YvA8pfRTBG4AFHqQU,7833
3
- bool_hybrid_array/core.py,sha256=zcqPqb6AhUFqzb0PPXQtisXpXc2Zd50Xsh8ooOvpwO0,36526
4
- bool_hybrid_array/秘密.md,sha256=Ii2NvXmv-Ktu04zJsGLcQZvlzT4gOatByE4B2wTK1Ks,48
5
- bool_hybrid_array/int_array/__init__.py,sha256=1ysgXyfJcmSPK4Fs3Qd7JGlESwXyYn9WsPVaI6LtrxA,6872
6
- bool_hybrid_array-9.10.11.dist-info/licenses/LICENSE,sha256=Sg4rnGXkBDYkwJCWyxdWp5H60rhVAxpNvFh_l3JWZdY,1070
7
- bool_hybrid_array-9.10.11.dist-info/METADATA,sha256=LY4eVuUqmSFXk_ay6uzbZ0YmKW2SSxaIFMBF13xg4TY,22008
8
- bool_hybrid_array-9.10.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
9
- bool_hybrid_array-9.10.11.dist-info/top_level.txt,sha256=vk-TD77wuVQsN1rJ6uVWZX4sC_wya_WplRDwQKJoBZM,18
10
- bool_hybrid_array-9.10.11.dist-info/RECORD,,