inline Colour operator *(const Colour& a, const Colour& b) { return Colour(a.R()*b.R(), a.G()*b.G(), a.B()*b.B()); }
inline Colour operator/(const Colour& a, const double& b) { return Colour(a.R() / b, a.G() / b, a.B() / b); }
inline Colour operator *(double s, const Colour& a) { return Colour(s*a.R(), s*a.G(), s*a.B()); }
inline Colour operator /(const Colour& a, double s) { return Colour(a.R()/s, a.G()/s, a.B()/s, a.A()/s); }