Skip to content

Commit a749f10

Browse files
committed
Added scalar division support for python3.x, fixed the clone functions, added != operator support and fixed the == operator.
1 parent b7eca0f commit a749f10

1 file changed

Lines changed: 30 additions & 8 deletions

File tree

gem/vector.py

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -229,31 +229,53 @@ def __div__(self, scalar):
229229
else:
230230
return NotImplemented
231231

232+
def __truediv__(self, scalar):
233+
if isinstance(scalar, int) or isinstance(scalar, float):
234+
vecList = vec_div(self.size, self.vector, scalar)
235+
return Vector(self.size, data=vecList)
236+
else:
237+
return NotImplemented
238+
232239
def __idiv__(self, scalar):
233240
if isinstance(scalar, int) or isinstance(scalar, float):
234241
self.vector = vec_div(self.size, self.vector, scalar)
235242
return self
236243
else:
237244
return NotImplemented
238245

246+
def __itruediv__(self, scalar):
247+
if isinstance(scalar, int) or isinstance(scalar, float):
248+
self.vector = vec_div(self.size, self.vector, scalar)
249+
return self
250+
else:
251+
return NotImplemented
252+
239253
def __eq__(self, vecB):
240254
if isinstance(vecB, Vector):
241-
tempBool = False
242-
for i in sm.range(self.size):
243-
if self.vector[i] == vecB.vector[i]:
244-
tempBool = True
245-
else:
246-
tempBool = False
247-
return tempBool
255+
for i in range(self.size):
256+
if self.vector[i] != vecB.vector[i]:
257+
return False
258+
else:
259+
return True
248260
else:
249261
return NotImplemented
250262

263+
def __ne__(self, vecB):
264+
if isinstance(vecB, Vector):
265+
for i in range(self.size):
266+
if self.vector[i] != vecB.vector[i]:
267+
return True
268+
else:
269+
return False
270+
else:
271+
return NotImplemented
272+
251273
def __neg__(self):
252274
vecList = vec_neg(self.size, self.vector)
253275
return Vector(self.size, data=vecList)
254276

255277
def clone(self):
256-
return Vector(self.size, data=self.vector)
278+
return Vector(self.size, data=self.vector[:])
257279

258280
def one(self):
259281
self.vector = one_vector(self.size)

0 commit comments

Comments
 (0)