@@ -14,7 +14,6 @@ namespace bulkGeneric
1414
1515
1616
17-
1817template < typename REAL_TYPE,
1918 typename INT_TYPE,
2019 typename INDEX_TYPE,
@@ -32,10 +31,10 @@ struct EquilibriumReactionsParameters
3231 constexpr
3332 EquilibriumReactionsParameters ( RealType const (&stoichiometricMatrix)[numReactions][numSpecies],
3433 RealType const (&equilibriumConstant)[numReactions] ):
35- EquilibriumReactionsParameters( stoichiometricMatrix,
36- equilibriumConstant,
37- std::make_index_sequence<NUM_REACTIONS>(),
38- std::make_index_sequence<NUM_REACTIONS*NUM_SPECIES>() )
34+ EquilibriumReactionsParameters( stoichiometricMatrix,
35+ equilibriumConstant,
36+ std::make_index_sequence< NUM_REACTIONS >(),
37+ std::make_index_sequence< NUM_REACTIONS *NUM_SPECIES >() )
3938 {}
4039
4140
@@ -45,30 +44,18 @@ struct EquilibriumReactionsParameters
4544 RealType m_stoichiometricMatrix[numReactions][numSpecies];
4645 RealType m_equilibriumConstant[numReactions];
4746
48- private:
49- #if defined(__GNUC__) || defined(__clang__)
50- #pragma GCC diagnostic push
51- #pragma GCC diagnostic ignored "-Wmissing-braces"
52- #elif defined(_MSC_VER)
53- #pragma warning(push)
54- #pragma warning(disable : 4351) // MSVC equivalent of missing-braces warning
55- #endif
56-
57- template < std::size_t ... R, std::size_t ... RxS >
58- constexpr
59- EquilibriumReactionsParameters ( RealType const (&stoichiometricMatrix)[numReactions][numSpecies],
60- RealType const (&equilibriumConstant)[numReactions],
61- std::index_sequence<R...>,
62- std::index_sequence<RxS...> ):
63- m_stoichiometricMatrix{ stoichiometricMatrix[RxS/numSpecies][RxS%numSpecies]... },
64- m_equilibriumConstant{ equilibriumConstant[R]... }
65- {}
66-
67- #if defined(__GNUC__) || defined(__clang__)
68- #pragma GCC diagnostic pop
69- #elif defined(_MSC_VER)
70- #pragma warning(pop)
71- #endif
47+ private:
48+ HPCREACT_NO_MISSING_BRACES (
49+ template < std::size_t ... R, std::size_t ... RxS >
50+ constexpr
51+ EquilibriumReactionsParameters ( RealType const (&stoichiometricMatrix)[numReactions][numSpecies],
52+ RealType const (&equilibriumConstant)[numReactions],
53+ std::index_sequence< R... >,
54+ std::index_sequence< RxS... > ) :
55+ m_stoichiometricMatrix{ stoichiometricMatrix[RxS/numSpecies][RxS%numSpecies] ... },
56+ m_equilibriumConstant{ equilibriumConstant[R] ... }
57+ {}
58+ );
7259};
7360
7461
@@ -87,13 +74,13 @@ struct KineticReactionsParameters
8774 static constexpr IndexType numReactions = NUM_REACTIONS;
8875
8976 KineticReactionsParameters ( RealType const (&stoichiometricMatrix)[numReactions][numSpecies],
90- RealType const (&rateConstantForward)[numReactions],
91- RealType const (&rateConstantReverse)[numReactions] ):
92- KineticReactionsParameters( stoichiometricMatrix,
93- rateConstantForward,
77+ RealType const (&rateConstantForward)[numReactions],
78+ RealType const (&rateConstantReverse)[numReactions] ):
79+ KineticReactionsParameters( stoichiometricMatrix,
80+ rateConstantForward,
9481 rateConstantReverse,
95- std::make_index_sequence<NUM_REACTIONS>(),
96- std::make_index_sequence<NUM_REACTIONS*NUM_SPECIES>() )
82+ std::make_index_sequence< NUM_REACTIONS >(),
83+ std::make_index_sequence< NUM_REACTIONS *NUM_SPECIES >() )
9784 {}
9885
9986
@@ -106,29 +93,20 @@ struct KineticReactionsParameters
10693 RealType m_rateConstantForward[numReactions];
10794 RealType m_rateConstantReverse[numReactions];
10895
109- private:
110- #if defined(__GNUC__) || defined(__clang__)
111- #pragma GCC diagnostic push
112- #pragma GCC diagnostic ignored "-Wmissing-braces"
113- #elif defined(_MSC_VER)
114- #pragma warning(push)
115- #pragma warning(disable : 4351) // MSVC equivalent of missing-braces warning
116- #endif
117- template < std::size_t ... R, std::size_t ... RxS >
118- KineticReactionsParameters ( RealType const (&stoichiometricMatrix)[numReactions][numSpecies],
119- RealType const (&rateConstantForward)[numReactions],
120- RealType const (&rateConstantReverse)[numReactions],
121- std::index_sequence<R...>,
122- std::index_sequence<RxS...> ):
123- m_stoichiometricMatrix{ stoichiometricMatrix[RxS/numSpecies][RxS%numSpecies]... },
124- m_rateConstantForward{ rateConstantForward[R]... },
125- m_rateConstantReverse{ rateConstantReverse[R]... }
126- {}
127- #if defined(__GNUC__) || defined(__clang__)
128- #pragma GCC diagnostic pop
129- #elif defined(_MSC_VER)
130- #pragma warning(pop)
131- #endif
96+ private:
97+ HPCREACT_NO_MISSING_BRACES (
98+ template < std::size_t ... R, std::size_t ... RxS >
99+ KineticReactionsParameters ( RealType const (&stoichiometricMatrix)[numReactions][numSpecies],
100+ RealType const (&rateConstantForward)[numReactions],
101+ RealType const (&rateConstantReverse)[numReactions],
102+ std::index_sequence< R... >,
103+ std::index_sequence< RxS... > ) :
104+ m_stoichiometricMatrix{ stoichiometricMatrix[RxS/numSpecies][RxS%numSpecies] ... },
105+ m_rateConstantForward{ rateConstantForward[R] ... },
106+ m_rateConstantReverse{ rateConstantReverse[R] ... }
107+ {}
108+ )
109+
132110};
133111
134112
@@ -146,14 +124,14 @@ struct MixedReactionsParameters
146124 static constexpr IndexType numReactions = NUM_REACTIONS;
147125
148126 constexpr
149- EquilibriumReactionsParameters< RealType, IntType, IndexType, numSpecies, numReactions >
127+ EquilibriumReactionsParameters< RealType, IntType, IndexType, numSpecies, numReactions >
150128 equilibriumReactionsParameters () const
151129 {
152130 return {m_stoichiometricMatrix, m_equilibriumConstant};
153131 }
154132
155133 constexpr
156- KineticReactionsParameters< RealType, IntType, IndexType, numSpecies, numReactions >
134+ KineticReactionsParameters< RealType, IntType, IndexType, numSpecies, numReactions >
157135 kineticReactionsParameters () const
158136 {
159137 return {m_stoichiometricMatrix, m_rateConstantForward, m_rateConstantReverse};
@@ -207,7 +185,5 @@ struct MixedReactionsParameters
207185
208186
209187
210-
211-
212188} // namespace solidStateBattery
213189} // namespace hpcReact
0 commit comments