Disable 3-arg pow() function on m0 boards
`pow(a, b, c)` can compute `(a ** b) % c` efficiently (in time and memory). This can be useful for extremely specific applications, like implementing the RSA cryptosystem. For typical uses of CircuitPython, this is not an important feature. A survey of the bundle and learn system didn't find any uses. Disable it on M0 builds so that we can fit in needed upgrades to the USB stack.
This commit is contained in:
parent
bafa0501d1
commit
c451b22255
@ -29,6 +29,10 @@ ifndef CIRCUITPY_AUDIOMP3
|
||||
CIRCUITPY_AUDIOMP3 = 0
|
||||
endif
|
||||
|
||||
ifndef CIRCUITPY_BUILTINS_POW3
|
||||
CIRCUITPY_BUILTINS_POW3 = 0
|
||||
endif
|
||||
|
||||
ifndef CIRCUITPY_FREQUENCYIO
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
endif
|
||||
|
@ -184,7 +184,7 @@ typedef long mp_off_t;
|
||||
// Turning off FULL_BUILD removes some functionality to reduce flash size on tiny SAMD21s
|
||||
#define MICROPY_BUILTIN_METHOD_CHECK_SELF_ARG (CIRCUITPY_FULL_BUILD)
|
||||
#define MICROPY_CPYTHON_COMPAT (CIRCUITPY_FULL_BUILD)
|
||||
#define MICROPY_PY_BUILTINS_POW3 (CIRCUITPY_FULL_BUILD)
|
||||
#define MICROPY_PY_BUILTINS_POW3 (CIRCUITPY_BUILTINS_POW3)
|
||||
#define MICROPY_COMP_FSTRING_LITERAL (MICROPY_CPYTHON_COMPAT)
|
||||
#define MICROPY_MODULE_WEAK_LINKS (0)
|
||||
#define MICROPY_PY_ALL_SPECIAL_METHODS (CIRCUITPY_FULL_BUILD)
|
||||
|
@ -90,6 +90,9 @@ CFLAGS += -DCIRCUITPY_BLEIO=$(CIRCUITPY_BLEIO)
|
||||
CIRCUITPY_BOARD ?= 1
|
||||
CFLAGS += -DCIRCUITPY_BOARD=$(CIRCUITPY_BOARD)
|
||||
|
||||
CIRCUITPY_BUILTINS_POW3 ?= $(CIRCUITPY_FULL_BUILD)
|
||||
CFLAGS += -DCIRCUITPY_BUILTINS_POW3=$(CIRCUITPY_BUILTINS_POW3)
|
||||
|
||||
CIRCUITPY_BUSIO ?= 1
|
||||
CFLAGS += -DCIRCUITPY_BUSIO=$(CIRCUITPY_BUSIO)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user