/
vector.cc
90 lines (78 loc) · 962 Bytes
/
vector.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include "vector.hh"
vector::vector(float x, float y, float z):
x(x),
y(y),
z(z)
{
}
vector::~vector()
{
}
vector&
vector::operator+=(const vector& v)
{
x += v.x;
y += v.y;
z += v.z;
return *this;
}
vector
operator+(const vector& a, const vector& b)
{
vector t(a);
return t += b;
}
vector&
vector::operator-=(const vector& v)
{
x -= v.x;
y -= v.y;
z -= v.z;
return *this;
}
vector
operator-(const vector& a, const vector& b)
{
vector t(a);
return t -= b;
}
vector&
vector::operator*=(double d)
{
x *= d;
y *= d;
z *= d;
return *this;
}
vector
operator*(const vector& a, double d)
{
vector t(a);
return t *= d;
}
vector
operator*(double d, const vector& a)
{
vector t(a);
return t *= d;
}
vector&
vector::operator/=(double d)
{
x /= d;
y /= d;
z /= d;
return *this;
}
vector
operator/(const vector& a, double d)
{
vector t(a);
return t /= d;
}
vector
operator/(double d, const vector& a)
{
vector t(a);
return t /= d;
}