<pre style='margin:0'>
Ryan Carsten Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ee37f657250af2a016428daadf9fc70b6f756b7b">https://github.com/macports/macports-ports/commit/ee37f657250af2a016428daadf9fc70b6f756b7b</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit ee37f657250af2a016428daadf9fc70b6f756b7b
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Thu Apr 11 20:29:56 2024 +0800
<span style='display:block; white-space:pre;color:#404040;'> strumpack: revbump, backport a fix from upstream for bpack3
</span>---
math/strumpack/Portfile | 6 +-
math/strumpack/files/Fix-BPACK-interface.patch | 385 +++++++++++++++++++++++++
2 files changed, 390 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/strumpack/Portfile b/math/strumpack/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 48a4f9e9d1c..cc533a9ee3b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/strumpack/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/strumpack/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,7 +8,7 @@ PortGroup mpi 1.0
</span>
github.setup pghysels STRUMPACK 7.2.0 v
name strumpack
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span> categories math science
license BSD
maintainers {@barracuda156 gmail.com:vital.had} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -22,6 +22,10 @@ checksums rmd160 354238dba4168641b4ee144c2fb846e3bb50b1f8 \
</span> size 2006016
github.tarball_from archive
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/pghysels/STRUMPACK/issues/116
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Drop with the next update.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles Fix-BPACK-interface.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_lib-append port:metis \
port:scotch
depends_build-append port:util-linux
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/strumpack/files/Fix-BPACK-interface.patch b/math/strumpack/files/Fix-BPACK-interface.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..931b1abc4e7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/strumpack/files/Fix-BPACK-interface.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,385 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From fe3be9f9bc376e463f2a626c50995fbad7d72fe3 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Pieter Ghysels <pghysels@lbl.gov>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 11 Mar 2024 14:52:39 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Fix BPACK interface see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://github.com/pghysels/STRUMPACK/issues/116
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/HODLR/HODLRMatrix.cpp | 16 +++++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/HODLR/HODLRMatrix.hpp | 7 ++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/HODLR/HODLRWrapper.cpp | 52 +++++++++++++++++++-------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/HODLR/HODLRWrapper.hpp | 15 ++++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 4 files changed, 47 insertions(+), 43 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/HODLR/HODLRMatrix.cpp src/HODLR/HODLRMatrix.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e37c2794..533f4999 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/HODLR/HODLRMatrix.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/HODLR/HODLRMatrix.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,7 +62,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename scalar_t> void HODLR_kernel_block_evaluation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr KC) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -96,7 +96,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename scalar_t> void HODLR_block_evaluation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr AC) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -125,13 +125,14 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (rank == p0) data += m*n;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ExtractionMeta e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {nullptr, *Ninter, *Nallrows, *Nallcols, *Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- allrows, allcols, rowids, colids, pgids, *Npmap, pmaps};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {nullptr, *Ninter, *Nallrows, *Nallcols,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ allrows, allcols, rowids, colids, pgids, *Npmap, pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *Nalldat_loc};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ temp->Aelem->operator()(I, J, B, e);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename scalar_t> void HODLR_block_evaluation_seq
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr f) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -154,8 +155,9 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ data += m*n;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ExtractionMeta e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {nullptr, *Ninter, *Nallrows, *Nallcols, *Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- allrows, allcols, rowids, colids, pgids, *Npmap, pmaps};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {nullptr, *Ninter, *Nallrows, *Nallcols,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ allrows, allcols, rowids, colids, pgids, *Npmap, pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *Nalldat_loc};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static_cast<typename HODLRMatrix<scalar_t>::elem_blocks_t*>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (f)->operator()(I, J, B, e);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/HODLR/HODLRMatrix.hpp src/HODLR/HODLRMatrix.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4c62f075..c85d4003 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/HODLR/HODLRMatrix.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/HODLR/HODLRMatrix.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -53,8 +53,9 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct ExtractionMeta {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::unique_ptr<int[]> iwork;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int Ninter, Nallrows, Nallcols, Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int Ninter, Nallrows, Nallcols,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *allrows, *allcols, *rowids, *colids, *pgids, Npmap, *pmaps;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ std::int64_t Nalldat_loc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -594,13 +595,13 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename scalar_t> void HODLR_block_evaluation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void* AC);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename scalar_t> void HODLR_block_evaluation_seq
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void* f);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/HODLR/HODLRWrapper.cpp src/HODLR/HODLRWrapper.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 22e00238..750e3e62 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/HODLR/HODLRWrapper.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/HODLR/HODLRWrapper.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -247,7 +247,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& msh, F2Cptr& kerquant, F2Cptr& ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmn)(int*, int*, float*, C2Fptr),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, float* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -265,7 +265,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& msh, F2Cptr& kerquant, F2Cptr& ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmn)(int*, int*, double*, C2Fptr),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, double* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -279,7 +279,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& stats, F2Cptr& msh, F2Cptr& kerquant, F2Cptr& ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmn)(int*, int*, std::complex<float>*, C2Fptr),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, std::complex<float>* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -293,7 +293,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinterpret_cast<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void(*)(int*, int*, _Complex float*, C2Fptr)>(C_FuncZmn),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinterpret_cast<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- void(*)(int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ void(*)(int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, _Complex float* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems)>(C_FuncZmnBlock), fdata);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -304,7 +304,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& stats, F2Cptr& msh, F2Cptr& kerquant, F2Cptr& ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmn)(int*, int*, std::complex<double>*, C2Fptr),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, std::complex<double>* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -314,7 +314,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinterpret_cast<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void(*)(int*, int*, _Complex double*, C2Fptr)>(C_FuncZmn),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinterpret_cast<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- void(*)(int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ void(*)(int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, _Complex double* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems)>(C_FuncZmnBlock), fdata);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -326,7 +326,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& msh, F2Cptr& kerquant, F2Cptr& ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmn)(int*, int*, float*, C2Fptr),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, float* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -339,7 +339,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& msh, F2Cptr& kerquant, F2Cptr& ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmn)(int*, int*, double*, C2Fptr),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, double* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -352,7 +352,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& msh, F2Cptr& kerquant, F2Cptr& ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmn)(int*, int*, std::complex<float>*, C2Fptr),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, std::complex<float>* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -361,7 +361,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinterpret_cast<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void(*)(int*, int*, _Complex float*, C2Fptr)>(C_FuncZmn),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinterpret_cast<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- void(*)(int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ void(*)(int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, _Complex float* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems)>(C_FuncZmnBlock),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -372,7 +372,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& msh, F2Cptr& kerquant, F2Cptr& ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmn)(int*, int*, std::complex<double>*, C2Fptr),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, std::complex<double>* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -381,7 +381,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinterpret_cast<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void(*)(int*, int*, _Complex double*, C2Fptr)>(C_FuncZmn),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinterpret_cast<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- void(*)(int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ void(*)(int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, _Complex double* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems)>(C_FuncZmnBlock),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -520,7 +520,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void LRBF_construct_element_compute<float>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& lr_bf, F2Cptr& options, F2Cptr& stats, F2Cptr& msh,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& kerquant, F2Cptr& ptree, void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, float* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -531,7 +531,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void LRBF_construct_element_compute<double>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& lr_bf, F2Cptr& options, F2Cptr& stats, F2Cptr& msh,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& kerquant, F2Cptr& ptree, void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, double* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -542,33 +542,33 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void LRBF_construct_element_compute<std::complex<float>>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& lr_bf, F2Cptr& options, F2Cptr& stats, F2Cptr& msh,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& kerquant, F2Cptr& ptree, void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, std::complex<float>* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ c_c_bf_construct_element_compute
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (&lr_bf, &options, &stats, &msh, &kerquant, &ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nullptr, reinterpret_cast<void(*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int*, int*, int*, int*, int*, int*, _Complex float*,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int*, int*, int*, std::int64_t*, int*, int*, _Complex float*,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int*, int*, int*, int*, int*, C2Fptr)>(C_FuncZmnBlock), fdata);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void LRBF_construct_element_compute<std::complex<double>>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& lr_bf, F2Cptr& options, F2Cptr& stats, F2Cptr& msh,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& kerquant, F2Cptr& ptree, void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, std::complex<double>* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ z_c_bf_construct_element_compute
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (&lr_bf, &options, &stats, &msh, &kerquant, &ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nullptr, reinterpret_cast<void(*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int*, int*, int*, int*, int*, int*, _Complex double*,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int*, int*, int*, std::int64_t*, int*, int*, _Complex double*,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int*, int*, int*, int*, int*, C2Fptr)>(C_FuncZmnBlock), fdata);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void HODLR_extract_elements<float>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& ho_bf, F2Cptr& options, F2Cptr& msh, F2Cptr& stats,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, int Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, std::int64_t Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, float* alldat_loc, int* rowidx, int* colidx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* pgidx, int Npmap, int* pmaps) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ s_c_bpack_extractelement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -583,7 +583,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void HODLR_extract_elements<double>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& ho_bf, F2Cptr& options, F2Cptr& msh, F2Cptr& stats,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, int Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, std::int64_t Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, double* alldat_loc, int* rowidx, int* colidx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* pgidx, int Npmap, int* pmaps) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ d_c_bpack_extractelement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -598,7 +598,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void HODLR_extract_elements<std::complex<float>>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& ho_bf, F2Cptr& options, F2Cptr& msh, F2Cptr& stats,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, int Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, std::int64_t Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, std::complex<float>* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowidx, int* colidx, int* pgidx, int Npmap, int* pmaps) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ c_c_bpack_extractelement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -614,7 +614,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void HODLR_extract_elements<std::complex<double>>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& ho_bf, F2Cptr& options, F2Cptr& msh, F2Cptr& stats,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, int Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, std::int64_t Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, std::complex<double>* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowidx, int* colidx, int* pgidx, int Npmap, int* pmaps) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ z_c_bpack_extractelement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -631,7 +631,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void LRBF_extract_elements<float>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& lr_bf, F2Cptr& options, F2Cptr& msh, F2Cptr& stats,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, int Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, std::int64_t Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, float* alldat_loc, int* rowidx, int* colidx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* pgidx, int Npmap, int* pmaps) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ s_c_bf_extractelement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -647,7 +647,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void LRBF_extract_elements<double>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& lr_bf, F2Cptr& options, F2Cptr& msh, F2Cptr& stats,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, int Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, std::int64_t Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, double* alldat_loc, int* rowidx, int* colidx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* pgidx, int Npmap, int* pmaps) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ d_c_bf_extractelement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -663,7 +663,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void LRBF_extract_elements<std::complex<float>>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& lr_bf, F2Cptr& options, F2Cptr& msh, F2Cptr& stats,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, int Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, std::int64_t Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, std::complex<float>* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowidx, int* colidx, int* pgidx, int Npmap, int* pmaps) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ c_c_bf_extractelement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -679,7 +679,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<> void LRBF_extract_elements<std::complex<double>>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& lr_bf, F2Cptr& options, F2Cptr& msh, F2Cptr& stats,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, int Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, std::int64_t Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, std::complex<double>* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowidx, int* colidx, int* pgidx, int Npmap, int* pmaps) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ z_c_bf_extractelement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/HODLR/HODLRWrapper.hpp src/HODLR/HODLRWrapper.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f94ac467..6bb3c95c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/HODLR/HODLRWrapper.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/HODLR/HODLRWrapper.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,6 +34,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <cassert>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <complex>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <cstdint>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "dense/DenseMatrix.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "misc/MPIWrapper.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -97,7 +98,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& msh, F2Cptr& kerquant, F2Cptr& ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmn)(int*, int*, scalar_t*, C2Fptr),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -107,7 +108,7 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& msh, F2Cptr& kerquant, F2Cptr& ptree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmn)(int*, int*, scalar_t*, C2Fptr),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*C_FuncZmnBlock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr K);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -136,21 +137,21 @@ namespace strumpack {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename scalar_t> void LRBF_construct_element_compute
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& lr_bf, F2Cptr& options, F2Cptr& stats, F2Cptr& msh,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F2Cptr& kerquant, F2Cptr& ptree, void (*element)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (int* Ninter, int* Nallrows, int* Nallcols, int* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int* Ninter, int* Nallrows, int* Nallcols, std::int64_t* Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowids, int* colids, int* pgids, int* Npmap, int* pmaps,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C2Fptr elems), C2Fptr fdata);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename scalar_t> void HODLR_extract_elements
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& ho_bf, F2Cptr& options, F2Cptr& msh, F2Cptr& stats,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, int Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ std::int64_t Nalldat_loc, int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowidx, int* colidx, int* pgidx, int Npmap, int* pmaps);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename scalar_t> void LRBF_extract_elements
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (F2Cptr& lr_bf, F2Cptr& options, F2Cptr& msh, F2Cptr& stats,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols, int Nalldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ F2Cptr& ptree, int Ninter, int Nallrows, int Nallcols,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ std::int64_t Nalldat_loc, int* allrows, int* allcols, scalar_t* alldat_loc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int* rowidx, int* colidx, int* pgidx, int Npmap, int* pmaps);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename scalar_t> void HODLR_deletestats(F2Cptr&);
</span></pre><pre style='margin:0'>
</pre>