Adding clang-format configuration file and formatting all source files

Co-authored-by: Jules Pénuchot <jules@penuchot.com>
Co-authored-by: Joel FALCOU <jfalcou@codereckons.com>

See merge request oss/rotgen!41
This commit is contained in:
Jules Pénuchot 2025-10-14 16:19:03 +02:00
parent e92e824a18
commit 648dd768ee
94 changed files with 6778 additions and 4722 deletions

View file

@ -13,10 +13,11 @@ namespace rotgen
namespace detail
{
template<concepts::entity Entity>
void validate_extract ( [[maybe_unused]] Entity& e
, [[maybe_unused]] Index i0, [[maybe_unused]] Index j0
, [[maybe_unused]] Index ni, [[maybe_unused]] Index nj
)
void validate_extract([[maybe_unused]] Entity& e,
[[maybe_unused]] Index i0,
[[maybe_unused]] Index j0,
[[maybe_unused]] Index ni,
[[maybe_unused]] Index nj)
{
assert(i0 >= 0 && "block extraction uses negative row index.");
assert(j0 >= 0 && "block extraction uses negative col index.");
@ -24,37 +25,36 @@ namespace rotgen
assert(j0 + nj <= e.cols() && "block extraction cols is out of range.");
}
}
//======================== EXTRACT ========================
template<concepts::entity Entity>
auto extract(Entity& e, Index i0, Index j0, Index ni, Index nj)
{
detail::validate_extract(e,i0,j0,ni,nj);
if constexpr(concepts::reference<Entity>)
detail::validate_extract(e, i0, j0, ni, nj);
if constexpr (concepts::reference<Entity>)
return extract(e.base(), i0, j0, ni, nj);
else
return block<detail::propagate_const<Entity>>(e, i0, j0, ni, nj);
else return block<detail::propagate_const<Entity>>(e, i0, j0, ni, nj);
}
template<Index NI, Index NJ, concepts::entity Entity>
requires(NI!=-1 && NJ!=-1)
requires(NI != -1 && NJ != -1)
auto extract(Entity& e, Index i0, Index j0)
{
detail::validate_extract(e,i0,j0,NI,NJ);
if constexpr(concepts::reference<Entity>)
return extract<NI,NJ>(e.base(), i0, j0);
else
return block<detail::propagate_const<Entity> ,NI,NJ>(e, i0, j0);
detail::validate_extract(e, i0, j0, NI, NJ);
if constexpr (concepts::reference<Entity>)
return extract<NI, NJ>(e.base(), i0, j0);
else return block<detail::propagate_const<Entity>, NI, NJ>(e, i0, j0);
}
template<Index NI, Index NJ, concepts::entity Entity>
requires((NI!=-1) != (NJ!=-1))
requires((NI != -1) != (NJ != -1))
auto extract(Entity& e, Index i0, Index j0, Index ni, Index nj)
{
detail::validate_extract(e,i0,j0,ni,nj);
if constexpr(concepts::reference<Entity>)
return extract<NI,NJ>(e.base(), i0, j0, ni, nj);
detail::validate_extract(e, i0, j0, ni, nj);
if constexpr (concepts::reference<Entity>)
return extract<NI, NJ>(e.base(), i0, j0, ni, nj);
else
return block<detail::propagate_const<Entity>,NI,NJ>(e, i0, j0, ni, nj);
return block<detail::propagate_const<Entity>, NI, NJ>(e, i0, j0, ni, nj);
}
//======================== TOP LEFT CORNER ========================
@ -67,7 +67,7 @@ namespace rotgen
template<Index NI, Index NJ, concepts::entity Entity>
auto topLeftCorner(Entity& e)
{
return extract<NI,NJ>(e, 0, 0);
return extract<NI, NJ>(e, 0, 0);
}
//======================== TOP RIGHT CORNER ========================
@ -80,7 +80,7 @@ namespace rotgen
template<Index NI, Index NJ, concepts::entity Entity>
auto topRightCorner(Entity& e)
{
return extract<NI,NJ>(e, 0, e.cols()-NJ);
return extract<NI, NJ>(e, 0, e.cols() - NJ);
}
//======================== BOTTOM LEFT CORNER ========================
@ -93,7 +93,7 @@ namespace rotgen
template<Index NI, Index NJ, concepts::entity Entity>
auto bottomLeftCorner(Entity& e)
{
return extract<NI,NJ>(e, e.rows()-NI, 0);
return extract<NI, NJ>(e, e.rows() - NI, 0);
}
//======================== BOTTOM RIGHT CORNER ========================
@ -106,20 +106,18 @@ namespace rotgen
template<Index NI, Index NJ, concepts::entity Entity>
auto bottomRightCorner(Entity& e)
{
return extract<NI,NJ>(e, e.rows()-NI, e.cols()-NJ);
return extract<NI, NJ>(e, e.rows() - NI, e.cols() - NJ);
}
//======================== TOP ROWS ========================
template<concepts::entity Entity>
auto topRows(Entity& e, Index ni)
template<concepts::entity Entity> auto topRows(Entity& e, Index ni)
{
return extract(e, 0, 0, ni, e.cols());
}
template<Index NI, concepts::entity Entity>
auto topRows(Entity& e)
template<Index NI, concepts::entity Entity> auto topRows(Entity& e)
{
return extract<NI,-1>(e, 0, 0, NI,e.cols());
return extract<NI, -1>(e, 0, 0, NI, e.cols());
}
//======================== MIDDLE ROWS ========================
@ -132,33 +130,29 @@ namespace rotgen
template<Index NI, concepts::entity Entity>
auto middleRows(Entity& e, Index i0)
{
return extract<NI,-1>(e, i0, 0,NI,e.cols());
return extract<NI, -1>(e, i0, 0, NI, e.cols());
}
//======================== BOTTOM ROWS ========================
template<concepts::entity Entity>
auto bottomRows(Entity& e, Index ni)
template<concepts::entity Entity> auto bottomRows(Entity& e, Index ni)
{
return extract(e, e.rows() - ni, 0, ni, e.cols());
}
template<Index NI, concepts::entity Entity>
auto bottomRows(Entity& e)
template<Index NI, concepts::entity Entity> auto bottomRows(Entity& e)
{
return extract<NI,-1>(e, e.rows()-NI, 0,NI,e.cols());
return extract<NI, -1>(e, e.rows() - NI, 0, NI, e.cols());
}
//======================== LEFT COLS ========================
template<concepts::entity Entity>
auto leftCols(Entity& e, Index nj)
template<concepts::entity Entity> auto leftCols(Entity& e, Index nj)
{
return extract(e, 0, 0, e.rows(), nj);
}
template<Index NJ, concepts::entity Entity>
auto leftCols(Entity& e)
template<Index NJ, concepts::entity Entity> auto leftCols(Entity& e)
{
return extract<-1,NJ>(e, 0, 0,e.rows(),NJ);
return extract<-1, NJ>(e, 0, 0, e.rows(), NJ);
}
//======================== MIDDLE COLS ========================
@ -171,81 +165,90 @@ namespace rotgen
template<Index NJ, concepts::entity Entity>
auto middleCols(Entity& e, Index j0)
{
return extract<-1,NJ>(e, 0, j0,e.rows(),NJ);
return extract<-1, NJ>(e, 0, j0, e.rows(), NJ);
}
//======================== RIGHT COLS ========================
template<concepts::entity Entity>
auto rightCols(Entity& e, Index nj)
template<concepts::entity Entity> auto rightCols(Entity& e, Index nj)
{
return extract(e, 0, e.cols() - nj, e.rows(), nj);
}
template<Index NJ, concepts::entity Entity>
auto rightCols(Entity& e)
template<Index NJ, concepts::entity Entity> auto rightCols(Entity& e)
{
return extract<-1,NJ>(e, 0, e.cols()-NJ,e.rows(),NJ);
return extract<-1, NJ>(e, 0, e.cols() - NJ, e.rows(), NJ);
}
//======================== ROW ========================
template<concepts::entity Entity>
auto row(Entity& e, Index i0)
template<concepts::entity Entity> auto row(Entity& e, Index i0)
{
return extract<1,-1>(e, i0, 0, 1, e.cols());
return extract<1, -1>(e, i0, 0, 1, e.cols());
}
//======================== COL ========================
template<concepts::entity Entity>
auto col(Entity& e, Index j0)
template<concepts::entity Entity> auto col(Entity& e, Index j0)
{
return extract<-1,1>(e, 0, j0, e.rows(), 1);
return extract<-1, 1>(e, 0, j0, e.rows(), 1);
}
//======================== VECTOR HEAD ========================
template<concepts::entity Entity>
auto head(Entity& e, Index n)
requires(Entity::RowsAtCompileTime==1 || Entity::ColsAtCompileTime==1)
requires(Entity::RowsAtCompileTime == 1 || Entity::ColsAtCompileTime == 1)
{
if constexpr(Entity::RowsAtCompileTime==1) return extract<1,Dynamic>(e,0,0,1,n);
else if constexpr(Entity::ColsAtCompileTime==1) return extract<Dynamic,1>(e,0,0,n,1);
if constexpr (Entity::RowsAtCompileTime == 1)
return extract<1, Dynamic>(e, 0, 0, 1, n);
else if constexpr (Entity::ColsAtCompileTime == 1)
return extract<Dynamic, 1>(e, 0, 0, n, 1);
}
template<Index N, concepts::entity Entity>
auto head(Entity& e) requires(Entity::RowsAtCompileTime==1 || Entity::ColsAtCompileTime==1)
auto head(Entity& e)
requires(Entity::RowsAtCompileTime == 1 || Entity::ColsAtCompileTime == 1)
{
if constexpr(Entity::RowsAtCompileTime==1) return extract<1,N>(e,0,0);
else if constexpr(Entity::ColsAtCompileTime==1) return extract<N,1>(e,0,0);
if constexpr (Entity::RowsAtCompileTime == 1) return extract<1, N>(e, 0, 0);
else if constexpr (Entity::ColsAtCompileTime == 1)
return extract<N, 1>(e, 0, 0);
}
//======================== VECTOR TAIL ========================
template<concepts::entity Entity>
auto tail(Entity& e, Index n)
requires(Entity::RowsAtCompileTime==1 || Entity::ColsAtCompileTime==1)
requires(Entity::RowsAtCompileTime == 1 || Entity::ColsAtCompileTime == 1)
{
if constexpr(Entity::RowsAtCompileTime==1) return extract<1,Dynamic>(e,0,e.cols()-n,1,n);
else if constexpr(Entity::ColsAtCompileTime==1) return extract<Dynamic,1>(e,e.rows()-n,0,n,1);
if constexpr (Entity::RowsAtCompileTime == 1)
return extract<1, Dynamic>(e, 0, e.cols() - n, 1, n);
else if constexpr (Entity::ColsAtCompileTime == 1)
return extract<Dynamic, 1>(e, e.rows() - n, 0, n, 1);
}
template<Index N, concepts::entity Entity>
auto tail(Entity& e) requires(Entity::RowsAtCompileTime==1 || Entity::ColsAtCompileTime==1)
auto tail(Entity& e)
requires(Entity::RowsAtCompileTime == 1 || Entity::ColsAtCompileTime == 1)
{
if constexpr(Entity::RowsAtCompileTime==1) return extract<1,N>(e,0,e.cols()-N);
else if constexpr(Entity::ColsAtCompileTime==1) return extract<N,1>(e,e.rows()-N,0);
if constexpr (Entity::RowsAtCompileTime == 1)
return extract<1, N>(e, 0, e.cols() - N);
else if constexpr (Entity::ColsAtCompileTime == 1)
return extract<N, 1>(e, e.rows() - N, 0);
}
//======================== VECTOR SEGMENT ========================
template<concepts::entity Entity>
auto segment(Entity& e, Index s, Index n)
requires(Entity::RowsAtCompileTime==1 || Entity::ColsAtCompileTime==1)
requires(Entity::RowsAtCompileTime == 1 || Entity::ColsAtCompileTime == 1)
{
if constexpr(Entity::RowsAtCompileTime==1) return extract<1,Dynamic>(e,0,s,1,n);
else if constexpr(Entity::ColsAtCompileTime==1) return extract<Dynamic,1>(e,s,0,n,1);
if constexpr (Entity::RowsAtCompileTime == 1)
return extract<1, Dynamic>(e, 0, s, 1, n);
else if constexpr (Entity::ColsAtCompileTime == 1)
return extract<Dynamic, 1>(e, s, 0, n, 1);
}
template<Index N, concepts::entity Entity>
auto segment(Entity& e, Index s) requires(Entity::RowsAtCompileTime==1 || Entity::ColsAtCompileTime==1)
auto segment(Entity& e, Index s)
requires(Entity::RowsAtCompileTime == 1 || Entity::ColsAtCompileTime == 1)
{
if constexpr(Entity::RowsAtCompileTime==1) return extract<1,N>(e,0,s);
else if constexpr(Entity::ColsAtCompileTime==1) return extract<N,1>(e,s,0);
if constexpr (Entity::RowsAtCompileTime == 1) return extract<1, N>(e, 0, s);
else if constexpr (Entity::ColsAtCompileTime == 1)
return extract<N, 1>(e, s, 0);
}
}