@@ -117,8 +117,8 @@ static_assert(sizeof(f64) == 8, "f64 should be 64 bits");
117
117
LDLT_FN_IMPL3 (fnmadd, Prefix, Suffix); /* (-a * b + c) */
118
118
119
119
#define LDLT_LOAD_STORE (Prefix, Suffix ) \
120
- VEG_INLINE static auto load_unaligned ( \
121
- ScalarType const * ptr) noexcept -> Pack \
120
+ VEG_INLINE static auto load_unaligned (ScalarType const * ptr) noexcept \
121
+ -> Pack \
122
122
{ \
123
123
return Pack{ simde_mm##Prefix##_loadu_##Suffix (ptr) }; \
124
124
} \
@@ -560,9 +560,8 @@ elem_addr(T* ptr,
560
560
561
561
template <typename Mat>
562
562
auto
563
- matrix_elem_addr (Mat&& mat,
564
- isize row,
565
- isize col) noexcept -> decltype (mat.data())
563
+ matrix_elem_addr (Mat&& mat, isize row, isize col) noexcept
564
+ -> decltype (mat.data())
566
565
{
567
566
return util::elem_addr<!bool (
568
567
proxsuite::linalg::veg::uncvref_t <Mat>::IsRowMajor)>( //
@@ -575,38 +574,34 @@ matrix_elem_addr(Mat&& mat,
575
574
576
575
template <typename T>
577
576
auto
578
- col (T&& mat, isize col_idx) noexcept ->
579
- typename _detail::RowColAccessImpl<
580
- !bool (proxsuite::linalg::veg::uncvref_t <T>::IsRowMajor)>::template Col<T>
577
+ col (T&& mat, isize col_idx) noexcept -> typename _detail::RowColAccessImpl<
578
+ !bool (proxsuite::linalg::veg::uncvref_t <T>::IsRowMajor)>::template Col<T>
581
579
{
582
580
return _detail::RowColAccessImpl<!bool (
583
581
proxsuite::linalg::veg::uncvref_t <T>::IsRowMajor)>::col (mat, col_idx);
584
582
}
585
583
template <typename T>
586
584
auto
587
- row (T&& mat, isize row_idx) noexcept ->
588
- typename _detail::RowColAccessImpl<
589
- !bool (proxsuite::linalg::veg::uncvref_t <T>::IsRowMajor)>::template Row<T>
585
+ row (T&& mat, isize row_idx) noexcept -> typename _detail::RowColAccessImpl<
586
+ !bool (proxsuite::linalg::veg::uncvref_t <T>::IsRowMajor)>::template Row<T>
590
587
{
591
588
return _detail::RowColAccessImpl<!bool (
592
589
proxsuite::linalg::veg::uncvref_t <T>::IsRowMajor)>::row (mat, row_idx);
593
590
}
594
591
595
592
template <typename Mat>
596
593
auto
597
- trans (Mat&& mat) noexcept
598
- -> Eigen::Map< //
599
- _detail::const_if<
600
- _detail::ptr_is_const<decltype (mat.data())>::value,
601
- Eigen::Matrix< //
602
- typename proxsuite::linalg::veg::uncvref_t <Mat>::Scalar,
603
- proxsuite::linalg::veg::uncvref_t <Mat>::ColsAtCompileTime,
604
- proxsuite::linalg::veg::uncvref_t <Mat>::RowsAtCompileTime,
605
- bool (proxsuite::linalg::veg::uncvref_t <Mat>::IsRowMajor)
606
- ? Eigen::ColMajor
607
- : Eigen::RowMajor>>,
608
- Eigen::Unaligned,
609
- _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
594
+ trans (Mat&& mat) noexcept -> Eigen::Map< //
595
+ _detail::const_if<_detail::ptr_is_const<decltype (mat.data())>::value,
596
+ Eigen::Matrix< //
597
+ typename proxsuite::linalg::veg::uncvref_t <Mat>::Scalar,
598
+ proxsuite::linalg::veg::uncvref_t <Mat>::ColsAtCompileTime,
599
+ proxsuite::linalg::veg::uncvref_t <Mat>::RowsAtCompileTime,
600
+ bool (proxsuite::linalg::veg::uncvref_t <Mat>::IsRowMajor)
601
+ ? Eigen::ColMajor
602
+ : Eigen::RowMajor>>,
603
+ Eigen::Unaligned,
604
+ _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
610
605
{
611
606
return {
612
607
mat.data (),
@@ -621,16 +616,15 @@ trans(Mat&& mat) noexcept
621
616
622
617
template <typename Mat>
623
618
auto
624
- diagonal (Mat&& mat) noexcept
625
- -> Eigen::Map< //
626
- _detail::const_if<_detail::ptr_is_const<decltype (mat.data())>::value,
627
- Eigen::Matrix< //
628
- typename proxsuite::linalg::veg::uncvref_t <Mat>::Scalar,
629
- Eigen::Dynamic,
630
- 1 ,
631
- Eigen::ColMajor>>,
632
- Eigen::Unaligned,
633
- Eigen::InnerStride<Eigen::Dynamic>>
619
+ diagonal (Mat&& mat) noexcept -> Eigen::Map< //
620
+ _detail::const_if<_detail::ptr_is_const<decltype (mat.data())>::value,
621
+ Eigen::Matrix< //
622
+ typename proxsuite::linalg::veg::uncvref_t <Mat>::Scalar,
623
+ Eigen::Dynamic,
624
+ 1 ,
625
+ Eigen::ColMajor>>,
626
+ Eigen::Unaligned,
627
+ Eigen::InnerStride<Eigen::Dynamic>>
634
628
{
635
629
VEG_DEBUG_ASSERT ( //
636
630
mat.rows () == mat.cols ());
@@ -667,12 +661,11 @@ submatrix(Mat&& mat,
667
661
668
662
template <typename Mat>
669
663
auto
670
- to_view (Mat&& mat) noexcept
671
- -> Eigen::Map<_detail::const_if<
672
- _detail::ptr_is_const<decltype (mat.data())>::value,
673
- _detail::OwnedAll<proxsuite::linalg::veg::uncvref_t <Mat>>>,
674
- Eigen::Unaligned,
675
- _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
664
+ to_view (Mat&& mat) noexcept -> Eigen::Map<
665
+ _detail::const_if<_detail::ptr_is_const<decltype (mat.data())>::value,
666
+ _detail::OwnedAll<proxsuite::linalg::veg::uncvref_t <Mat>>>,
667
+ Eigen::Unaligned,
668
+ _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
676
669
{
677
670
return {
678
671
mat.data (),
@@ -687,12 +680,11 @@ to_view(Mat&& mat) noexcept
687
680
688
681
template <typename Mat>
689
682
auto
690
- to_view_dyn_rows (Mat&& mat) noexcept
691
- -> Eigen::Map<_detail::const_if<
692
- _detail::ptr_is_const<decltype (mat.data())>::value,
693
- _detail::OwnedRows<proxsuite::linalg::veg::uncvref_t <Mat>>>,
694
- Eigen::Unaligned,
695
- _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
683
+ to_view_dyn_rows (Mat&& mat) noexcept -> Eigen::Map<
684
+ _detail::const_if<_detail::ptr_is_const<decltype (mat.data())>::value,
685
+ _detail::OwnedRows<proxsuite::linalg::veg::uncvref_t <Mat>>>,
686
+ Eigen::Unaligned,
687
+ _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
696
688
{
697
689
return {
698
690
mat.data (),
@@ -707,12 +699,11 @@ to_view_dyn_rows(Mat&& mat) noexcept
707
699
708
700
template <typename Mat>
709
701
auto
710
- to_view_dyn_cols (Mat&& mat) noexcept
711
- -> Eigen::Map<_detail::const_if<
712
- _detail::ptr_is_const<decltype (mat.data())>::value,
713
- _detail::OwnedCols<proxsuite::linalg::veg::uncvref_t <Mat>>>,
714
- Eigen::Unaligned,
715
- _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
702
+ to_view_dyn_cols (Mat&& mat) noexcept -> Eigen::Map<
703
+ _detail::const_if<_detail::ptr_is_const<decltype (mat.data())>::value,
704
+ _detail::OwnedCols<proxsuite::linalg::veg::uncvref_t <Mat>>>,
705
+ Eigen::Unaligned,
706
+ _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
716
707
{
717
708
return {
718
709
mat.data (),
@@ -747,12 +738,11 @@ to_view_dyn(Mat&& mat) noexcept
747
738
748
739
template <typename Mat>
749
740
auto
750
- subrows (Mat&& mat, isize row_start, isize nrows) noexcept
751
- -> Eigen::Map<_detail::const_if<
752
- _detail::ptr_is_const<decltype (mat.data())>::value,
753
- _detail::OwnedRows<proxsuite::linalg::veg::uncvref_t <Mat>>>,
754
- Eigen::Unaligned,
755
- _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
741
+ subrows (Mat&& mat, isize row_start, isize nrows) noexcept -> Eigen::Map<
742
+ _detail::const_if<_detail::ptr_is_const<decltype (mat.data())>::value,
743
+ _detail::OwnedRows<proxsuite::linalg::veg::uncvref_t <Mat>>>,
744
+ Eigen::Unaligned,
745
+ _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
756
746
{
757
747
return {
758
748
util::elem_addr<!bool (proxsuite::linalg::veg::uncvref_t <Mat>::IsRowMajor)>(
@@ -768,12 +758,11 @@ subrows(Mat&& mat, isize row_start, isize nrows) noexcept
768
758
769
759
template <typename Mat>
770
760
auto
771
- subcols (Mat&& mat, isize col_start, isize ncols) noexcept
772
- -> Eigen::Map<_detail::const_if<
773
- _detail::ptr_is_const<decltype (mat.data())>::value,
774
- _detail::OwnedCols<proxsuite::linalg::veg::uncvref_t <Mat>>>,
775
- Eigen::Unaligned,
776
- _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
761
+ subcols (Mat&& mat, isize col_start, isize ncols) noexcept -> Eigen::Map<
762
+ _detail::const_if<_detail::ptr_is_const<decltype (mat.data())>::value,
763
+ _detail::OwnedCols<proxsuite::linalg::veg::uncvref_t <Mat>>>,
764
+ Eigen::Unaligned,
765
+ _detail::StrideOf<proxsuite::linalg::veg::uncvref_t <Mat>>>
777
766
{
778
767
return {
779
768
util::elem_addr<!bool (proxsuite::linalg::veg::uncvref_t <Mat>::IsRowMajor)>(
@@ -859,8 +848,8 @@ temp_mat_req(proxsuite::linalg::veg::Tag<T> /*tag*/,
859
848
860
849
template <typename T>
861
850
auto
862
- temp_vec_req (proxsuite::linalg::veg::Tag<T> /* tag*/ ,
863
- isize rows) noexcept -> proxsuite::linalg::veg::dynstack::StackReq
851
+ temp_vec_req (proxsuite::linalg::veg::Tag<T> /* tag*/ , isize rows) noexcept
852
+ -> proxsuite::linalg::veg::dynstack::StackReq
864
853
{
865
854
return {
866
855
rows * isize{ sizeof (T) },
0 commit comments