Peano
Loading...
Searching...
No Matches
Globals.h
Go to the documentation of this file.
1// This file is part of the Peano project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
5 template <int base, int exponent>
7 public:
8 enum {value = base*BasePowerExponent<base,exponent-1>::value};
9 };
10
11 template <int base>
12 class BasePowerExponent<base,0> {
13 public:
14 enum {value = 1};
15 };
16
17 #define DimensionsTimesTwo (Dimensions*2)
18
19 #define TwoPowerD (BasePowerExponent<2,Dimensions>::value)
20 #define TwoPowerDPlusTwo (BasePowerExponent<2,Dimensions>::value+2)
21 #define TwoPowerDTimesTwoPowerD (BasePowerExponent<2,Dimensions>::value*BasePowerExponent<2,Dimensions>::value)
22 #define TwoPowerDTimesTwoPowerDMinusOne (BasePowerExponent<2,Dimensions>::value*(BasePowerExponent<2,Dimensions>::value-1))
23
24 #define ThreePowerD (BasePowerExponent<3,Dimensions>::value)
25 #define FourPowerD (BasePowerExponent<4,Dimensions>::value)
26 #define FivePowerD (BasePowerExponent<5,Dimensions>::value)
27 #define SevenPowerD (BasePowerExponent<7,Dimensions>::value)
28 #define NinePowerD (BasePowerExponent<9,Dimensions>::value)
29
30 #define TwoTimesD (2*Dimensions)
31 #define TwoTimesDTimesTwo (2*Dimensions*2)
32
33/*
34 #define TwoPowerDTimesD (BasePowerExponent<2,Dimensions>::value*Dimensions)
35 #define TwoPowerD_MINUS_ONE (BasePowerExponent<2,Dimensions>::value-1)
36 #define TwoPowerD_TIMES_TwoPowerD (BasePowerExponent<2,Dimensions>::value*BasePowerExponent<2,Dimensions>::value)
37 #define TwoPowerD_TIMES_TwoPowerD_DIVIDED_BY_TWO (BasePowerExponent<2,Dimensions>::value*BasePowerExponent<2,Dimensions-1>::value)
38 #define TwoPowerD_TIMES_THREE_POWER_D (BasePowerExponent<2,Dimensions>::value*BasePowerExponent<3,Dimensions>::value)
39 #define TwoPowerD_TIMES_FIVE_POWER_D (BasePowerExponent<2,Dimensions>::value*BasePowerExponent<5,Dimensions>::value)
40 #define TwoPowerD_TIMES_THREE_POWER_D_DIVIDED_BY_THREE (BasePowerExponent<2,Dimensions>::value*BasePowerExponent<3,Dimensions-1>::value)
41 #define TwoPowerD_DIVIDED_BY_TWO (BasePowerExponent<2,Dimensions-1>::value)
42 #define TwoPowerDTimesD (BasePowerExponent<2,Dimensions>::value*Dimensions)
43 #define TWO_POWER_TwoPowerD (BasePowerExponent<2,TwoPowerD>::value)
44 #define THREE_POWER_D (BasePowerExponent<3,Dimensions>::value)
45 #define THREE_POWER_D_MINUS_ONE (BasePowerExponent<3,Dimensions>::value-1)
46 #define THREE_POWER_D_DIVIDED_BY_THREE (BasePowerExponent<3,Dimensions-1>::value)
47 #define THREE_POWER_D_TIMES_FOUR_POWER_D (BasePowerExponent<3,Dimensions>::value*BasePowerExponent<4,Dimensions>::value)
48 #define FOUR_POWER_D (BasePowerExponent<4,Dimensions>::value)
49 #define FOUR_POWER_D_DIVIDED_BY_FOUR (BasePowerExponent<4,Dimensions-1>::value)
50 #define FIVE_POWER_D (BasePowerExponent<5,Dimensions>::value)
51 #define FIVE_POWER_D_DIVIDED_BY_FIVE (BasePowerExponent<5,Dimensions-1>::value)
52 #define SIX_POWER_D (BasePowerExponent<6,Dimensions>::value)
53 #define SEVEN_POWER_D (BasePowerExponent<7,Dimensions>::value)
54 #define NINE_POWER_D (BasePowerExponent<9,Dimensions>::value)
55 #define ELEVEN_POWER_D (BasePowerExponent<11,Dimensions>::value)
56 #define THIRTEEN_POWER_D (BasePowerExponent<13,Dimensions>::value)
57 #define FIFTEEN_POWER_D (BasePowerExponent<15,Dimensions>::value)
58 #define SEVENTEEN_POWER_D (BasePowerExponent<17,Dimensions>::value)
59 #define NUMBER_OF_VERTICES_PER_ELEMENT TwoPowerD
60 #define Dimensions_TIMES_TWO (2*Dimensions)
61 #define Dimensions_TIMES_TwoPowerD (Dimensions*TwoPowerD)
62 #define Dimensions_TIMES_FOUR (4*Dimensions)
63 #define Dimensions_TIMES_Dimensions (Dimensions*Dimensions)
64*/
65