Fix forgotten typenames in header. GCC didn't notice but clang did
This commit is contained in:
parent
ae068a8688
commit
3a2e1c27a4
@ -24,19 +24,19 @@
|
||||
|
||||
namespace math::detail{
|
||||
|
||||
template<typename T, size_t R>
|
||||
template<Scalar T, size_t R>
|
||||
constexpr mat_ref_obj<T,R>::mat_ref_obj(T* d, size_type i):
|
||||
m_data(d+(i*R)){}
|
||||
|
||||
template<typename T, size_t R>
|
||||
template<Scalar T, size_t R>
|
||||
constexpr T& mat_ref_obj<T,R>::operator[](size_type i){
|
||||
return m_data[i];
|
||||
}
|
||||
template<typename T, size_t R>
|
||||
template<Scalar T, size_t R>
|
||||
constexpr const T& mat_ref_obj<T,R>::operator[](size_type i)const{
|
||||
return m_data[i];
|
||||
}
|
||||
template<typename T, size_t R>
|
||||
template<Scalar T, size_t R>
|
||||
constexpr T determinate_helper<T,R>::perform(const matrix<T,R,R>& m){
|
||||
T sum = 0;
|
||||
T op = 1;
|
||||
@ -57,25 +57,25 @@ namespace math::detail{
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
template<typename T>
|
||||
template<Scalar T>
|
||||
constexpr T determinate_helper<T,3>::perform(const matrix<T,3,3>& m){
|
||||
return (m.get(0) * ((m.get(4) * m.get(8)) - (m.get(5) * m.get(7))) -
|
||||
m.get(1) * ((m.get(3) * m.get(8)) - (m.get(5) * m.get(6))) +
|
||||
m.get(2) * ((m.get(3) * m.get(7)) - (m.get(4) * m.get(6))));
|
||||
}
|
||||
template<typename T>
|
||||
template<Scalar T>
|
||||
constexpr T determinate_helper<T,2>::perform(const matrix<T,2,2>& m){
|
||||
return m.get(0) * m.get(3) - m.get(1) * m.get(2);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
template<Scalar T>
|
||||
constexpr matrix<T,2,2> inverse_helper<T,2>::perform(const matrix<T,2,2>& m){
|
||||
T det = m.determinate();
|
||||
if(!det)
|
||||
return matrix<T,2,2>(zero_initialize);
|
||||
return matrix<T,2,2>(m.get(3) / det, -(m.get(1)) / det, -(m.get(2)) / det, m.get(0) / det);
|
||||
}
|
||||
template<typename T>
|
||||
template<Scalar T>
|
||||
constexpr matrix<T,3,3> inverse_helper<T,3>::perform(const matrix<T,3,3>& m){
|
||||
T det = m.determinate();
|
||||
if(!det)
|
||||
@ -90,7 +90,7 @@ namespace math::detail{
|
||||
-((m.get(0) * m.get(7)) - (m.get(1) * m.get(6))) / det,
|
||||
((m.get(0) * m.get(4)) - (m.get(1) * m.get(3))) / det);
|
||||
}
|
||||
template<typename T>
|
||||
template<Scalar T>
|
||||
constexpr matrix<T,4,4> inverse_helper<T,4>::perform(const matrix<T,4,4>& m){
|
||||
//barely over 50 lines, can be made slightly shorter by making the return statement unreadable
|
||||
T det = m.determinate();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user