From 16ef60fba6b8517bf6b6f71c19ae6baa44a3f9af Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 23 Sep 2014 18:20:00 +0100 Subject: [PATCH] Updated CODECONVENTIONS to clarify use of integer types. --- CODECONVENTIONS.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CODECONVENTIONS.md b/CODECONVENTIONS.md index c8dbdae3d3..5aed89ae88 100644 --- a/CODECONVENTIONS.md +++ b/CODECONVENTIONS.md @@ -40,6 +40,17 @@ Header files: Type names and declarations: - When defining a type, put '_t' after it. +Integer types: Micro Python runs on 32 and 64 bit machines (and one day +maybe 16 bit), so it's important to use the correctly-sized (and signed) +integer types. The general guidelines are: +- For most cases use mp_int_t for signed and mp_uint_t for unsigned + integer values. These are guaranteed to be machine-word sized and + therefore big enough to hold the value from a Micro Python small-int + object. +- Use size_t for things that count bytes / sizes of objects. +- You can use int/uint, but remember that they may be 16-bits wide. +- If in doubt, use mp_int_t/mp_uint_t. + Examples --------