38# include <gtest/gtest.h>
46using namespace testing;
55 for (
size_t i = 0; i <
n; ++i)
62 for (
size_t i = 0; i <
n; ++i)
76 for (
size_t i = 1; i < n; ++i)
85 for (
size_t i = 0; i < n - 2; ++i)
90 for (
size_t i = n - 1; i < n; ++i)
98 for (
size_t i = 0; i < 3; ++i)
101 for (
size_t i = 3; i < n; ++i)
127 for (
size_t i = 0; i < n - 1; ++i)
136 for (
size_t i = 0; i < n - 2; ++i)
146 for (
size_t i = 0; i < n - 3; ++i)
148 for (
size_t i = n - 3; i < n; ++i)
156 for (
size_t i = 0; i < n - 4; ++i)
158 for (
size_t i = n - 4; i < n - 2; ++i)
160 for (
size_t i = n - 2; i < n; ++i)
179 for (
size_t i = 0; i < n; ++i, ++
k)
189 for (
size_t i = 0; i < n; ++i)
198 for (
size_t i = 0; i < n; ++i)
208 for (
size_t i = 0; i <
n; ++i)
218 for (
size_t i = 0; i <
n; ++i)
230 for (
size_t i = 1; i < n; ++i)
240 for (
size_t i = 0; i < n - 2; ++i)
245 for (
size_t i = n - 1; i < n; ++i)
253 for (
size_t i = 3; i < n; ++i)
261 for (
size_t i = 0; i < n - 1; ++i)
269 for (
size_t i = 0; i < n - 2; ++i)
277 for (
size_t i = 0; i < n - 3; ++i)
285 for (
size_t i = 0; i < n - 4; ++i)
287 for (
size_t i = n - 4; i < n - 2; ++i)
289 for (
size_t i = n - 2; i < n; ++i)
316 for (
size_t i = 0; i < n; ++i, ++
k)
326 for (
size_t i = 0; i < n; ++i)
327 EXPECT_EQ(a[i].get_first(), (i + 3) % n);
335 for (
size_t i = 0; i < n; ++i)
336 EXPECT_EQ(a[i].get_first(), (n + i - 3) % n);
String manipulation utilities.
Utility functions for array manipulation.
TEST_F(SimpleArray, simple_open_gap_by_copy_left)
Dynamic singly linked list with functional programming support.
T & append(const T &item)
Append a new item by copy.
Main namespace for Aleph-w library functions.
void reverse(Itor beg, Itor end)
Reverse elements in a range.
void rotate_left(T *ptr, const size_t n, size_t m) noexcept
Rotate array elements left by m positions.
void open_gap(Tarray &ptr, size_t n, size_t pos=0, size_t num_entries=1)
Open a gap in an array by shifting elements right.
std::ostream & join(const C &c, const std::string &sep, std::ostream &out)
Join elements of an Aleph-style container into a stream.
void rotate_right(T *ptr, const size_t n, size_t m) noexcept
Rotate array elements right by m positions.
void close_gap(T *ptr, size_t n, size_t pos, size_t num_entries=1)
Close a gap in an array by shifting elements left.
DynList< T > maps(const C &c, Op op)
Classic map operation.
void print() const noexcept