#pragma once

#include "qc/basis.hpp"

namespace qc {

double cart_overlap(const CartPrimitive& a, const CartPrimitive& b);

double cart_kinetic(const CartPrimitive& a, const CartPrimitive& b);

double cart_nuclear(const CartPrimitive& a, const CartPrimitive& b, const Atom& nuc);

double cart_eri(const CartPrimitive& a, const CartPrimitive& b, const CartPrimitive& c,
                const CartPrimitive& d);

}  // namespace qc
