From db4c38842e9a48e03a4739308f26a320d7a605dd Mon Sep 17 00:00:00 2001 From: gqian-coder Date: Wed, 6 Aug 2025 13:55:55 -0400 Subject: [PATCH 1/3] change the quantizer size calculated in Hierarchy.hpp to be level-wise uniform --- include/mgard-x/Hierarchy/Hierarchy.hpp | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/include/mgard-x/Hierarchy/Hierarchy.hpp b/include/mgard-x/Hierarchy/Hierarchy.hpp index 065f842031..c2a721e34c 100644 --- a/include/mgard-x/Hierarchy/Hierarchy.hpp +++ b/include/mgard-x/Hierarchy/Hierarchy.hpp @@ -171,23 +171,10 @@ void Hierarchy::calc_volume(SIZE dof, T *dist, T *volume, } MemoryManager::Copy1D(h_dist, dist, dof, 0); DeviceRuntime::SyncQueue(0); - if (dof == 2) { - h_volume[0] = h_dist[0] / 2; - h_volume[1] = h_dist[0] / 2; - } else { - int node_coeff_div = dof / 2 + 1; - h_volume[0] = h_dist[0] / 2; - for (int i = 1; i < dof - 1; i++) { - if (i % 2 == 0) { // node - h_volume[i / 2] = (h_dist[i - 1] + h_dist[i]) / 2; - } else { // coeff - h_volume[node_coeff_div + i / 2] = (h_dist[i - 1] + h_dist[i]) / 2; - } - } - if (dof % 2 != 0) { - h_volume[node_coeff_div - 1] = h_dist[dof - 2] / 2; - } else { - h_volume[node_coeff_div - 1] = h_dist[dof - 1] / 2; + // level-wise uniform quantizer + if (dof > 1) { + for (int i = 0; i < dof; i++) { + h_volume[i] = 1.0/ (T)(dof-1); } } From 8a938494770716fa71689f6b3424d0eb2ebdb2dd Mon Sep 17 00:00:00 2001 From: gqian-coder Date: Wed, 6 Aug 2025 14:06:42 -0400 Subject: [PATCH 2/3] fix a clang-format issue --- include/mgard-x/Hierarchy/Hierarchy.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mgard-x/Hierarchy/Hierarchy.hpp b/include/mgard-x/Hierarchy/Hierarchy.hpp index c2a721e34c..3fa5daca62 100644 --- a/include/mgard-x/Hierarchy/Hierarchy.hpp +++ b/include/mgard-x/Hierarchy/Hierarchy.hpp @@ -174,7 +174,7 @@ void Hierarchy::calc_volume(SIZE dof, T *dist, T *volume, // level-wise uniform quantizer if (dof > 1) { for (int i = 0; i < dof; i++) { - h_volume[i] = 1.0/ (T)(dof-1); + h_volume[i] = 1.0 / (T)(dof - 1); } } From 4f2fb9dd3edb8bbc4c34bbd139175224d1871458 Mon Sep 17 00:00:00 2001 From: gqian-coder Date: Wed, 6 Aug 2025 14:33:16 -0400 Subject: [PATCH 3/3] fix a clang format issue again... --- include/mgard-x/Hierarchy/Hierarchy.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mgard-x/Hierarchy/Hierarchy.hpp b/include/mgard-x/Hierarchy/Hierarchy.hpp index 3fa5daca62..3baf968f9d 100644 --- a/include/mgard-x/Hierarchy/Hierarchy.hpp +++ b/include/mgard-x/Hierarchy/Hierarchy.hpp @@ -174,7 +174,7 @@ void Hierarchy::calc_volume(SIZE dof, T *dist, T *volume, // level-wise uniform quantizer if (dof > 1) { for (int i = 0; i < dof; i++) { - h_volume[i] = 1.0 / (T)(dof - 1); + h_volume[i] = 1.0 / (T)(dof - 1); } }