vecpp :: Vec<typename, size_t>
vecpp::operator*,/(vecpp::Vec, T)
1)
template<typename T, std::size_t L>
constexpr Vec<T,L> operator*(const Vec<T,L>& vec, const T& scale);
template<typename T, std::size_t L>
constexpr Vec<T,L> operator*(const T& scale, const Vec<T,L>& vec);
2)
template<typename T, std::size_t L>
constexpr Vec<T,L> operator/(Vec<T,L>& vec, const T& scale);
Computes a vector representing the passed vector scaled by the operand.
1) Multiplies each member of the vector by the operand 2) Divides each member of the vector by the operand
Parameters
| Argument | Role |
|---|---|
| vec | The vector to scale |
| scale | The scaling operand |
Return value
A vector equivalent to vec with each of its members scaled by scale
N.B.
The implementation of the library may choose to use operator*(T, T) or
operator*=(T&, T) interchangeably in order to implement this. If these two
implementations are not consistent, then the result is undefined.
Example
#include "vecpp/vecpp.h"
#include <cassert>
int main() {
using fVec2 = vecpp::Vec<float, 2>;
fVec2 a = {10.0f, 5.0f};
fVec2 b = a * 3.0f;
assert(b[0] == 3.0f * 10.0f);
assert(b[1] == 3.0f * 5.0f);
}