Document the new DPF surfaces in one command set, and test the field, half-tree, and multipoint edges.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
0d8a5a8131
commit
0dff6df8ed
250 changed files with 12199 additions and 1981 deletions
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/abs.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `abs`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
@ -20,7 +20,11 @@ namespace grotto
|
|||
namespace gadgets
|
||||
{
|
||||
|
||||
struct abs
|
||||
HEDLEY_DIAGNOSTIC_PUSH
|
||||
HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
|
||||
|
||||
|
||||
struct HEDLEY_DEPRECATED_FOR(2026, grotto::make_abs_lut) abs
|
||||
{
|
||||
template <typename T>
|
||||
T operator()(T x) { return std::abs(static_cast<double>(x)); }
|
||||
|
|
@ -39,6 +43,8 @@ struct gadget_hints<abs>
|
|||
static constexpr std::array<double, degree+1> canonical_polys[] = { { -1, 0 }, { 1, 0 } };
|
||||
};
|
||||
|
||||
HEDLEY_DIAGNOSTIC_POP
|
||||
|
||||
} // namespace gadgets
|
||||
|
||||
} // namespace grotto
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/approx.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `approx`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/boxcar.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `boxcar`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elemwntary/clip.hpp
|
||||
/// @file grotto/gadgets/elementary/clip.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `clip`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
@ -19,9 +19,13 @@ namespace grotto
|
|||
namespace gadgets
|
||||
{
|
||||
|
||||
HEDLEY_DIAGNOSTIC_PUSH
|
||||
HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
|
||||
|
||||
|
||||
template <double const & lower,
|
||||
double const & upper>
|
||||
struct clip
|
||||
struct HEDLEY_DEPRECATED_FOR(2026, grotto::make_clip_lut) clip
|
||||
{
|
||||
static_assert(lower <= upper);
|
||||
template <typename T>
|
||||
|
|
@ -43,6 +47,8 @@ struct gadget_hints<clip<lower, upper>>
|
|||
static constexpr std::array<double, degree+1> canonical_polys[] = { { lower, 0 }, { 0, 1 }, { upper, 0 } };
|
||||
};
|
||||
|
||||
HEDLEY_DIAGNOSTIC_POP
|
||||
|
||||
} // namespace gadgets
|
||||
|
||||
} // namespace grotto
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/eq.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `eq`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/geq.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `geq`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/gt.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `gt`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/identity.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `identity`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/leqw.hpp
|
||||
/// @file grotto/gadgets/elementary/leq.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `leq`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/lt.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `lt`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/negative.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `negative`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
@ -17,7 +17,7 @@ namespace gadgets
|
|||
{
|
||||
|
||||
static constexpr double lt_target_zero = 0;
|
||||
using negative = lt<lt_target_zero>;
|
||||
using negative HEDLEY_DEPRECATED_FOR(2026, grotto::exact_constant) = lt<lt_target_zero>;
|
||||
|
||||
} // namespace gadgets
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/neq.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `neq`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/nonnegative.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `nonnegative`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
@ -17,7 +17,7 @@ namespace gadgets
|
|||
{
|
||||
|
||||
static constexpr double geq_target_zero = 0;
|
||||
using nonnegative = geq<geq_target_zero>;
|
||||
using nonnegative HEDLEY_DEPRECATED_FOR(2026, grotto::exact_constant) = geq<geq_target_zero>;
|
||||
|
||||
} // namespace gadgets
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/nonpositive.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `nonpositive`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
@ -17,7 +17,7 @@ namespace gadgets
|
|||
{
|
||||
|
||||
static constexpr double leq_target_zero = 0;
|
||||
using nonpositive = leq<leq_target_zero>;
|
||||
using nonpositive HEDLEY_DEPRECATED_FOR(2026, grotto::exact_constant) = leq<leq_target_zero>;
|
||||
|
||||
} // namespace gadgets
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/nonzero.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `nonzero`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
@ -17,7 +17,7 @@ namespace gadgets
|
|||
{
|
||||
|
||||
static constexpr double neq_target_zero = 0;
|
||||
using nonzero = neq<neq_target_zero>;
|
||||
using nonzero HEDLEY_DEPRECATED_FOR(2026, grotto::exact_constant) = neq<neq_target_zero>;
|
||||
|
||||
} // namespace gadgets
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/pmone.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `pmone`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/positive.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `positive`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
@ -17,7 +17,7 @@ namespace gadgets
|
|||
{
|
||||
|
||||
static constexpr double gt_target_zero = 0;
|
||||
using positive = gt<gt_target_zero>;
|
||||
using positive HEDLEY_DEPRECATED_FOR(2026, grotto::exact_constant) = gt<gt_target_zero>;
|
||||
|
||||
} // namespace gadgets
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/rect.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `rect`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/step.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `step`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/ternary.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `ternary`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/// @file grotto/gadgets/elementary/zero.hpp
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @brief
|
||||
/// @brief Cleartext reference for `zero`.
|
||||
/// @copyright Copyright (c) 2019-2023 Ryan Henry and others
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
/// see [LICENSE.md](@ref GPLv2) for details.
|
||||
|
|
@ -17,7 +17,7 @@ namespace gadgets
|
|||
{
|
||||
|
||||
static constexpr double eq_target_zero = 0;
|
||||
using zero = eq<eq_target_zero>;
|
||||
using zero HEDLEY_DEPRECATED_FOR(2026, grotto::exact_constant) = eq<eq_target_zero>;
|
||||
|
||||
} // namespace gadgets
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue