coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
base3.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define Z   2
 
#define _BASE3_IMPL_1(arg0, arg1, arg2, arg3, arg4, arg5)   arg0
 
#define _BASE3_IMPL_2(arg0, arg1, arg2, arg3, arg4, arg5)    (arg1 + (3 * _BASE3_IMPL_1(arg0, arg1, arg2, arg3, arg4, arg5)))
 
#define _BASE3_IMPL_3(arg0, arg1, arg2, arg3, arg4, arg5)    (arg2 + (3 * _BASE3_IMPL_2(arg0, arg1, arg2, arg3, arg4, arg5)))
 
#define _BASE3_IMPL_4(arg0, arg1, arg2, arg3, arg4, arg5)    (arg3 + (3 * _BASE3_IMPL_3(arg0, arg1, arg2, arg3, arg4, arg5)))
 
#define _BASE3_IMPL_5(arg0, arg1, arg2, arg3, arg4, arg5)    (arg4 + (3 * _BASE3_IMPL_4(arg0, arg1, arg2, arg3, arg4, arg5)))
 
#define _BASE3_IMPL_6(arg0, arg1, arg2, arg3, arg4, arg5)    (arg5 + (3 * _BASE3_IMPL_5(arg0, arg1, arg2, arg3, arg4, arg5)))
 
#define _BASE3_IMPL(arg0, arg1, arg2, arg3, arg4, arg5, NARGS, ...)    _BASE3_IMPL##NARGS(arg0, arg1, arg2, arg3, arg4, arg5)
 
#define BASE3(...)   _BASE3_IMPL(__VA_ARGS__, _6, _5, _4, _3, _2, _1)
 

Macro Definition Documentation

◆ _BASE3_IMPL

#define _BASE3_IMPL (   arg0,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  NARGS,
  ... 
)     _BASE3_IMPL##NARGS(arg0, arg1, arg2, arg3, arg4, arg5)

Definition at line 27 of file base3.h.

◆ _BASE3_IMPL_1

#define _BASE3_IMPL_1 (   arg0,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)    arg0

Definition at line 16 of file base3.h.

◆ _BASE3_IMPL_2

#define _BASE3_IMPL_2 (   arg0,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)     (arg1 + (3 * _BASE3_IMPL_1(arg0, arg1, arg2, arg3, arg4, arg5)))

Definition at line 17 of file base3.h.

◆ _BASE3_IMPL_3

#define _BASE3_IMPL_3 (   arg0,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)     (arg2 + (3 * _BASE3_IMPL_2(arg0, arg1, arg2, arg3, arg4, arg5)))

Definition at line 19 of file base3.h.

◆ _BASE3_IMPL_4

#define _BASE3_IMPL_4 (   arg0,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)     (arg3 + (3 * _BASE3_IMPL_3(arg0, arg1, arg2, arg3, arg4, arg5)))

Definition at line 21 of file base3.h.

◆ _BASE3_IMPL_5

#define _BASE3_IMPL_5 (   arg0,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)     (arg4 + (3 * _BASE3_IMPL_4(arg0, arg1, arg2, arg3, arg4, arg5)))

Definition at line 23 of file base3.h.

◆ _BASE3_IMPL_6

#define _BASE3_IMPL_6 (   arg0,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)     (arg5 + (3 * _BASE3_IMPL_5(arg0, arg1, arg2, arg3, arg4, arg5)))

Definition at line 25 of file base3.h.

◆ BASE3

#define BASE3 (   ...)    _BASE3_IMPL(__VA_ARGS__, _6, _5, _4, _3, _2, _1)

Definition at line 29 of file base3.h.

◆ Z

#define Z   2

Definition at line 7 of file base3.h.