File tree Expand file tree Collapse file tree 1 file changed +3
-13
lines changed
Expand file tree Collapse file tree 1 file changed +3
-13
lines changed Original file line number Diff line number Diff line change @@ -222,18 +222,8 @@ pub fn checked_pow<T: Clone + One + CheckedMul>(mut base: T, mut exp: usize) ->
222222 return Some ( T :: one ( ) ) ;
223223 }
224224
225- macro_rules! optry {
226- ( $expr: expr) => {
227- if let Some ( val) = $expr {
228- val
229- } else {
230- return None ;
231- }
232- } ;
233- }
234-
235225 while exp & 1 == 0 {
236- base = optry ! ( base. checked_mul( & base) ) ;
226+ base = base. checked_mul ( & base) ? ;
237227 exp >>= 1 ;
238228 }
239229 if exp == 1 {
@@ -243,9 +233,9 @@ pub fn checked_pow<T: Clone + One + CheckedMul>(mut base: T, mut exp: usize) ->
243233 let mut acc = base. clone ( ) ;
244234 while exp > 1 {
245235 exp >>= 1 ;
246- base = optry ! ( base. checked_mul( & base) ) ;
236+ base = base. checked_mul ( & base) ? ;
247237 if exp & 1 == 1 {
248- acc = optry ! ( acc. checked_mul( & base) ) ;
238+ acc = acc. checked_mul ( & base) ? ;
249239 }
250240 }
251241 Some ( acc)
You can’t perform that action at this time.
0 commit comments