diff --git a/python/pyfory/tests/test_util.py b/python/pyfory/tests/test_util.py new file mode 100644 index 0000000000..7da7e4a302 --- /dev/null +++ b/python/pyfory/tests/test_util.py @@ -0,0 +1,12 @@ +import sys + +from pyfory.util import is_little_endian, is_big_endian + + +def test_endian_flags(): + # 验证 is_little_endian 与 is_big_endian 与系统字节序一致 + assert is_little_endian == (sys.byteorder == "little") + assert is_big_endian == (sys.byteorder == "big") + # 两者应当互斥 + assert is_little_endian != is_big_endian + diff --git a/python/pyfory/util.py b/python/pyfory/util.py index ea0865c9b7..2890077bdf 100644 --- a/python/pyfory/util.py +++ b/python/pyfory/util.py @@ -83,6 +83,8 @@ def __call__(self, *_args, **_kwargs): is_little_endian = sys.byteorder == "little" +# 新增的大端序标记,便于调用方直接判断当前平台是否为大端序 +is_big_endian = sys.byteorder == "big" __all__ = [ @@ -92,4 +94,5 @@ def __call__(self, *_args, **_kwargs): "set_bit_to", "lazy_import", "is_little_endian", + "is_big_endian", ]