37template <
typename _IntegralScalar,
size_t _N>
45 static constexpr auto N = _N;
50 std::array<std::vector<IntegralScalar>,
N>
buffer;
88 IntegralScalar value(
const size_t i,
const size_t f1,
const size_t f2,
const size_t f3,
const size_t f4)
const override {
90 return this->buffer[i][f4 + this->
nbf4 * (f3 + this->
nbf3 * (f2 + this->
nbf2 * f1))];
Definition: BaseTwoElectronIntegralBuffer.hpp:38
size_t nbf4
Definition: BaseTwoElectronIntegralBuffer.hpp:48
size_t nbf3
Definition: BaseTwoElectronIntegralBuffer.hpp:47
size_t nbf1
Definition: BaseTwoElectronIntegralBuffer.hpp:45
size_t nbf2
Definition: BaseTwoElectronIntegralBuffer.hpp:46
Definition: TwoElectronIntegralBuffer.hpp:39
_IntegralScalar IntegralScalar
Definition: TwoElectronIntegralBuffer.hpp:42
static constexpr auto N
Definition: TwoElectronIntegralBuffer.hpp:45
std::array< std::vector< IntegralScalar >, N > buffer
Definition: TwoElectronIntegralBuffer.hpp:50
TwoElectronIntegralBuffer(const size_t nbf1, const size_t nbf2, const size_t nbf3, const size_t nbf4, const std::array< std::vector< IntegralScalar >, N > &buffer)
Definition: TwoElectronIntegralBuffer.hpp:65
IntegralScalar value(const size_t i, const size_t f1, const size_t f2, const size_t f3, const size_t f4) const override
Definition: TwoElectronIntegralBuffer.hpp:88
bool areIntegralsAllZero() const override
Definition: TwoElectronIntegralBuffer.hpp:77
Definition: BaseOneElectronIntegralBuffer.hpp:25