git: 003229ef878a - 2026Q3 - math/the-algorithms-c++: update g20240212 → g20251011
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 14 Jul 2026 03:03:07 UTC
The branch 2026Q3 has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=003229ef878a8be16f75faad0b369b6669033893
commit 003229ef878a8be16f75faad0b369b6669033893
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-07-14 03:01:42 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-07-14 03:03:02 +0000
math/the-algorithms-c++: update g20240212 → g20251011
(cherry picked from commit f0137711775bcdd1bcb80d919853af4a58561369)
---
math/the-algorithms-c++/Makefile | 4 +-
math/the-algorithms-c++/distinfo | 6 +-
.../files/patch-ciphers_uint128__t.hpp | 27 ++++++++
.../files/patch-ciphers_uint256__t.hpp | 29 +++++++++
...patch-data__structures_queue__using__array2.cpp | 13 ----
math/the-algorithms-c++/pkg-plist | 74 ++++++++++++++++++++++
6 files changed, 135 insertions(+), 18 deletions(-)
diff --git a/math/the-algorithms-c++/Makefile b/math/the-algorithms-c++/Makefile
index 1e03f4566a5e..2a4817fdf045 100644
--- a/math/the-algorithms-c++/Makefile
+++ b/math/the-algorithms-c++/Makefile
@@ -1,5 +1,5 @@
PORTNAME= the-algorithms-c++
-DISTVERSION= g20240212
+DISTVERSION= g20251011
CATEGORIES= math
MAINTAINER= yuri@FreeBSD.org
@@ -16,6 +16,6 @@ USE_XORG= xi xmu
USE_GITHUB= yes
GH_ACCOUNT= TheAlgorithms
GH_PROJECT= C-Plus-Plus
-GH_TAGNAME= 2dadbf7
+GH_TAGNAME= b9c118f
.include <bsd.port.mk>
diff --git a/math/the-algorithms-c++/distinfo b/math/the-algorithms-c++/distinfo
index 8a5cbf911be9..f204b78c2730 100644
--- a/math/the-algorithms-c++/distinfo
+++ b/math/the-algorithms-c++/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1712893762
-SHA256 (TheAlgorithms-C-Plus-Plus-g20240212-2dadbf7_GH0.tar.gz) = c6aea4599513d6a75143a05c5adb15acbeb750bc7e0ed77487d50dc3f3c828e7
-SIZE (TheAlgorithms-C-Plus-Plus-g20240212-2dadbf7_GH0.tar.gz) = 492990
+TIMESTAMP = 1783996903
+SHA256 (TheAlgorithms-C-Plus-Plus-g20251011-b9c118f_GH0.tar.gz) = b71ea6a20abd33dfd1b44172ff5d5c57f72e973205485c0c174a84fb2868bf77
+SIZE (TheAlgorithms-C-Plus-Plus-g20251011-b9c118f_GH0.tar.gz) = 524247
diff --git a/math/the-algorithms-c++/files/patch-ciphers_uint128__t.hpp b/math/the-algorithms-c++/files/patch-ciphers_uint128__t.hpp
new file mode 100644
index 000000000000..ebfc0eb28b03
--- /dev/null
+++ b/math/the-algorithms-c++/files/patch-ciphers_uint128__t.hpp
@@ -0,0 +1,27 @@
+-- Remove specializations of standard type traits for uint128_t.
+-- Modern libc++ (and the C++ standard) forbids users from specializing
+-- std::is_integral, std::is_arithmetic and std::is_unsigned. These
+-- specializations caused hard errors like:
+-- 'is_integral' cannot be specialized: Users are not allowed to specialize
+-- this standard library entity
+-- The non-template member/free operators already handle uint128_t operands,
+-- so the specializations are unnecessary for the existing code.
+--
+-- See upstream issue: https://github.com/TheAlgorithms/C-Plus-Plus/issues
+
+--- ciphers/uint128_t.hpp.orig 2026-07-14 02:51:25 UTC
++++ ciphers/uint128_t.hpp
+@@ -21,13 +21,6 @@ class uint128_t;
+ #define CIPHERS_UINT128_T_HPP_
+ class uint128_t;
+
+-template <>
+-struct std::is_integral<uint128_t> : std::true_type {};
+-template <>
+-struct std::is_arithmetic<uint128_t> : std::true_type {};
+-template <>
+-struct std::is_unsigned<uint128_t> : std::true_type {};
+-
+ /**
+ * @brief Adding two string
+ * @details Adds two long integer, only used for printing numbers
diff --git a/math/the-algorithms-c++/files/patch-ciphers_uint256__t.hpp b/math/the-algorithms-c++/files/patch-ciphers_uint256__t.hpp
new file mode 100644
index 000000000000..551bd3994064
--- /dev/null
+++ b/math/the-algorithms-c++/files/patch-ciphers_uint256__t.hpp
@@ -0,0 +1,29 @@
+-- Remove specializations of standard type traits for uint256_t.
+-- Modern libc++ (and the C++ standard) forbids users from specializing
+-- std::is_integral, std::is_arithmetic and std::is_unsigned. These
+-- specializations caused hard errors like:
+-- 'is_integral' cannot be specialized: Users are not allowed to specialize
+-- this standard library entity
+-- The non-template member/free operators already handle uint256_t operands,
+-- so the specializations are unnecessary for the existing code.
+--
+-- See upstream issue: https://github.com/TheAlgorithms/C-Plus-Plus/issues
+
+--- ciphers/uint256_t.hpp.orig 2026-07-14 02:51:25 UTC
++++ ciphers/uint256_t.hpp
+@@ -17,15 +17,6 @@ class uint256_t;
+
+ class uint256_t;
+
+-template <>
+-struct std::is_integral<uint256_t> : std::true_type {};
+-
+-template <>
+-struct std::is_arithmetic<uint256_t> : std::true_type {};
+-
+-template <>
+-struct std::is_unsigned<uint256_t> : std::true_type {};
+-
+ /**
+ * @class uint256_t
+ * @brief class for 256-bit unsigned integer
diff --git a/math/the-algorithms-c++/files/patch-data__structures_queue__using__array2.cpp b/math/the-algorithms-c++/files/patch-data__structures_queue__using__array2.cpp
deleted file mode 100644
index 348109bea1af..000000000000
--- a/math/the-algorithms-c++/files/patch-data__structures_queue__using__array2.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-- workaround for https://github.com/TheAlgorithms/C-Plus-Plus/issues/2690
-
---- data_structures/queue_using_array2.cpp.orig 2024-04-15 23:52:35 UTC
-+++ data_structures/queue_using_array2.cpp
-@@ -1,6 +1,8 @@ using namespace std;
- #include <iostream>
- using namespace std;
-
-+#define queue queue_
-+
- int queue[10];
- int front = 0;
- int rear = 0;
diff --git a/math/the-algorithms-c++/pkg-plist b/math/the-algorithms-c++/pkg-plist
index 8dfa6416cadb..a4a3fcf050bf 100644
--- a/math/the-algorithms-c++/pkg-plist
+++ b/math/the-algorithms-c++/pkg-plist
@@ -11,10 +11,12 @@ bin/backtracking/subarray_sum
bin/backtracking/subset_sum
bin/backtracking/sudoku_solver
bin/backtracking/wildcard_matching
+bin/bit_manipulation/check_even_odd
bin/bit_manipulation/count_bits_flip
bin/bit_manipulation/count_of_set_bits
bin/bit_manipulation/count_of_trailing_ciphers_in_factorial_n
bin/bit_manipulation/find_non_repeating_number
+bin/bit_manipulation/gray_code
bin/bit_manipulation/hamming_distance
bin/bit_manipulation/next_higher_number_with_same_number_of_set_bits
bin/bit_manipulation/power_of_2
@@ -30,6 +32,7 @@ bin/ciphers/morse_code
bin/ciphers/vigenere_cipher
bin/ciphers/xor_cipher
bin/cpu_scheduling_algorithms/fcfs_scheduling
+bin/cpu_scheduling_algorithms/non_preemptive_sjf_scheduling
bin/data_structures/avltree
bin/data_structures/binary_search_tree
bin/data_structures/binary_search_tree2
@@ -69,6 +72,38 @@ bin/data_structures/trie_tree
bin/data_structures/trie_using_hashmap
bin/divide_and_conquer/karatsuba_algorithm_for_fast_multiplication
bin/divide_and_conquer/strassen_matrix_multiplication
+bin/dynamic_programming/0_1_knapsack
+bin/dynamic_programming/abbreviation
+bin/dynamic_programming/armstrong_number_templated
+bin/dynamic_programming/bellman_ford
+bin/dynamic_programming/catalan_numbers
+bin/dynamic_programming/coin_change
+bin/dynamic_programming/coin_change_topdown
+bin/dynamic_programming/cut_rod
+bin/dynamic_programming/edit_distance
+bin/dynamic_programming/egg_dropping_puzzle
+bin/dynamic_programming/fibonacci_bottom_up
+bin/dynamic_programming/floyd_warshall
+bin/dynamic_programming/house_robber
+bin/dynamic_programming/kadane
+bin/dynamic_programming/longest_common_string
+bin/dynamic_programming/longest_common_subsequence
+bin/dynamic_programming/longest_increasing_subsequence
+bin/dynamic_programming/longest_increasing_subsequence_nlogn
+bin/dynamic_programming/longest_palindromic_subsequence
+bin/dynamic_programming/matrix_chain_multiplication
+bin/dynamic_programming/maximum_circular_subarray
+bin/dynamic_programming/minimum_edit_distance
+bin/dynamic_programming/palindrome_partitioning
+bin/dynamic_programming/partition_problem
+bin/dynamic_programming/searching_of_element_in_dynamic_array
+bin/dynamic_programming/shortest_common_supersequence
+bin/dynamic_programming/subset_sum_dynamic
+bin/dynamic_programming/trapped_rainwater
+bin/dynamic_programming/trapped_rainwater2
+bin/dynamic_programming/tree_height
+bin/dynamic_programming/unbounded_0_1_knapsack
+bin/dynamic_programming/word_break
bin/games/memory_game
bin/geometry/graham_scan_algorithm
bin/geometry/jarvis_algorithm
@@ -90,11 +125,22 @@ bin/graph/kosaraju
bin/graph/kruskal
bin/graph/lowest_common_ancestor
bin/graph/max_flow_with_ford_fulkerson_and_edmond_karp_algo
+bin/graph/number_of_paths
bin/graph/prim
bin/graph/topological_sort
bin/graph/topological_sort_by_kahns_algo
bin/graph/travelling_salesman_problem
bin/graphics/spirograph
+bin/greedy_algorithms/binary_addition
+bin/greedy_algorithms/boruvkas_minimum_spanning_tree
+bin/greedy_algorithms/digit_separation
+bin/greedy_algorithms/dijkstra_greedy
+bin/greedy_algorithms/gale_shapley
+bin/greedy_algorithms/huffman
+bin/greedy_algorithms/jump_game
+bin/greedy_algorithms/knapsack
+bin/greedy_algorithms/kruskals_minimum_spanning_tree
+bin/greedy_algorithms/prims_minimum_spanning_tree
bin/hash/chaining
bin/hash/double_hash_hash_table
bin/hash/linear_probing_hash_table
@@ -124,6 +170,7 @@ bin/math/eratosthenes
bin/math/eulers_totient_function
bin/math/extended_euclid_algorithm
bin/math/factorial
+bin/math/factorial_memoization
bin/math/fast_power
bin/math/fibonacci
bin/math/fibonacci_fast
@@ -189,6 +236,18 @@ bin/numerical_methods/qr_decomposition
bin/numerical_methods/qr_eigen_values
bin/numerical_methods/rungekutta
bin/numerical_methods/successive_approximation
+bin/operations_on_datastructures/array_left_rotation
+bin/operations_on_datastructures/array_right_rotation
+bin/operations_on_datastructures/circular_linked_list
+bin/operations_on_datastructures/circular_queue_using_array
+bin/operations_on_datastructures/get_size_of_linked_list
+bin/operations_on_datastructures/inorder_successor_of_bst
+bin/operations_on_datastructures/intersection_of_two_arrays
+bin/operations_on_datastructures/reverse_a_linked_list_using_recusion
+bin/operations_on_datastructures/reverse_binary_tree
+bin/operations_on_datastructures/selectionsortlinkedlist
+bin/operations_on_datastructures/trie_multiple_search
+bin/operations_on_datastructures/union_of_two_arrays
bin/others/buzz_number
bin/others/decimal_to_binary
bin/others/decimal_to_hexadecimal
@@ -199,7 +258,10 @@ bin/others/happy_number
bin/others/iterative_tree_traversals
bin/others/kadanes3
bin/others/kelvin_to_celsius
+bin/others/lfu_cache
+bin/others/longest_substring_without_repeating_characters
bin/others/lru_cache
+bin/others/lru_cache2
bin/others/matrix_exponentiation
bin/others/palindrome_of_number
bin/others/paranthesis_matching
@@ -217,9 +279,17 @@ bin/physics/ground_to_ground_projectile_motion
bin/probability/addition_rule
bin/probability/bayes_theorem
bin/probability/binomial_dist
+bin/probability/exponential_dist
bin/probability/geometric_dist
bin/probability/poisson_dist
bin/probability/windowed_median
+bin/range_queries/fenwick_tree
+bin/range_queries/heavy_light_decomposition
+bin/range_queries/mo
+bin/range_queries/persistent_seg_tree_lazy_prop
+bin/range_queries/prefix_sum_array
+bin/range_queries/segtree
+bin/range_queries/sparse_table_range_queries
bin/search/binary_search
bin/search/exponential_search
bin/search/fibonacci_search
@@ -229,6 +299,7 @@ bin/search/interpolation_search
bin/search/interpolation_search2
bin/search/jump_search
bin/search/linear_search
+bin/search/longest_increasing_subsequence_using_binary_search
bin/search/median_search
bin/search/median_search2
bin/search/saddleback_search
@@ -251,6 +322,7 @@ bin/sorting/dnf_sort
bin/sorting/gnome_sort
bin/sorting/heap_sort
bin/sorting/insertion_sort
+bin/sorting/insertion_sort_recursive
bin/sorting/library_sort
bin/sorting/merge_insertion_sort
bin/sorting/merge_sort
@@ -261,6 +333,7 @@ bin/sorting/pancake_sort
bin/sorting/pigeonhole_sort
bin/sorting/quick_sort
bin/sorting/quick_sort_3
+bin/sorting/quick_sort_iterative
bin/sorting/radix_sort
bin/sorting/radix_sort2
bin/sorting/random_pivot_quick_sort
@@ -278,6 +351,7 @@ bin/sorting/wave_sort
bin/sorting/wiggle_sort
bin/strings/boyer_moore
bin/strings/brute_force_string_searching
+bin/strings/duval
bin/strings/horspool
bin/strings/knuth_morris_pratt
bin/strings/manacher_algorithm