Nektar++
Loading...
Searching...
No Matches
Macros
SwitchLevel1.h File Reference
#include <boost/preprocessor/arithmetic/inc.hpp>
#include <boost/preprocessor/comparison/not_equal.hpp>
#include <boost/preprocessor/repetition/for.hpp>
#include <boost/preprocessor/tuple/elem.hpp>
#include "Operators/SwitchLimits.h"

Go to the source code of this file.

Macros

#define STDLEV1TEST(r, state)
 
#define STDLEV1UPDATE(r, state)    (BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(0, state)), BOOST_PP_TUPLE_ELEM(1, state))
 
#define NQ1(i)   BOOST_PP_TUPLE_ELEM(0, i)
 
#define NQ1_M1(i)   BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(0, i))
 
#define NQ1_P1(i)   BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(0, i))
 

Macro Definition Documentation

◆ NQ1

#define NQ1 (   i)    BOOST_PP_TUPLE_ELEM(0, i)

Definition at line 63 of file SwitchLevel1.h.

◆ NQ1_M1

#define NQ1_M1 (   i)    BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(0, i))

Definition at line 65 of file SwitchLevel1.h.

◆ NQ1_P1

#define NQ1_P1 (   i)    BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(0, i))

Definition at line 67 of file SwitchLevel1.h.

◆ STDLEV1TEST

#define STDLEV1TEST (   r,
  state 
)
Value:
BOOST_PP_NOT_EQUAL(BOOST_PP_TUPLE_ELEM(0, state), \
BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(1, state)))

this macro tests the values of the tuple 'state' to see if the first element, given by BOOST_PP_TUPLE_ELEM(0, state), is not equal to the second element plus one, given by BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(1, state)) and returns 1 if not equal otherwise returns zero.

Definition at line 51 of file SwitchLevel1.h.

◆ STDLEV1UPDATE

#define STDLEV1UPDATE (   r,
  state 
)     (BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(0, state)), BOOST_PP_TUPLE_ELEM(1, state))

This macro returns an updated tuple where the first element, given by BOOST_PP_TUPLE_ELEM(0, state), is incremented by one and the second element, given by BOOST_PP_TUPLE_ELEM(1, state) remains the same.

Definition at line 59 of file SwitchLevel1.h.