@@ -63,43 +63,50 @@ modm::Vector<T, 3>::ptr() const
63
63
64
64
// ----------------------------------------------------------------------------
65
65
template <typename T>
66
- modm::Vector<T, 3 >
66
+ constexpr modm::Vector<T, 3 >
67
+ modm::Vector<T, 3 >::operator - () const
68
+ {
69
+ return modm::Vector<T, 3 >(-x, -y, -z);
70
+ }
71
+
72
+ template <typename T>
73
+ constexpr modm::Vector<T, 3 >
67
74
modm::Vector<T, 3 >::operator + (const modm::Vector<T, 3 > &rhs) const
68
75
{
69
76
return modm::Vector<T, 3 >(x+rhs.x , y+rhs.y , z+rhs.z );
70
77
}
71
78
72
79
template <typename T>
73
- modm::Vector<T, 3 >
80
+ constexpr modm::Vector<T, 3 >
74
81
modm::Vector<T, 3 >::operator - (const modm::Vector<T, 3 > &rhs) const
75
82
{
76
83
return modm::Vector<T, 3 >(x-rhs.x , y-rhs.y , z-rhs.z );
77
84
}
78
85
79
86
template <typename T>
80
- T
87
+ constexpr T
81
88
modm::Vector<T, 3 >::operator * (const modm::Vector<T, 3 > &rhs) const
82
89
{
83
90
return x*rhs.x + y*rhs.y + z*rhs.z ;
84
91
}
85
92
86
93
template <typename T>
87
- modm::Vector<T, 3 >
94
+ constexpr modm::Vector<T, 3 >
88
95
modm::Vector<T, 3 >::operator ^ (const modm::Vector<T, 3 > &rhs) const
89
96
{
90
97
return modm::Vector<T, 3 >(y*rhs.z -z*rhs.y , z*rhs.x -x*rhs.z , x*rhs.y -y*rhs.x );
91
98
}
92
99
93
100
template <typename T>
94
- modm::Vector<T, 3 >
95
- modm::Vector<T, 3 >::operator * (const T & rhs) const
101
+ constexpr modm::Vector<T, 3 >
102
+ modm::Vector<T, 3 >::operator * (T rhs) const
96
103
{
97
104
return modm::Vector<T, 3 >(x*rhs, y*rhs, z*rhs);
98
105
}
99
106
100
107
template <typename T>
101
- modm::Vector<T, 3 >
102
- modm::Vector<T, 3 >::operator / (const T & rhs) const
108
+ constexpr modm::Vector<T, 3 >
109
+ modm::Vector<T, 3 >::operator / (T rhs) const
103
110
{
104
111
return modm::Vector<T, 3 >(x/rhs, y/rhs, z/rhs);
105
112
}
@@ -129,7 +136,7 @@ modm::Vector<T, 3>::operator -= (const modm::Vector<T, 3> &rhs)
129
136
130
137
template <typename T>
131
138
modm::Vector<T, 3 >&
132
- modm::Vector<T, 3 >::operator *= (const T & rhs)
139
+ modm::Vector<T, 3 >::operator *= (T rhs)
133
140
{
134
141
x *= rhs;
135
142
y *= rhs;
@@ -140,7 +147,7 @@ modm::Vector<T, 3>::operator *= (const T &rhs)
140
147
141
148
template <typename T>
142
149
modm::Vector<T, 3 >&
143
- modm::Vector<T, 3 >::operator /= (const T & rhs)
150
+ modm::Vector<T, 3 >::operator /= (T rhs)
144
151
{
145
152
x /= rhs;
146
153
y /= rhs;
@@ -149,14 +156,6 @@ modm::Vector<T, 3>::operator /= (const T &rhs)
149
156
return *this ;
150
157
}
151
158
152
- // ----------------------------------------------------------------------------
153
- template <typename T>
154
- modm::Vector<T, 3 >
155
- modm::Vector<T, 3 >::operator - () const
156
- {
157
- return modm::Vector<T, 3 >(-x, -y, -z);
158
- }
159
-
160
159
// ----------------------------------------------------------------------------
161
160
template <typename T>
162
161
float
0 commit comments