Skip to content

Commit 1030f35

Browse files
committed
Use -1 for little endian
1 parent 506a4dc commit 1030f35

File tree

4 files changed

+10
-10
lines changed

4 files changed

+10
-10
lines changed

Doc/c-api/long.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -580,15 +580,15 @@ Import/Export API
580580
581581
Word endian:
582582
583-
- 1 for most significant byte first (big endian)
584-
- 0 for least significant first (little endian)
583+
- ``1`` for most significant byte first (big endian)
584+
- ``-1`` for least significant first (little endian)
585585
586586
.. c:member:: int8_t array_endian;
587587
588588
Array endian:
589589
590-
- 1 for most significant byte first (big endian)
591-
- 0 for least significant first (little endian)
590+
- ``1`` for most significant byte first (big endian)
591+
- ``-1`` for least significant first (little endian)
592592
593593
594594
.. c:function:: PyObject* PyUnstable_Long_Import(int negative, size_t ndigits, Py_digit *digits)

Include/cpython/longintrepr.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,12 +152,12 @@ typedef struct PyUnstable_LongLayout {
152152

153153
// Word endian:
154154
// - 1 for most significant byte first (big endian)
155-
// - 0 for least significant first (little endian)
155+
// - -1 for least significant first (little endian)
156156
int8_t word_endian;
157157

158158
// Array endian:
159159
// - 1 for most significant byte first (big endian)
160-
// - 0 for least significant first (little endian)
160+
// - -1 for least significant first (little endian)
161161
int8_t array_endian;
162162
} PyUnstable_LongLayout;
163163

Lib/test/test_capi/test_long.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -749,10 +749,10 @@ def test_long_layout(self):
749749
int_info = sys.int_info
750750
layout = _testcapi.get_pylong_layout()
751751
expected = {
752-
'array_endian': 0,
752+
'array_endian': -1,
753753
'bits_per_digit': int_info.bits_per_digit,
754754
'digit_size': int_info.sizeof_digit,
755-
'word_endian': 1 if sys.byteorder == 'little' else 0,
755+
'word_endian': -1 if sys.byteorder == 'little' else 1,
756756
}
757757
self.assertEqual(layout, expected)
758758

Objects/longobject.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6688,8 +6688,8 @@ PyUnstable_Long_CompactValue(const PyLongObject* op) {
66886688

66896689
const PyUnstable_LongLayout PyUnstable_Long_LAYOUT = {
66906690
.bits_per_digit = PyLong_SHIFT,
6691-
.word_endian = PY_LITTLE_ENDIAN,
6692-
.array_endian = 0, // least significant first
6691+
.word_endian = PY_LITTLE_ENDIAN ? -1 : 1,
6692+
.array_endian = -1, // least significant first
66936693
.digit_size = sizeof(digit),
66946694
};
66956695

0 commit comments

Comments
 (0)