36template <
typename _IntegralScalar,
size_t _N>
40 static constexpr auto N = _N;
101 for (
size_t f1 = 0; f1 < this->
nbf1; f1++) {
102 for (
size_t f2 = 0; f2 < this->
nbf2; f2++) {
104 for (
size_t i = 0; i <
N; i++) {
105 full_components[i](bf1 + f1, bf2 + f2) = this->
value(i, f1, f2);
Definition: BaseOneElectronIntegralBuffer.hpp:37
size_t nbf2
Definition: BaseOneElectronIntegralBuffer.hpp:45
static constexpr auto N
Definition: BaseOneElectronIntegralBuffer.hpp:40
void emplace(std::array< MatrixX< IntegralScalar >, N > &full_components, const size_t bf1, const size_t bf2) const
Definition: BaseOneElectronIntegralBuffer.hpp:98
virtual bool areIntegralsAllZero() const =0
virtual ~BaseOneElectronIntegralBuffer()=default
virtual IntegralScalar value(const size_t i, const size_t f1, const size_t f2) const =0
_IntegralScalar IntegralScalar
Definition: BaseOneElectronIntegralBuffer.hpp:39
size_t numberOfBasisFunctionsInShell2() const
Definition: BaseOneElectronIntegralBuffer.hpp:121
size_t nbf1
Definition: BaseOneElectronIntegralBuffer.hpp:44
size_t numberOfBasisFunctionsInShell1() const
Definition: BaseOneElectronIntegralBuffer.hpp:116
BaseOneElectronIntegralBuffer(const size_t nbf1, const size_t nbf2)
Definition: BaseOneElectronIntegralBuffer.hpp:57
Definition: Matrix.hpp:47
Definition: BaseOneElectronIntegralBuffer.hpp:25