Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,9 @@ MODULE_RUN(UQAtomSymmBlockedDriver) {
Kernel<tensorwrapper::types::thresholded_affine_type> k(shape, aos,
mean);
t_w_error = visit_contiguous_buffer(k, t_buffer, e_buffer);
} else if(uq_type == "taylor model") {
Kernel<tensorwrapper::types::taylor_model_type> k(shape, aos, mean);
t_w_error = visit_contiguous_buffer(k, t_buffer, e_buffer);
} else {
throw std::runtime_error(
"integrals::ao_integrals::UQAtomSymmBlockedDriver: Invalid UQ type "
Expand Down
3 changes: 3 additions & 0 deletions cxx/src/integrals/ao_integrals/uq_driver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,9 @@ MODULE_RUN(UQDriver) {
} else if(uq_type == "thresholded affine") {
Kernel<tensorwrapper::types::thresholded_affine_type> k(shape, mean);
t_w_error = visit_contiguous_buffer(k, t_buffer, error_buffer);
} else if(uq_type == "taylor model") {
Kernel<tensorwrapper::types::taylor_model_type> k(shape, mean);
t_w_error = visit_contiguous_buffer(k, t_buffer, error_buffer);
} else {
throw std::runtime_error(
"integrals::ao_integrals::UQDriver: Invalid UQ type name " + uq_type);
Expand Down
5 changes: 5 additions & 0 deletions cxx/src/integrals/libint/libint.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,11 @@ TEMPLATED_MODULE_RUN(Libint, BraKetType) {
tensorwrapper::types::thresholded_affine_type<float_type>;
t = detail_::fill_tensor<N, thresholded_affine_type>(basis_sets, op, rv,
thresh);
} else if(uq_type == "taylor model") {
using taylor_model_type =
tensorwrapper::types::taylor_model_type<float_type>;
t = detail_::fill_tensor<N, taylor_model_type>(basis_sets, op, rv,
thresh);
} else {
throw std::runtime_error(
"integrals::libint::Libint: Invalid UQ type name " + uq_type);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,8 @@ auto corr_answer_no_mean(const simde::type::tensor& T,
using uq_types =
std::tuple<tensorwrapper::types::interval_type<double>,
tensorwrapper::types::affine_type<double>,
tensorwrapper::types::thresholded_affine_type<double>>;
tensorwrapper::types::thresholded_affine_type<double>,
tensorwrapper::types::taylor_model_type<double>>;
TEMPLATE_LIST_TEST_CASE("UQ Atom Symm Blocked Driver", "", uq_types) {
using float_type = TestType;
using test_pt = simde::ERI4;
Expand Down Expand Up @@ -145,6 +146,9 @@ TEMPLATE_LIST_TEST_CASE("UQ Atom Symm Blocked Driver", "", uq_types) {
} else if constexpr(tensorwrapper::types::is_thresholded_affine_v<
float_type>) {
return "thresholded affine";
} else if constexpr(tensorwrapper::types::is_taylor_model_v<
float_type>) {
return "taylor model";
} else {
return ""; // Won't be used because of static assert below.
}
Expand Down
6 changes: 5 additions & 1 deletion tests/cxx/unit/integrals/ao_integrals/test_uq_driver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,8 @@ auto corr_geometric_mean_answer(const simde::type::tensor& T) {
using uq_types =
std::tuple<tensorwrapper::types::udouble,
tensorwrapper::types::interval_type<double>,
tensorwrapper::types::thresholded_affine_type<double>>;
tensorwrapper::types::thresholded_affine_type<double>,
tensorwrapper::types::taylor_model_type<double>>;
TEMPLATE_LIST_TEST_CASE("UQ Driver", "", uq_types) {
using float_type = TestType;
using test_pt = simde::ERI4;
Expand Down Expand Up @@ -199,6 +200,9 @@ TEMPLATE_LIST_TEST_CASE("UQ Driver", "", uq_types) {
} else if constexpr(tensorwrapper::types::is_thresholded_affine_v<
float_type>) {
return "thresholded affine";
} else if constexpr(tensorwrapper::types::is_taylor_model_v<
float_type>) {
return "taylor model";
} else {
return ""; // Won't be used because of static assert below.
}
Expand Down
Loading