#include "config.h"

namespace tbplas::tbpm {

void TBPMConfig::set_wft_wf0(const complex_t* arg_wft_wf0, const size_t& arg_num_orb)
{
    new (&python_wft_wf0_map_) Eigen::Map<const Eigen::VectorXcd>(
        const_cast<complex_t*>(arg_wft_wf0),
        arg_num_orb);
}

Eigen::Map<const Eigen::VectorXcd> TBPMConfig::get_wft_wf0() const
{
    if (python_mode) {
        return python_wft_wf0_map_;
    }
    return Eigen::Map<const Eigen::VectorXcd>(
        const_cast<complex_t*>(wft_wf0.data()),
        wft_wf0.size());
}
}; // namespace tbplas::tbpm