bool-hybrid-array 9.11.5__py3-none-any.whl → 9.11.7__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.
@@ -5,7 +5,7 @@ from . import core
5
5
  from .core import __builtins__,builtins
6
6
  try:from . import int_array
7
7
  except:pass
8
- __version__ = "9.11.5"
8
+ __version__ = "9.11.7"
9
9
  public_objects = []
10
10
  for name in dir(core):
11
11
  if not name.startswith("_"):
@@ -289,7 +289,7 @@ except OverflowError as e:
289
289
  print(f"\n❌ NumPy存储失败:{e}")
290
290
 
291
291
 
292
- #BHA_Queue(9.11.15版本新增)
292
+ #BHA_Queue(9.11.5版本新增)
293
293
 
294
294
  q = BHA_Queue([T, F, T, T, F])
295
295
 
bool_hybrid_array/core.py CHANGED
@@ -304,6 +304,9 @@ class BoolHybridArray(MutableSequence,Exception,metaclass=ResurrectMeta):
304
304
  self.size -= 1
305
305
  def __str__(self) -> str:
306
306
  return f"BoolHybridArr([{','.join(map(str,self))}])"
307
+ def __reversed__(self):
308
+ if not self:return BHA_Iterator([])
309
+ return BHA_Iterator(map(self.__getitem__,range(-1,-1,-1)))
307
310
  def insert(self, key: int, value: bool) -> None:
308
311
  value = bool(value)
309
312
  key = key if key >= 0 else key + self.size
@@ -325,8 +328,9 @@ class BoolHybridArray(MutableSequence,Exception,metaclass=ResurrectMeta):
325
328
  self.large.insert(pos, key)
326
329
  self.size += 1
327
330
  def __len__(self) -> int:
328
- return self.size
331
+ return int(self.size)
329
332
  def __iter__(self):
333
+ if not self:return BHA_Iterator([])
330
334
  return BHA_Iterator(map(self.__getitem__,range(self.size)))
331
335
  def __next__(self):
332
336
  return next(self.generator)
@@ -342,7 +346,7 @@ class BoolHybridArray(MutableSequence,Exception,metaclass=ResurrectMeta):
342
346
  else:
343
347
  return len(self.large) == self.size-self.split_index-1 or b
344
348
  def __bool__(self) -> bool:
345
- return self.size
349
+ return bool(self.size)
346
350
  def __any__(self):
347
351
  return T in self
348
352
  def __all__(self):
@@ -845,7 +849,7 @@ class BHA_Queue:
845
849
  self.a = BoolHybridArr(data,*a,**k)
846
850
  self.b = BoolHybridArr([],*a,**k)
847
851
  def __str__(self):
848
- return f"BHA_Queue([{','.join(itertools.chain(reversed(map(str,self.b)),self.a))}])"
852
+ return f"BHA_Queue([{','.join(itertools.chain(map(str,reversed(self.b)),map(str,self.a)))}])"
849
853
  __repr__ = __str__
850
854
  def enqueue(self,v):
851
855
  self.a.push(v)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bool-hybrid-array
3
- Version: 9.11.5
3
+ Version: 9.11.7
4
4
  Summary: 一个高效的布尔数组(密集+稀疏混合存储,节省内存)
5
5
  Home-page: https://github.com/BKsell/bool-hybrid-array
6
6
  Author: 蔡靖杰
@@ -423,7 +423,7 @@ try:
423
423
  except OverflowError as e:
424
424
  print(f"\n❌ NumPy存储失败:{e}")
425
425
 
426
- #BHA_Queue(9.11.15版本新增)
426
+ #BHA_Queue(9.11.5版本新增)
427
427
 
428
428
  q = BHA_Queue([T, F, T, T, F])
429
429
 
@@ -611,7 +611,8 @@ print(f"出队2个元素后: {q}") # 输出:BHA_Queue([T,T,F,T,F])
611
611
  * **9.11.3**:修复NameError: name 'lst' is not defined. Did you mean: 'list'?错误
612
612
  * **9.11.4**:修复TypeError: __dict__ must be set to a dictionary, not a 'IntHybridArray'的错误
613
613
  * **9.11.5**:新增BHA_Queue双栈实现队列
614
-
614
+ * **9.11.6**:修复从9.11.3版本开始cpython用户无法安装bool-hybrid-array包的问题
615
+ * **9.11.7**:修复TypeError: 'map' object is not reversible的错误
615
616
 
616
617
 
617
618
 
@@ -0,0 +1,10 @@
1
+ bool_hybrid_array/__init__.py,sha256=MvnpVFUFs0Dtf69ZsTguNfXP2k1PHhR2e9Hwsz6weR4,1039
2
+ bool_hybrid_array/__main__.py,sha256=pjoWN4Noa_K44fqQPqp8H-diKSDf0Da8hdWFgvWUigQ,9083
3
+ bool_hybrid_array/core.py,sha256=QlAhD8TSRIym76ZjtfYdLsaqtz3Es_dYT754RMQoUoY,40854
4
+ bool_hybrid_array/秘密.md,sha256=Ii2NvXmv-Ktu04zJsGLcQZvlzT4gOatByE4B2wTK1Ks,48
5
+ bool_hybrid_array/int_array/__init__.py,sha256=HPBdZu5qlXaRI4n_oK6WhnG4ml8H-FP1G44igVxPJIA,6225
6
+ bool_hybrid_array-9.11.7.dist-info/licenses/LICENSE,sha256=Sg4rnGXkBDYkwJCWyxdWp5H60rhVAxpNvFh_l3JWZdY,1070
7
+ bool_hybrid_array-9.11.7.dist-info/METADATA,sha256=Dsk-thuJ8y4ikh_JK2Ckht-ar5WhiwJow68-mLH_zL0,25858
8
+ bool_hybrid_array-9.11.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
9
+ bool_hybrid_array-9.11.7.dist-info/top_level.txt,sha256=vk-TD77wuVQsN1rJ6uVWZX4sC_wya_WplRDwQKJoBZM,18
10
+ bool_hybrid_array-9.11.7.dist-info/RECORD,,
@@ -1,10 +0,0 @@
1
- bool_hybrid_array/__init__.py,sha256=sG_d3M51dqeKg_IMEp5Ucs0lZK4ZX7mwW8yk2grdgBU,1039
2
- bool_hybrid_array/__main__.py,sha256=aYaQxqbOAddcpxcujUC53g9s1w-2E2EjLt24nBHxBKI,9084
3
- bool_hybrid_array/core.py,sha256=AUFAN-Nlg8hSVafXI7CmFdDJ4i0xVuYiCnjhZqMas1E,40647
4
- bool_hybrid_array/秘密.md,sha256=Ii2NvXmv-Ktu04zJsGLcQZvlzT4gOatByE4B2wTK1Ks,48
5
- bool_hybrid_array/int_array/__init__.py,sha256=HPBdZu5qlXaRI4n_oK6WhnG4ml8H-FP1G44igVxPJIA,6225
6
- bool_hybrid_array-9.11.5.dist-info/licenses/LICENSE,sha256=Sg4rnGXkBDYkwJCWyxdWp5H60rhVAxpNvFh_l3JWZdY,1070
7
- bool_hybrid_array-9.11.5.dist-info/METADATA,sha256=mvCQkH25HwZme09MdqJmFVSiAjzpQDrHx7ui9TvqQhc,25690
8
- bool_hybrid_array-9.11.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
9
- bool_hybrid_array-9.11.5.dist-info/top_level.txt,sha256=vk-TD77wuVQsN1rJ6uVWZX4sC_wya_WplRDwQKJoBZM,18
10
- bool_hybrid_array-9.11.5.dist-info/RECORD,,