Overload of gp_Vec operator*

Operator* for 2 gp_Vec instances cannot return double value. Thus, the operator has to be overloaded. Can somebody point me where it's implemented? Or is it a dot product of two vectors?

Thank you in advance.