Ion Gaztañaga
|
f8c3d63016
|
Fix "compose" in segmented_iterator_traits, the returned deque iterator must be always valid.
|
2026-03-30 11:18:26 +02:00 |
|
Ion Gaztañaga
|
662450b989
|
Cosmetic changes to simplify function reading
|
2026-03-30 00:02:25 +02:00 |
|
Ion Gaztañaga
|
e02d16f29f
|
Add missing header
|
2026-03-29 23:23:35 +02:00 |
|
Ion Gaztañaga
|
40174dec40
|
Fix bug: iterator category was not properly passed in the recursive segmented calls.
|
2026-03-29 23:23:25 +02:00 |
|
Ion Gaztañaga
|
530b41dad9
|
Add BOOST_CONTAINER_ENABLE_SEGMENTED_LOOP_UNROLLING / BOOST_CONTAINER_DISABLE_SEGMENTED_LOOP_UNROLLING options to easier test unrolling.
|
2026-03-29 22:56:47 +02:00 |
|
Ion Gaztañaga
|
57e95d43a7
|
Unroll segmented_copy, segmented_copy_if, segmented_copy_n
|
2026-03-29 22:52:47 +02:00 |
|
Ion Gaztañaga
|
b468c97627
|
Simplify (using repetitions) unrollings so that the compiler find them easier to parallelize.
|
2026-03-29 22:20:58 +02:00 |
|
Ion Gaztañaga
|
704a6dbe33
|
Unroll segmented_transform
|
2026-03-29 19:07:08 +02:00 |
|
Ion Gaztañaga
|
97b9037ee5
|
Use generic category for fallback implementations
|
2026-03-29 19:06:50 +02:00 |
|
Ion Gaztañaga
|
63a4df535e
|
Unrolled segmented_reverse_copy
|
2026-03-29 18:57:18 +02:00 |
|
Ion Gaztañaga
|
568bfdfc2b
|
Unroll segmented_reverse
|
2026-03-29 18:53:13 +02:00 |
|
Ion Gaztañaga
|
1ca061fb10
|
Cosmetic indenting
|
2026-03-29 18:37:23 +02:00 |
|
Ion Gaztañaga
|
066627c818
|
Unrolled segmented_replace_if
|
2026-03-29 17:52:57 +02:00 |
|
Ion Gaztañaga
|
c3c79053bb
|
Unrolled segmented_remove_copy
|
2026-03-29 17:52:42 +02:00 |
|
Ion Gaztañaga
|
8951e3eae2
|
unroll segmented partition_copy
|
2026-03-29 17:29:52 +02:00 |
|
Ion Gaztañaga
|
3d36bd57b3
|
Unroll segmented_is_sorted_until
|
2026-03-29 17:26:30 +02:00 |
|
Ion Gaztañaga
|
b68fceb101
|
Remove unneeded iterator increment for the "case 1" switch case
|
2026-03-29 17:26:15 +02:00 |
|
Ion Gaztañaga
|
72120b665a
|
Unrolled segmented_partition
|
2026-03-29 16:57:45 +02:00 |
|
Ion Gaztañaga
|
1b221fcca0
|
Fixed unrolling bug in segmented_count_if
|
2026-03-29 15:42:51 +02:00 |
|
Ion Gaztañaga
|
6d935f243e
|
Unroll segmented_generate
|
2026-03-29 15:41:18 +02:00 |
|
Ion Gaztañaga
|
099463c515
|
Fix unrolling bug in segmented_for_each
|
2026-03-29 15:40:56 +02:00 |
|
Ion Gaztañaga
|
112ab48698
|
Unroll segmented mismatch
|
2026-03-29 15:28:33 +02:00 |
|
Ion Gaztañaga
|
d7f4f1927a
|
Comment todo to improve merge in the future
|
2026-03-29 15:25:51 +02:00 |
|
Ion Gaztañaga
|
0d88d6512b
|
Fix generate_n bug
|
2026-03-29 15:25:12 +02:00 |
|
Ion Gaztañaga
|
40570911bc
|
Avoid aliasing in merge scan
|
2026-03-29 15:24:41 +02:00 |
|
Ion Gaztañaga
|
7595cb9a08
|
Unrolled generate_n
|
2026-03-29 12:57:01 +02:00 |
|
Ion Gaztañaga
|
c8118e6bad
|
Loop unrolling for segmented_for_each
|
2026-03-29 12:28:49 +02:00 |
|
Ion Gaztañaga
|
78ad3d8dcf
|
Add loop unrolling to segmented_find_last_if
|
2026-03-29 00:28:09 +01:00 |
|
Ion Gaztañaga
|
692358b21c
|
Add loop unrolling to partition point
|
2026-03-29 00:03:27 +01:00 |
|
Ion Gaztañaga
|
b785bcb0d7
|
Use container's iterators traits
|
2026-03-28 23:46:26 +01:00 |
|
Ion Gaztañaga
|
8f31a67af8
|
Activate loop unrolling for segmented algorithms
|
2026-03-28 23:40:13 +01:00 |
|
Ion Gaztañaga
|
8ebe442396
|
Loop unrolling for count_if
|
2026-03-28 23:39:24 +01:00 |
|
Ion Gaztañaga
|
f9d2a224bd
|
Add loop unrolling to segmented find if
|
2026-03-28 23:31:51 +01:00 |
|
Ion Gaztañaga
|
4dd02fb6cb
|
Use segmented_find for count == 1
|
2026-03-28 23:31:38 +01:00 |
|
Ion Gaztañaga
|
d56993febc
|
Added unchecked_push_back to vector/small_vector/static_vector
|
2026-03-28 00:42:21 +01:00 |
|
Ion Gaztañaga
|
4f6237bc15
|
Implemented unchecked_emplace_back
|
2026-03-27 22:53:44 +01:00 |
|
Ion Gaztañaga
|
ab510fc3af
|
Remove BOOST_CONTAINER_NOINLINE as it pessimizes code generation because the compiler can't see if embers are modified
|
2026-03-27 07:12:14 +01:00 |
|
Ion Gaztañaga
|
25a6ddc971
|
First fully recursive segmented reverse implementaton. Probably too complicated for the final algo and will need some refactoring.
|
2026-03-23 23:54:55 +01:00 |
|
Ion Gaztañaga
|
c825477043
|
Cosmetic changes
|
2026-03-23 12:05:46 +01:00 |
|
Ion Gaztañaga
|
bafa579499
|
Simplified recursive segmented iterator handling to improve inlining opportunities
|
2026-03-23 12:05:17 +01:00 |
|
Ion Gaztañaga
|
37f5e0aacb
|
Simplify code to make them more readable and concise.
|
2026-03-22 23:35:08 +01:00 |
|
Ion Gaztañaga
|
90906ed450
|
Simplify recursive segmented path
|
2026-03-22 23:34:18 +01:00 |
|
Ion Gaztañaga
|
033f8c2f53
|
Implement segmented_equal in terms of segmented_mismatch
|
2026-03-22 23:33:29 +01:00 |
|
Ion Gaztañaga
|
a00f0e3707
|
Add select BOOST_CONTAINER_FORCEINLINE to iterator basic members
|
2026-03-22 23:33:08 +01:00 |
|
Ion Gaztañaga
|
be71e621db
|
Make back search also recursively segmented using "segmented_find_last_if" and simplify code to clearly distinguish the two search phases.
|
2026-03-22 23:32:50 +01:00 |
|
Ion Gaztañaga
|
f346b061c8
|
Simplified implementation refactoring code
|
2026-03-22 20:45:49 +01:00 |
|
Ion Gaztañaga
|
cf29b2aee5
|
Simplified (less to-be inlined calls) segmented_find_if for the compiler
|
2026-03-22 20:45:09 +01:00 |
|
Ion Gaztañaga
|
52c16441ad
|
Simplified segmented_count_if
|
2026-03-22 18:33:00 +01:00 |
|
Ion Gaztañaga
|
e2f52c7bd9
|
Minor indenting fixes
|
2026-03-22 17:32:59 +01:00 |
|
Ion Gaztañaga
|
d26c4c4ae1
|
Simplify implementation to ease work to the compiler and rely less on inlining
|
2026-03-22 17:32:41 +01:00 |
|