micropython/docs/library
Angus Gratton 908ab1ceca py/objint: Fix int.to_bytes() buffer size checks.
Fixes and improvements to `int.to_bytes()` are:
- No longer overflows if byte size is 0 (closes #13041).
- Raises OverflowError in any case where number won't fit into byte length
  (now matches CPython, previously MicroPython would return a truncated
  bytes object).
- Document that `micropython int.to_bytes()` doesn't implement the optional
  signed kwarg, but will behave as if `signed=True` when the integer is
  negative (this is the current behaviour).  Add tests for this also.

Requires changes for small ints, MPZ large ints, and "long long" large
ints.

Adds a new set of unit tests for ints between 32 and 64 bits to increase
coverage of "long long" large ints, which are otherwise untested.

Tested on unix port (64 bit small ints, MPZ long ints) and Zephyr STM32WB
board (32 bit small ints, long long large ints).

This work was funded through GitHub Sponsors.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-06-24 14:07:00 +10:00
..
_thread.rst docs/_thread: Add a placeholder docs for _thread module. 2017-11-10 00:09:43 +02:00
array.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
asyncio.rst docs/library/asyncio: Document that ThreadSafeFlag now works on unix. 2024-05-15 14:13:30 +10:00
binascii.rst extmod/modubinascii: Add newline keyword to b2a_base64 function. 2022-01-23 10:18:01 +11:00
bluetooth.rst docs/library/bluetooth: Add note that ESP32 supports pairing/bonding. 2024-02-29 14:33:22 +11:00
btree.rst extmod/modbtree: Use buffer protocol for keys/values. 2022-06-21 00:44:49 +10:00
builtins.rst py/objint: Fix int.to_bytes() buffer size checks. 2024-06-24 14:07:00 +10:00
cmath.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
collections.rst docs/library/collections: Update deque docs to describe new features. 2024-03-19 10:09:11 +11:00
cryptolib.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
deflate.rst extmod/moddeflate: Change default window size. 2023-09-01 12:23:37 +10:00
errno.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
esp32.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
esp.rst docs/library/esp: Correct the description of esp.osdebug(). 2023-11-22 16:48:35 +11:00
espnow.rst all: Fix various spelling mistakes found by codespell 2.2.6. 2023-10-03 11:24:50 +11:00
framebuf.rst docs/library/framebuf: Clarify docs for blit regarding palette. 2022-11-17 23:18:22 +11:00
gc.rst docs/library/gc: Clarify mem_alloc and mem_free only for Python heap. 2023-09-15 12:19:13 +10:00
gzip.rst docs/library/deflate: Add docs for deflate.DeflateIO. 2023-07-21 19:32:42 +10:00
hashlib.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
heapq.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
index.rst docs/library/openamp: Document the new openamp module. 2024-03-15 18:11:28 +11:00
io.rst docs/library/io: Remove io.FileIO and io.TextIOWrapper. 2023-10-16 23:07:13 +11:00
json.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
lcd160cr.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
machine.ADC.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.ADCBlock.rst all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
machine.ADCWiPy.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
machine.I2C.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.I2S.rst docs: Rename uasyncio to asyncio. 2023-06-19 18:36:54 +10:00
machine.Pin.rst docs/library/machine.Pin: Update to use preferred DRIVE_x constants. 2022-03-07 23:47:45 +11:00
machine.PWM.rst all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
machine.rst extmod/machine_usb_device: Add support for Python USB devices. 2024-03-15 14:22:11 +11:00
machine.RTC.rst docs/library/machine.RTC: Add docs for RTC.memory() method. 2024-03-26 17:59:06 +11:00
machine.SD.rst docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
machine.SDCard.rst docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
machine.Signal.rst docs/library/machine.Signal.rst: Correct typo: usecases to use cases. 2020-10-20 17:21:30 +11:00
machine.SPI.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.Timer.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.TimerWiPy.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
machine.UART.rst renesas-ra: Add the UART methods uart.txdone() and uart.flush(). 2022-12-15 12:09:34 +01:00
machine.USBDevice.rst docs/library/machine.USBDevice: Update note about packages in mp-lib. 2024-05-09 15:48:26 +10:00
machine.WDT.rst docs/esp32: Update esp32 docs based on IDF v5 changes. 2023-06-23 15:34:49 +10:00
math.rst docs/library: Add CPython docs xref to each pertinent module. 2017-07-02 15:37:31 +03:00
micropython.rst docs/library/micropython: Fix spelling of compiler. 2022-08-26 15:15:59 +10:00
neopixel.rst docs/library/neopixel: Change link to a micropython-lib reference. 2023-09-01 13:56:34 +10:00
network.LAN.rst mimxrt/network: Rename the argument clock_mode to ref_clk_mode. 2022-11-17 08:55:16 +01:00
network.rst extmod/modnetwork: Increase max hostname length to 32. 2023-10-04 12:39:23 +11:00
network.WIZNET5K.rst all: Rename MICROPY_PY_WIZNET5K to MICROPY_PY_NETWORK_WIZNET5K. 2022-06-07 16:55:18 +10:00
network.WLAN.rst esp32,esp8266: Add support to set/get power saving mode of WLAN. 2023-05-06 13:51:00 +10:00
network.WLANWiPy.rst docs: Change \* to * in argument lists. 2020-08-21 12:24:13 +10:00
openamp.rst docs/library/openamp: Document the new openamp module. 2024-03-15 18:11:28 +11:00
os.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
platform.rst docs/library/platform: Add docs for the platform library. 2023-09-04 22:40:56 +10:00
pyb.Accel.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.ADC.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.CAN.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
pyb.DAC.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.ExtInt.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Flash.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
pyb.I2C.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
pyb.LCD.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.LED.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Pin.rst docs/library/pyb.Pin: Add Pin.ALT constant. 2022-07-29 12:16:32 +10:00
pyb.rst docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
pyb.RTC.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Servo.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.SPI.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Switch.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Timer.rst docs/library/pyb.Timer: Document how to use BKIN pin with example. 2022-07-29 12:22:23 +10:00
pyb.UART.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.USB_HID.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.USB_VCP.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
random.rst all: Rename UMODULE to MODULE in preprocessor/Makefile vars. 2023-06-08 17:54:11 +10:00
re.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
rp2.DMA.rst docs/library/rp2.DMA: Add documentation for rp2 DMA support. 2024-03-19 17:10:54 +11:00
rp2.Flash.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
rp2.PIO.rst docs/library: Add initial API reference for rp2 module and its classes. 2021-05-08 18:02:04 +10:00
rp2.rst docs/library/rp2.DMA: Add documentation for rp2 DMA support. 2024-03-19 17:10:54 +11:00
rp2.StateMachine.rst docs/library/rp2.DMA: Add documentation for rp2 DMA support. 2024-03-19 17:10:54 +11:00
select.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
socket.rst docs/library/socket: Use correct sockaddr variable name. 2023-01-13 17:40:01 +11:00
ssl.rst docs/library/ssl: Change wrap_socket args keyfile/certfile to key/cert. 2024-02-05 13:05:29 +11:00
stm.rst stm32/subghz: Add STM32WL55 subghz radio interface to stm module. 2023-08-23 11:58:11 +10:00
struct.rst py/binary: Support half-float 'e' format in struct pack/unpack. 2024-03-20 14:13:49 +11:00
sys.rst docs/library/sys.rst: Document implementation.version.releaselevel. 2024-02-07 15:51:25 +11:00
time.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
uctypes.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
vfs.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
wipy.rst docs: Add usocket and ussl modules' documentation. 2015-10-21 15:30:56 +02:00
wm8960.rst all: Fix various spelling mistakes found by codespell 2.2.6. 2023-10-03 11:24:50 +11:00
zephyr.DiskAccess.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
zephyr.FlashArea.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
zephyr.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
zephyr.zsensor.rst docs/library/zephyr: Add libraries specific to the Zephyr port. 2021-08-13 20:21:14 +10:00
zlib.rst docs/library/deflate: Add docs for deflate.DeflateIO. 2023-07-21 19:32:42 +10:00