@@ -929,7 +929,10 @@ namespace Langulus::Math
929929 // / @param rhs - right matrix
930930 // / @return the product
931931 LANGULUS (INLINED)
932- constexpr auto operator * (const CT::MatrixBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
932+ constexpr auto operator * (
933+ const CT::MatrixBased auto & lhs,
934+ const CT::MatrixBased auto & rhs
935+ ) noexcept {
933936 using LHS = Deref<decltype (lhs)>;
934937 using RHS = Deref<decltype (rhs)>;
935938 static_assert (LHS::Rows == RHS::Columns and LHS::Columns == RHS::Rows,
@@ -969,7 +972,10 @@ namespace Langulus::Math
969972 // / @param rhs - right matrix
970973 // / @return the added matrices
971974 LANGULUS (INLINED)
972- constexpr auto operator + (const CT::MatrixBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
975+ constexpr auto operator + (
976+ const CT::MatrixBased auto & lhs,
977+ const CT::MatrixBased auto & rhs
978+ ) noexcept {
973979 using Ret = LosslessMatrix<decltype (lhs), decltype (rhs)>;
974980 TypeOf<Ret> result[Ret::Columns][Ret::Rows];
975981 Sequence<Ret::Columns>::ForEach ([&]<Offset COL>() noexcept {
@@ -987,7 +993,10 @@ namespace Langulus::Math
987993 // / @param rhs - right matrix
988994 // / @return the subtracted matrices
989995 LANGULUS (INLINED)
990- constexpr auto operator - (const CT::MatrixBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
996+ constexpr auto operator - (
997+ const CT::MatrixBased auto & lhs,
998+ const CT::MatrixBased auto & rhs
999+ ) noexcept {
9911000 using Ret = LosslessMatrix<decltype (lhs), decltype (rhs)>;
9921001 TypeOf<Ret> result[Ret::Columns][Ret::Rows];
9931002 Sequence<Ret::Columns>::ForEach ([&]<Offset COL>() noexcept {
@@ -1005,7 +1014,10 @@ namespace Langulus::Math
10051014 // / @param rhs - matrix
10061015 // / @return the transformed vector
10071016 LANGULUS (INLINED)
1008- constexpr auto operator * (const CT::VectorBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
1017+ constexpr auto operator * (
1018+ const CT::VectorBased auto & lhs,
1019+ const CT::MatrixBased auto & rhs
1020+ ) noexcept {
10091021 using Ret = Deref<decltype (lhs)>;
10101022 constexpr auto C = CountOf<Ret>;
10111023 TypeOf<Ret> r[C];
@@ -1020,7 +1032,10 @@ namespace Langulus::Math
10201032 // / @param rhs - matrix
10211033 // / @return the modified matrix
10221034 LANGULUS (INLINED)
1023- constexpr auto operator + (const CT::VectorBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
1035+ constexpr auto operator + (
1036+ const CT::VectorBased auto & lhs,
1037+ const CT::MatrixBased auto & rhs
1038+ ) noexcept {
10241039 using Ret = Deref<decltype (rhs)>;
10251040 TypeOf<Ret> result[Ret::Columns][Ret::Rows];
10261041 Sequence<Ret::Columns>::ForEach ([&]<Offset COL>() noexcept {
@@ -1034,7 +1049,10 @@ namespace Langulus::Math
10341049 // / @param rhs - matrix
10351050 // / @return the modified matrix
10361051 LANGULUS (INLINED)
1037- constexpr auto operator - (const CT::VectorBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
1052+ constexpr auto operator - (
1053+ const CT::VectorBased auto & lhs,
1054+ const CT::MatrixBased auto & rhs
1055+ ) noexcept {
10381056 using Ret = Deref<decltype (rhs)>;
10391057 TypeOf<Ret> result[Ret::Columns][Ret::Rows];
10401058 Sequence<Ret::Columns>::ForEach ([&]<Offset COL>() noexcept {
@@ -1048,7 +1066,10 @@ namespace Langulus::Math
10481066 // / @param rhs - vector
10491067 // / @return the transformed vector
10501068 LANGULUS (INLINED)
1051- constexpr auto operator * (const CT::MatrixBased auto & lhs, const CT::VectorBased auto & rhs) noexcept {
1069+ constexpr auto operator * (
1070+ const CT::MatrixBased auto & lhs,
1071+ const CT::VectorBased auto & rhs
1072+ ) noexcept {
10521073 using Ret = Deref<decltype (rhs)>;
10531074 constexpr auto C = CountOf<Ret>;
10541075 TypeOf<Ret> r[C];
@@ -1063,7 +1084,10 @@ namespace Langulus::Math
10631084 // / @param rhs - vector
10641085 // / @return the modified matrix
10651086 LANGULUS (INLINED)
1066- constexpr auto operator + (const CT::MatrixBased auto & lhs, const CT::VectorBased auto & rhs) noexcept {
1087+ constexpr auto operator + (
1088+ const CT::MatrixBased auto & lhs,
1089+ const CT::VectorBased auto & rhs
1090+ ) noexcept {
10671091 using Ret = Deref<decltype (lhs)>;
10681092 TypeOf<Ret> result[Ret::Columns][Ret::Rows];
10691093 Sequence<Ret::Rows>::ForEach ([&]<Offset ROW>() noexcept {
@@ -1077,7 +1101,10 @@ namespace Langulus::Math
10771101 // / @param rhs - vector
10781102 // / @return the modified matrix
10791103 LANGULUS (INLINED)
1080- constexpr auto operator - (const CT::MatrixBased auto & lhs, const CT::VectorBased auto & rhs) noexcept {
1104+ constexpr auto operator - (
1105+ const CT::MatrixBased auto & lhs,
1106+ const CT::VectorBased auto & rhs
1107+ ) noexcept {
10811108 using Ret = Deref<decltype (lhs)>;
10821109 TypeOf<Ret> result[Ret::Columns][Ret::Rows];
10831110 Sequence<Ret::Rows>::ForEach ([&]<Offset ROW>() noexcept {
@@ -1091,15 +1118,21 @@ namespace Langulus::Math
10911118 // / @param rhs - matrix
10921119 // / @return the scaled matrix
10931120 LANGULUS (INLINED)
1094- constexpr auto operator * (const CT::ScalarBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
1121+ constexpr auto operator * (
1122+ const CT::ScalarBased auto & lhs,
1123+ const CT::MatrixBased auto & rhs
1124+ ) noexcept {
10951125 using Ret = Deref<decltype (rhs)>;
10961126 TypeOf<Ret> result[Ret::MemberCount];
10971127 SIMD::Multiply (rhs.mArray , lhs, result);
10981128 return Ret {result};
10991129 }
11001130
11011131 LANGULUS (INLINED)
1102- constexpr auto operator * (const CT::MatrixBased auto & lhs, const CT::ScalarBased auto & rhs) noexcept {
1132+ constexpr auto operator * (
1133+ const CT::MatrixBased auto & lhs,
1134+ const CT::ScalarBased auto & rhs
1135+ ) noexcept {
11031136 return rhs * lhs;
11041137 }
11051138
@@ -1108,7 +1141,10 @@ namespace Langulus::Math
11081141 // / @param rhs - scalar
11091142 // / @return the scaled matrix
11101143 LANGULUS (INLINED)
1111- constexpr auto operator / (const CT::MatrixBased auto & lhs, const CT::ScalarBased auto & rhs) {
1144+ constexpr auto operator / (
1145+ const CT::MatrixBased auto & lhs,
1146+ const CT::ScalarBased auto & rhs
1147+ ) {
11121148 using Ret = Deref<decltype (lhs)>;
11131149 TypeOf<Ret> result[Ret::MemberCount];
11141150 SIMD::Divide (lhs.mArray , rhs, result);
@@ -1120,15 +1156,21 @@ namespace Langulus::Math
11201156 // / @param rhs - matrix
11211157 // / @return the modified matrix
11221158 LANGULUS (INLINED)
1123- constexpr auto operator + (const CT::ScalarBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
1159+ constexpr auto operator + (
1160+ const CT::ScalarBased auto & lhs,
1161+ const CT::MatrixBased auto & rhs
1162+ ) noexcept {
11241163 using Ret = Deref<decltype (rhs)>;
11251164 TypeOf<Ret> result[Ret::MemberCount];
11261165 SIMD::Add (rhs.mArray , lhs, result);
11271166 return Ret {result};
11281167 }
11291168
11301169 LANGULUS (INLINED)
1131- constexpr auto operator + (const CT::MatrixBased auto & lhs, const CT::ScalarBased auto & rhs) noexcept {
1170+ constexpr auto operator + (
1171+ const CT::MatrixBased auto & lhs,
1172+ const CT::ScalarBased auto & rhs
1173+ ) noexcept {
11321174 return rhs + lhs;
11331175 }
11341176
@@ -1137,7 +1179,10 @@ namespace Langulus::Math
11371179 // / @param rhs - scalar
11381180 // / @return the modified matrix
11391181 LANGULUS (INLINED)
1140- constexpr auto operator - (const CT::MatrixBased auto & lhs, const CT::ScalarBased auto & rhs) noexcept {
1182+ constexpr auto operator - (
1183+ const CT::MatrixBased auto & lhs,
1184+ const CT::ScalarBased auto & rhs
1185+ ) noexcept {
11411186 using Ret = Deref<decltype (lhs)>;
11421187 TypeOf<Ret> result[Ret::MemberCount];
11431188 SIMD::Subtract (lhs.mArray , rhs, result);
@@ -1150,60 +1195,87 @@ namespace Langulus::Math
11501195 // /
11511196 // / Add two matrices
11521197 LANGULUS (INLINED)
1153- constexpr auto & operator += (CT::MatrixBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
1198+ constexpr auto & operator += (
1199+ CT::MatrixBased auto & lhs,
1200+ const CT::MatrixBased auto & rhs
1201+ ) noexcept {
11541202 SIMD::Add (lhs.mArray , rhs.mArray , lhs.mArray );
11551203 return lhs;
11561204 }
11571205
11581206 // / Add a scalar to a matrix
11591207 LANGULUS (INLINED)
1160- constexpr auto & operator += (CT::MatrixBased auto & lhs, const CT::ScalarBased auto & rhs) noexcept {
1208+ constexpr auto & operator += (
1209+ CT::MatrixBased auto & lhs,
1210+ const CT::ScalarBased auto & rhs
1211+ ) noexcept {
11611212 SIMD::Add (lhs.mArray , rhs, lhs.mArray );
11621213 return lhs;
11631214 }
11641215
11651216 // / Add a vector to each column of a matrix
11661217 LANGULUS (INLINED)
1167- constexpr auto & operator += (CT::MatrixBased auto & lhs, const CT::VectorBased auto & rhs) noexcept {
1218+ constexpr auto & operator += (
1219+ CT::MatrixBased auto & lhs,
1220+ const CT::VectorBased auto & rhs
1221+ ) noexcept {
11681222 return (lhs = lhs + rhs);
11691223 }
11701224
11711225 // / Subtract two matrices
11721226 LANGULUS (INLINED)
1173- constexpr auto & operator -= (CT::MatrixBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
1227+ constexpr auto & operator -= (
1228+ CT::MatrixBased auto & lhs,
1229+ const CT::MatrixBased auto & rhs
1230+ ) noexcept {
11741231 SIMD::Subtract (lhs.mArray , rhs.mArray , lhs.mArray );
11751232 return lhs;
11761233 }
11771234
11781235 // / Subtract a scalar from a matrix
11791236 LANGULUS (INLINED)
1180- constexpr auto & operator -= (CT::MatrixBased auto & lhs, const CT::ScalarBased auto & rhs) noexcept {
1237+ constexpr auto & operator -= (
1238+ CT::MatrixBased auto & lhs,
1239+ const CT::ScalarBased auto & rhs
1240+ ) noexcept {
11811241 SIMD::Subtract (lhs.mArray , rhs, lhs.mArray );
11821242 return lhs;
11831243 }
11841244
11851245 // / Subtract a vector from each column of a matrix
11861246 LANGULUS (INLINED)
1187- constexpr auto & operator -= (CT::MatrixBased auto & lhs, const CT::VectorBased auto & rhs) noexcept {
1247+ constexpr auto & operator -= (
1248+ CT::MatrixBased auto & lhs,
1249+ const CT::VectorBased auto & rhs
1250+ ) noexcept {
11881251 return (lhs = lhs - rhs);
11891252 }
11901253
11911254 // / Multiply two matrices
11921255 LANGULUS (INLINED)
1193- constexpr auto & operator *= (CT::MatrixBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
1256+ constexpr auto & operator *= (
1257+ CT::MatrixBased auto & lhs,
1258+ const CT::MatrixBased auto & rhs
1259+ ) noexcept {
11941260 return (lhs = lhs * rhs);
11951261 }
11961262
11971263 // / Multiply matrix by a scalar
11981264 LANGULUS (INLINED)
1199- constexpr auto & operator *= (CT::MatrixBased auto & lhs, const CT::ScalarBased auto & rhs) noexcept {
1265+ constexpr auto & operator *= (
1266+ CT::MatrixBased auto & lhs,
1267+ const CT::ScalarBased auto & rhs
1268+ ) noexcept {
12001269 SIMD::Multiply (lhs.mArray , rhs, lhs.mArray );
12011270 return lhs;
12021271 }
12031272
12041273 // / Divide matrix by a scalar
12051274 LANGULUS (INLINED)
1206- constexpr auto & operator /= (CT::MatrixBased auto & lhs, const CT::ScalarBased auto & rhs) {
1275+ constexpr auto & operator /= (
1276+ CT::MatrixBased auto & lhs,
1277+ const CT::ScalarBased auto & rhs
1278+ ) {
12071279 SIMD::Divide (lhs.mArray , rhs, lhs.mArray );
12081280 return lhs;
12091281 }
@@ -1213,7 +1285,10 @@ namespace Langulus::Math
12131285 // / Comparison
12141286 // /
12151287 LANGULUS (INLINED)
1216- constexpr auto operator == (const CT::MatrixBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
1288+ constexpr auto operator == (
1289+ const CT::MatrixBased auto & lhs,
1290+ const CT::MatrixBased auto & rhs
1291+ ) noexcept {
12171292 using LHS = Deref<decltype (lhs)>;
12181293 using RHS = Deref<decltype (rhs)>;
12191294 if constexpr (LHS::Columns != RHS::Columns or LHS::Rows != RHS::Rows)
@@ -1223,12 +1298,18 @@ namespace Langulus::Math
12231298 }
12241299
12251300 LANGULUS (INLINED)
1226- constexpr auto operator == (const CT::MatrixBased auto & lhs, const CT::ScalarBased auto & rhs) noexcept {
1301+ constexpr auto operator == (
1302+ const CT::MatrixBased auto & lhs,
1303+ const CT::ScalarBased auto & rhs
1304+ ) noexcept {
12271305 return SIMD::Equals (lhs.mArray , rhs);
12281306 }
12291307
12301308 LANGULUS (INLINED)
1231- constexpr auto operator == (const CT::ScalarBased auto & lhs, const CT::MatrixBased auto & rhs) noexcept {
1309+ constexpr auto operator == (
1310+ const CT::ScalarBased auto & lhs,
1311+ const CT::MatrixBased auto & rhs
1312+ ) noexcept {
12321313 return SIMD::Equals (rhs.mArray , lhs);
12331314 }
12341315
0 commit comments