Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package verdict for openSUSE:Factory checked in at 2026-10-28 17:48:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/verdict (Old) and /work/SRC/openSUSE:Factory/.verdict.new.2252680 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "verdict" Wed Oct 28 17:48:46 2026 rev:6 rq:1393272 version:1.4.5 Changes: -------- --- /work/SRC/openSUSE:Factory/verdict/verdict.changes 2025-07-10 22:11:58.335275417 +0200 +++ /work/SRC/openSUSE:Factory/.verdict.new.2252680/verdict.changes 2026-10-28 17:48:54.734999747 +0100 @@ -1,0 +2,9 @@ +Sun Oct 25 16:14:53 UTC 2026 - Andrea Manzini <[email protected]> + +- Update to 1.4.5: + * Fix memory error with 2d tris in normalized inradius. + * Move hex_nodal_jacobians to public header verdict.h. + * Fix warnings under clang. + * Fix CUDA compile. + +------------------------------------------------------------------- Old: ---- verdict-1.4.4.tar.gz New: ---- verdict-1.4.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ verdict.spec ++++++ --- /var/tmp/diff_new_pack.9UCWbm/_old 2026-10-28 17:48:55.488031249 +0100 +++ /var/tmp/diff_new_pack.9UCWbm/_new 2026-10-28 17:48:55.489031291 +0100 @@ -1,7 +1,7 @@ # # spec file for package verdict # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,9 +17,8 @@ %define libname libverdict1_4 - Name: verdict -Version: 1.4.4 +Version: 1.4.5 Release: 0 Summary: Compute quality functions of 2 and 3-dimensional regions License: BSD-3-Clause @@ -27,21 +26,21 @@ Source: https://github.com/sandialabs/verdict/archive/refs/tags/%{version}.tar.gz#/verdict-%{version}.tar.gz BuildRequires: cmake >= 3.16 BuildRequires: gcc-c++ -BuildRequires: gtest +BuildRequires: pkgconfig +BuildRequires: pkgconfig(gtest) +BuildRequires: pkgconfig(gtest_main) %description Verdict is a library for evaluating the geometric qualities of regions of space. %package -n %{libname} Summary: Verdict library for evaluating the geometric qualities of regions of space -Group: System/Libraries %description -n %{libname} Verdict is a library for evaluating the geometric qualities of regions of space. %package devel Summary: Verdict header files -Group: Development/Libraries/C and C++ Requires: %{libname} = %{version} %description devel ++++++ verdict-1.4.4.tar.gz -> verdict-1.4.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/verdict-1.4.4/CMakeLists.txt new/verdict-1.4.5/CMakeLists.txt --- old/verdict-1.4.4/CMakeLists.txt 2025-05-23 16:42:04.000000000 +0200 +++ new/verdict-1.4.5/CMakeLists.txt 2026-04-28 23:49:15.000000000 +0200 @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16) -project(verdict LANGUAGES CXX VERSION 1.4.4) +project(verdict LANGUAGES CXX VERSION 1.4.5) # Enable CUDA if requested option(VERDICT_ENABLE_CUDA "Build Verdict with CUDA support." OFF) Binary files old/verdict-1.4.4/SAND2007-2853p.pdf and new/verdict-1.4.5/SAND2007-2853p.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/verdict-1.4.4/V_HexMetric.cpp new/verdict-1.4.5/V_HexMetric.cpp --- old/verdict-1.4.4/V_HexMetric.cpp 2025-05-23 16:42:04.000000000 +0200 +++ new/verdict-1.4.5/V_HexMetric.cpp 2026-04-28 23:49:15.000000000 +0200 @@ -18,10 +18,10 @@ * */ +#include "verdict.h" #include "V_HexMetric.hpp" #include "V_GaussIntegration.hpp" #include "VerdictVector.hpp" -#include "verdict.h" #include "verdict_defines.hpp" #include <math.h> @@ -250,17 +250,21 @@ } } -#define make_hex_nodes(coord, pos) \ - for (int mhcii = 0; mhcii < 8; mhcii++) \ - { \ - pos[mhcii].set(coord[mhcii][0], coord[mhcii][1], coord[mhcii][2]); \ +template <typename X, typename Y> +VERDICT_HOST_DEVICE static void make_hex_nodes(X& coord, Y& pos) +{ + for (int mhcii = 0; mhcii < 8; mhcii++) + { + pos[mhcii].set(coord[mhcii][0], coord[mhcii][1], coord[mhcii][2]); } +} -#define make_edge_length_squares(edges, lengths) \ - { \ - for (int melii = 0; melii < 12; melii++) \ - lengths[melii] = edges[melii].length_squared(); \ - } +template <typename X, typename Y> +static void make_edge_length_squares(X& edges, Y& lengths) +{ + for (int melii = 0; melii < 12; melii++) + lengths[melii] = edges[melii].length_squared(); +} //! make VerdictVectors from coordinates VERDICT_HOST_DEVICE static void make_hex_edges(const double coordinates[][3], VerdictVector edges[12]) @@ -1977,7 +1981,7 @@ Minimum Jacobian divided by the lengths of the 3 edge vectors */ -VERDICT_HOST_DEVICE double hex_scaled_jacobian(int num_nodes, const double coordinates[][3]) +VERDICT_HOST_DEVICE double hex_scaled_jacobian(int /*num_nodes*/, const double coordinates[][3]) { double jacobi, min_norm_jac = VERDICT_DBL_MAX; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/verdict-1.4.4/V_HexMetric.hpp new/verdict-1.4.5/V_HexMetric.hpp --- old/verdict-1.4.4/V_HexMetric.hpp 2025-05-23 16:42:04.000000000 +0200 +++ new/verdict-1.4.5/V_HexMetric.hpp 2026-04-28 23:49:15.000000000 +0200 @@ -26,90 +26,6 @@ #include <cassert> #include <math.h> -namespace VERDICT_NAMESPACE -{ -// -// Compute jacobian at each of the eight hex corner nodes -// -template <typename T> -VERDICT_HOST_DEVICE void hex_nodal_jacobians(const T coords[24], T Jdet8x[8]) -{ - T x0 = coords[0]; - T y0 = coords[1]; - T z0 = coords[2]; - T x1 = coords[3]; - T y1 = coords[4]; - T z1 = coords[5]; - T x2 = coords[6]; - T y2 = coords[7]; - T z2 = coords[8]; - T x3 = coords[9]; - T y3 = coords[10]; - T z3 = coords[11]; - T x4 = coords[12]; - T y4 = coords[13]; - T z4 = coords[14]; - T x5 = coords[15]; - T y5 = coords[16]; - T z5 = coords[17]; - T x6 = coords[18]; - T y6 = coords[19]; - T z6 = coords[20]; - T x7 = coords[21]; - T y7 = coords[22]; - T z7 = coords[23]; - - // - // Compute the jacobian at each node location - // - T x0y1 = x0 * y1 - x1 * y0; - T x0y2 = x0 * y2 - x2 * y0; - T x0y3 = x0 * y3 - x3 * y0; - T x0y4 = x0 * y4 - x4 * y0; - T x0y5 = x0 * y5 - x5 * y0; - T x0y7 = x0 * y7 - x7 * y0; - - T x1y2 = x1 * y2 - x2 * y1; - T x1y3 = x1 * y3 - x3 * y1; - T x1y4 = x1 * y4 - x4 * y1; - T x1y5 = x1 * y5 - x5 * y1; - T x1y6 = x1 * y6 - x6 * y1; - - T x2y3 = x2 * y3 - x3 * y2; - T x2y5 = x2 * y5 - x5 * y2; - T x2y6 = x2 * y6 - x6 * y2; - T x2y7 = x2 * y7 - x7 * y2; - - T x3y4 = x3 * y4 - x4 * y3; - T x3y6 = x3 * y6 - x6 * y3; - T x3y7 = x3 * y7 - x7 * y3; - - T x4y5 = x4 * y5 - x5 * y4; - T x4y6 = x4 * y6 - x6 * y4; - T x4y7 = x4 * y7 - x7 * y4; - - T x5y6 = x5 * y6 - x6 * y5; - T x5y7 = x5 * y7 - x7 * y5; - - T x6y7 = x6 * y7 - x7 * y6; - - Jdet8x[0] = (-x1y3 + x1y4 - x3y4) * z0 + (x0y3 - x0y4 + x3y4) * z1 + (-x0y1 + x0y4 - x1y4) * z3 + - (x0y1 - x0y3 + x1y3) * z4; - Jdet8x[1] = (-x1y2 + x1y5 - x2y5) * z0 + (x0y2 - x0y5 + x2y5) * z1 + (-x0y1 + x0y5 - x1y5) * z2 + - (x0y1 - x0y2 + x1y2) * z5; - Jdet8x[2] = (-x2y3 + x2y6 - x3y6) * z1 + (x1y3 - x1y6 + x3y6) * z2 + (-x1y2 + x1y6 - x2y6) * z3 + - (x1y2 - x1y3 + x2y3) * z6; - Jdet8x[3] = (-x2y3 + x2y7 - x3y7) * z0 + (x0y3 - x0y7 + x3y7) * z2 + (-x0y2 + x0y7 - x2y7) * z3 + - (x0y2 - x0y3 + x2y3) * z7; - Jdet8x[4] = (-x4y5 + x4y7 - x5y7) * z0 + (x0y5 - x0y7 + x5y7) * z4 + (-x0y4 + x0y7 - x4y7) * z5 + - (x0y4 - x0y5 + x4y5) * z7; - Jdet8x[5] = (-x4y5 + x4y6 - x5y6) * z1 + (x1y5 - x1y6 + x5y6) * z4 + (-x1y4 + x1y6 - x4y6) * z5 + - (x1y4 - x1y5 + x4y5) * z6; - Jdet8x[6] = (-x5y6 + x5y7 - x6y7) * z2 + (x2y6 - x2y7 + x6y7) * z5 + (-x2y5 + x2y7 - x5y7) * z6 + - (x2y5 - x2y6 + x5y6) * z7; - Jdet8x[7] = (-x4y6 + x4y7 - x6y7) * z3 + (x3y6 - x3y7 + x6y7) * z4 + (-x3y4 + x3y7 - x4y7) * z6 + - (x3y4 - x3y6 + x4y6) * z7; -} -} +// TODO: remove this file #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/verdict-1.4.4/V_TriMetric.cpp new/verdict-1.4.5/V_TriMetric.cpp --- old/verdict-1.4.4/V_TriMetric.cpp 2025-05-23 16:42:04.000000000 +0200 +++ new/verdict-1.4.5/V_TriMetric.cpp 2026-04-28 23:49:15.000000000 +0200 @@ -1202,7 +1202,7 @@ tri6_midnode_coords[i-3][0] = (coordinates[i0][0] + coordinates[i1][0]) * 0.5; tri6_midnode_coords[i-3][1] = (coordinates[i0][1] + coordinates[i1][1]) * 0.5; - tri6_midnode_coords[i-3][2] = (coordinates[i0][2] + coordinates[i1][2]) * 0.5; + tri6_midnode_coords[i-3][2] = dimension == 2 ? 0.0 : (coordinates[i0][2] + coordinates[i1][2]) * 0.5; tri6_coords[i] = tri6_midnode_coords[i-3]; } return tri6_normalized_inradius(tri6_coords, dimension); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/verdict-1.4.4/docs/VerdictUserManual2007/Verdict-Manual-2007.tex new/verdict-1.4.5/docs/VerdictUserManual2007/Verdict-Manual-2007.tex --- old/verdict-1.4.4/docs/VerdictUserManual2007/Verdict-Manual-2007.tex 2025-05-23 16:42:04.000000000 +0200 +++ new/verdict-1.4.5/docs/VerdictUserManual2007/Verdict-Manual-2007.tex 2026-04-28 23:49:15.000000000 +0200 @@ -41,16 +41,16 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \title{The \verd{} Library Reference Manual} \author{C. J. Stimpson\\ - Elemental Technologies, Inc.\\ - 17 N. Merchant St.\\ - American Fork, UT 84003, U.S.A.\\ - \texttt{[email protected]} + Sandia National Laboratories\\ + M.S. 0845, P.O. Box 5800\\ + Albuquerque, NM 87185, U.S.A.\\ + \texttt{[email protected]} \and C. D. Ernst\\ - Elemental Technologies, Inc.\\ - 17 N. Merchant St.\\ - American Fork, UT 84003, U.S.A.\\ - \texttt{[email protected]} + Sandia National Laboratories\\ + M.S. 0845, P.O. Box 5800\\ + Albuquerque, NM 87185, U.S.A.\\ + \texttt{[email protected]} \and P. Knupp\\ Sandia National Laboratories\\ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/verdict-1.4.4/unittests/verdict.test.cpp new/verdict-1.4.5/unittests/verdict.test.cpp --- old/verdict-1.4.4/unittests/verdict.test.cpp 2025-05-23 16:42:04.000000000 +0200 +++ new/verdict-1.4.5/unittests/verdict.test.cpp 2026-04-28 23:49:15.000000000 +0200 @@ -350,8 +350,8 @@ double expected_answer = 1.0; - EXPECT_NEAR(expected_answer, verdict::tri_scaled_jacobian_from_loc_ptrs(3, coords, 2), - std::abs(expected_answer) * VERDICT_RELATIVE_TOL + VERDICT_ABSOLUTE_TOL); + EXPECT_NEAR(expected_answer, verdict::tri_scaled_jacobian_from_loc_ptrs(3, coords, 2), 1.0); + EXPECT_NEAR(expected_answer, verdict::tri_normalized_inradius_from_loc_ptrs(3, coords, 2), 1.0); } TEST(verdict, tri_singular) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/verdict-1.4.4/verdict.h new/verdict-1.4.5/verdict.h --- old/verdict-1.4.4/verdict.h 2025-05-23 16:42:04.000000000 +0200 +++ new/verdict-1.4.5/verdict.h 2026-04-28 23:49:15.000000000 +0200 @@ -703,6 +703,91 @@ /* Currently supports tri 6 and 3.*/ VERDICT_EXPORT double tri_normalized_inradius(int num_nodes, const double coordinates[][3]); VERDICT_EXPORT double tri_normalized_inradius_from_loc_ptrs(int num_nodes, const double * const *coordinates, const int dimension=3); + + +// +// Compute jacobian at each of the eight hex corner nodes +// +template <typename T> +VERDICT_HOST_DEVICE void hex_nodal_jacobians(const T coords[24], T Jdet8x[8]) +{ + T x0 = coords[0]; + T y0 = coords[1]; + T z0 = coords[2]; + T x1 = coords[3]; + T y1 = coords[4]; + T z1 = coords[5]; + T x2 = coords[6]; + T y2 = coords[7]; + T z2 = coords[8]; + T x3 = coords[9]; + T y3 = coords[10]; + T z3 = coords[11]; + T x4 = coords[12]; + T y4 = coords[13]; + T z4 = coords[14]; + T x5 = coords[15]; + T y5 = coords[16]; + T z5 = coords[17]; + T x6 = coords[18]; + T y6 = coords[19]; + T z6 = coords[20]; + T x7 = coords[21]; + T y7 = coords[22]; + T z7 = coords[23]; + + // + // Compute the jacobian at each node location + // + T x0y1 = x0 * y1 - x1 * y0; + T x0y2 = x0 * y2 - x2 * y0; + T x0y3 = x0 * y3 - x3 * y0; + T x0y4 = x0 * y4 - x4 * y0; + T x0y5 = x0 * y5 - x5 * y0; + T x0y7 = x0 * y7 - x7 * y0; + + T x1y2 = x1 * y2 - x2 * y1; + T x1y3 = x1 * y3 - x3 * y1; + T x1y4 = x1 * y4 - x4 * y1; + T x1y5 = x1 * y5 - x5 * y1; + T x1y6 = x1 * y6 - x6 * y1; + + T x2y3 = x2 * y3 - x3 * y2; + T x2y5 = x2 * y5 - x5 * y2; + T x2y6 = x2 * y6 - x6 * y2; + T x2y7 = x2 * y7 - x7 * y2; + + T x3y4 = x3 * y4 - x4 * y3; + T x3y6 = x3 * y6 - x6 * y3; + T x3y7 = x3 * y7 - x7 * y3; + + T x4y5 = x4 * y5 - x5 * y4; + T x4y6 = x4 * y6 - x6 * y4; + T x4y7 = x4 * y7 - x7 * y4; + + T x5y6 = x5 * y6 - x6 * y5; + T x5y7 = x5 * y7 - x7 * y5; + + T x6y7 = x6 * y7 - x7 * y6; + + Jdet8x[0] = (-x1y3 + x1y4 - x3y4) * z0 + (x0y3 - x0y4 + x3y4) * z1 + (-x0y1 + x0y4 - x1y4) * z3 + + (x0y1 - x0y3 + x1y3) * z4; + Jdet8x[1] = (-x1y2 + x1y5 - x2y5) * z0 + (x0y2 - x0y5 + x2y5) * z1 + (-x0y1 + x0y5 - x1y5) * z2 + + (x0y1 - x0y2 + x1y2) * z5; + Jdet8x[2] = (-x2y3 + x2y6 - x3y6) * z1 + (x1y3 - x1y6 + x3y6) * z2 + (-x1y2 + x1y6 - x2y6) * z3 + + (x1y2 - x1y3 + x2y3) * z6; + Jdet8x[3] = (-x2y3 + x2y7 - x3y7) * z0 + (x0y3 - x0y7 + x3y7) * z2 + (-x0y2 + x0y7 - x2y7) * z3 + + (x0y2 - x0y3 + x2y3) * z7; + Jdet8x[4] = (-x4y5 + x4y7 - x5y7) * z0 + (x0y5 - x0y7 + x5y7) * z4 + (-x0y4 + x0y7 - x4y7) * z5 + + (x0y4 - x0y5 + x4y5) * z7; + Jdet8x[5] = (-x4y5 + x4y6 - x5y6) * z1 + (x1y5 - x1y6 + x5y6) * z4 + (-x1y4 + x1y6 - x4y6) * z5 + + (x1y4 - x1y5 + x4y5) * z6; + Jdet8x[6] = (-x5y6 + x5y7 - x6y7) * z2 + (x2y6 - x2y7 + x6y7) * z5 + (-x2y5 + x2y7 - x5y7) * z6 + + (x2y5 - x2y6 + x5y6) * z7; + Jdet8x[7] = (-x4y6 + x4y7 - x6y7) * z3 + (x3y6 - x3y7 + x6y7) * z4 + (-x3y4 + x3y7 - x4y7) * z6 + + (x3y4 - x3y6 + x4y6) * z7; +} + } // namespace verdict #endif /* __verdict_h */
