From e37445124931e1a0cb5af78af84adb9c21b8d843 Mon Sep 17 00:00:00 2001 From: Isis Lovecruft Date: Thu, 18 May 2017 23:02:39 +0000 Subject: [PATCH] Implement {AddAssign, SubAssign} for DecafPoint. --- src/decaf.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/decaf.rs b/src/decaf.rs index a97347f..4c4cd6c 100644 --- a/src/decaf.rs +++ b/src/decaf.rs @@ -36,6 +36,7 @@ use subtle::CTAssignable; use subtle::CTNegatable; use core::ops::{Add, Sub, Neg}; +use core::ops::{AddAssign, SubAssign}; use core::ops::{Mul, MulAssign}; use curve; @@ -427,6 +428,12 @@ impl<'a, 'b> Add<&'b DecafPoint> for &'a DecafPoint { } } +impl<'b> AddAssign<&'b DecafPoint> for DecafPoint { + fn add_assign(&mut self, _rhs: &DecafPoint) { + *self = (self as &DecafPoint) + _rhs; + } +} + impl<'a, 'b> Sub<&'b DecafPoint> for &'a DecafPoint { type Output = DecafPoint; @@ -435,6 +442,12 @@ impl<'a, 'b> Sub<&'b DecafPoint> for &'a DecafPoint { } } +impl<'b> SubAssign<&'b DecafPoint> for DecafPoint { + fn sub_assign(&mut self, _rhs: &DecafPoint) { + *self = (self as &DecafPoint) - _rhs; + } +} + impl<'a> Neg for &'a DecafPoint { type Output = DecafPoint;