micropython/docs/library
Angus Gratton c97d3534dc py/objint: Fix int.to_bytes() buffer size checks.
* 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).

Untested on a port whose native format is big endian (don't have one at
hand).

This work was funded through GitHub Sponsors.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-04-10 13:52:29 +10:00
..
_thread.rst
array.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
asyncio.rst docs/library: Document SSLContext cert methods and asyncio support. 2023-12-14 13:06:39 +11: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-04-10 13:52:29 +10:00
cmath.rst
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
esp.rst docs/library/esp: Correct the description of esp.osdebug(). 2023-11-22 16:48:35 +11:00
esp32.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +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.PWM.rst all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
machine.Pin.rst docs/library/machine.Pin: Update to use preferred DRIVE_x constants. 2022-03-07 23:47:45 +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.SPI.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.Signal.rst
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 extmod/machine_usb_device: Add support for Python USB devices. 2024-03-15 14:22:11 +11:00
machine.WDT.rst docs/esp32: Update esp32 docs based on IDF v5 changes. 2023-06-23 15:34:49 +10:00
machine.rst extmod/machine_usb_device: Add support for Python USB devices. 2024-03-15 14:22:11 +11:00
math.rst
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.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
network.rst extmod/modnetwork: Increase max hostname length to 32. 2023-10-04 12:39:23 +11: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.ADC.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Accel.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.RTC.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.Servo.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
pyb.rst docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11: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
rp2.StateMachine.rst docs/library/rp2.DMA: Add documentation for rp2 DMA support. 2024-03-19 17:10:54 +11:00
rp2.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
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