From 528907cb1604ae2f5c8807e7512e2ea1a98289bf Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 31 Mar 2020 12:50:30 -0500 Subject: [PATCH] Additional TERN macros --- Marlin/src/core/macros.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Marlin/src/core/macros.h b/Marlin/src/core/macros.h index bcee64236..899baf735 100644 --- a/Marlin/src/core/macros.h +++ b/Marlin/src/core/macros.h @@ -194,6 +194,9 @@ #define DISABLED(V...) DO(DIS,&&,V) #define TERN(O,A,B) _TERN(_ENA_1(O),B,A) // OPTION converted to '0' or '1' +#define TERN0(O,A) _TERN(_ENA_1(O),0,A) // OPTION converted to A or '0' +#define TERN1(O,A) _TERN(_ENA_1(O),1,A) // OPTION converted to A or '1' +#define TERN_(O,A) _TERN(_ENA_1(O),,A) // OPTION converted to A or '' #define _TERN(E,V...) __TERN(_CAT(T_,E),V) // Prepend 'T_' to get 'T_0' or 'T_1' #define __TERN(T,V...) ___TERN(_CAT(_NO,T),V) // Prepend '_NO' to get '_NOT_0' or '_NOT_1' #define ___TERN(P,V...) THIRD(P,V) // If first argument has a comma, A. Else B.