bool-hybrid-array 9.10.18__tar.gz → 9.10.20__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bool-hybrid-array
3
- Version: 9.10.18
3
+ Version: 9.10.20
4
4
  Summary: 一个高效的布尔数组(密集+稀疏混合存储,节省内存)
5
5
  Home-page: https://github.com/BKsell/bool-hybrid-array
6
6
  Author: 蔡靖杰
@@ -424,7 +424,7 @@ except OverflowError as e:
424
424
 
425
425
  ## 版本历史
426
426
 
427
- * **7.8.13**:PyPI上的初始版本,支持基本功能和自动存储优化
427
+ - **7.8.13**:PyPI上的初始版本,支持基本功能和自动存储优化
428
428
  * **7.9.0**:添加TruesArray和FalsesArray
429
429
  * **7.9.1**:修复介绍的bug,增加copy功能
430
430
  * **7.9.2**:新增find()方法
@@ -466,7 +466,7 @@ except OverflowError as e:
466
466
  * **7.14.4**:修复in的错误×3
467
467
  * **7.14.5**:修复in的错误×4
468
468
  * **7.14.6**:优化arr.large的类型
469
- * **8.0.0**:兼容numpy数组
469
+ - **8.0.0**:兼容numpy数组
470
470
  * **8.0.1**:修复8.0.0兼容numpy数组时没有形状参数的问题
471
471
  * **8.0.2**:移除bool_hybrid_dtype,改用object
472
472
  * **8.1.0**:利用ctypes加速密集部分的一些方法
@@ -478,7 +478,7 @@ except OverflowError as e:
478
478
  * **8.2.0**:支持哈希
479
479
  * **8.2.1**:修复8.2.0版本中的NameError
480
480
  * **8.2.2**:修复8.2.1版本中的IndexError
481
- * **9.0.0**:详情见上
481
+ - --9.0.0--:详情见上
482
482
  * **9.0.1**:小更新,优化optimize方法
483
483
  * **9.1.0**:新增二维数组的optimize与memory\_usage,优化二维数组的位运算,给BHA\_Bool新增__rand__、**ror**、__rxor__等等
484
484
  * **9.1.1**:修复9.1.0版本中的TypeError: unsupported operand type(s) for +: 'int' and 'method'错误
@@ -564,7 +564,12 @@ except OverflowError as e:
564
564
  * **9.10.16**:新增Python 3.14时的jit优化加速
565
565
  * **9.10.17**:给保护字典添加__import__方法,支持from导入
566
566
  * **9.10.18**:新增BoolHybridArray的序列化和反序列化支持
567
-
567
+ * **9.10.18.post1**:修复TypeError: cannot pickle 'itertools._tee' object错误
568
+ * **9.10.18.post2**:尝试修复“满屏错误”的问题
569
+ * **9.10.18.post3**:尝试修复“满屏错误”的问题×2
570
+ * **9.10.18.post4**:尝试修复“满屏错误”的问题×3
571
+ * **9.10.19**:和9.10.18.post4相同,正式版本发布
572
+ * **9.10.20**:优化性能,增加BHA_jit_log日志
568
573
 
569
574
 
570
575
  ## **彩蛋:**
@@ -384,7 +384,7 @@ except OverflowError as e:
384
384
 
385
385
  ## 版本历史
386
386
 
387
- * **7.8.13**:PyPI上的初始版本,支持基本功能和自动存储优化
387
+ - **7.8.13**:PyPI上的初始版本,支持基本功能和自动存储优化
388
388
  * **7.9.0**:添加TruesArray和FalsesArray
389
389
  * **7.9.1**:修复介绍的bug,增加copy功能
390
390
  * **7.9.2**:新增find()方法
@@ -426,7 +426,7 @@ except OverflowError as e:
426
426
  * **7.14.4**:修复in的错误×3
427
427
  * **7.14.5**:修复in的错误×4
428
428
  * **7.14.6**:优化arr.large的类型
429
- * **8.0.0**:兼容numpy数组
429
+ - **8.0.0**:兼容numpy数组
430
430
  * **8.0.1**:修复8.0.0兼容numpy数组时没有形状参数的问题
431
431
  * **8.0.2**:移除bool_hybrid_dtype,改用object
432
432
  * **8.1.0**:利用ctypes加速密集部分的一些方法
@@ -438,7 +438,7 @@ except OverflowError as e:
438
438
  * **8.2.0**:支持哈希
439
439
  * **8.2.1**:修复8.2.0版本中的NameError
440
440
  * **8.2.2**:修复8.2.1版本中的IndexError
441
- * **9.0.0**:详情见上
441
+ - --9.0.0--:详情见上
442
442
  * **9.0.1**:小更新,优化optimize方法
443
443
  * **9.1.0**:新增二维数组的optimize与memory\_usage,优化二维数组的位运算,给BHA\_Bool新增__rand__、**ror**、__rxor__等等
444
444
  * **9.1.1**:修复9.1.0版本中的TypeError: unsupported operand type(s) for +: 'int' and 'method'错误
@@ -524,7 +524,12 @@ except OverflowError as e:
524
524
  * **9.10.16**:新增Python 3.14时的jit优化加速
525
525
  * **9.10.17**:给保护字典添加__import__方法,支持from导入
526
526
  * **9.10.18**:新增BoolHybridArray的序列化和反序列化支持
527
-
527
+ * **9.10.18.post1**:修复TypeError: cannot pickle 'itertools._tee' object错误
528
+ * **9.10.18.post2**:尝试修复“满屏错误”的问题
529
+ * **9.10.18.post3**:尝试修复“满屏错误”的问题×2
530
+ * **9.10.18.post4**:尝试修复“满屏错误”的问题×3
531
+ * **9.10.19**:和9.10.18.post4相同,正式版本发布
532
+ * **9.10.20**:优化性能,增加BHA_jit_log日志
528
533
 
529
534
 
530
535
  ## **彩蛋:**
@@ -3,8 +3,9 @@ from types import ModuleType,FunctionType
3
3
  from . import core
4
4
  from .core import __builtins__,builtins
5
5
  from . import int_array
6
- __version__ = "9.10.18"
6
+ __version__ = "9.10.20"
7
7
  public_objects = []
8
+ BHA_jit_log = {}
8
9
  def jit_class_methods(cls):
9
10
  for attr_name in dir(cls):
10
11
  if not attr_name.startswith("_"):
@@ -12,14 +13,14 @@ def jit_class_methods(cls):
12
13
  if isinstance(attr, FunctionType):
13
14
  try:
14
15
  setattr(cls, attr_name, jit(attr))
15
- except:
16
- pass
16
+ except Exception as e:
17
+ BHA_jit_log[attr_name] = e
17
18
  elif isinstance(attr, classmethod):
18
19
  original_func = attr.__func__
19
20
  try:
20
21
  setattr(cls, attr_name, classmethod(jit(original_func)))
21
- except:
22
- pass
22
+ except Exception as e:
23
+ BHA_jit_log[attr_name] = e
23
24
  return cls
24
25
  for name in dir(core):
25
26
  if not name.startswith("_"):
@@ -28,9 +29,15 @@ for name in dir(core):
28
29
  public_objects.append(name)
29
30
  if isinstance(obj,FunctionType):
30
31
  try:setattr(core,name,jit(obj))
31
- except:pass
32
+ except Exception as e:
33
+ BHA_jit_log[name] = e
32
34
  elif isinstance(obj,type):
33
35
  jit_class_methods(obj)
36
+ try:
37
+ bisect.bisect_left = jit(bisect.bisect_left)
38
+ bisect.bisect_right = jit(bisect.bisect_right)
39
+ except Exception as e:
40
+ BHA_jit_log["bisect"] = e
34
41
  __all__ = public_objects + ["__version__","__builtins__","core","builtins","__dict__","int_array"]
35
42
  globals().update({
36
43
  name: getattr(core, name)