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) ->
222
222
return Some ( T :: one ( ) ) ;
223
223
}
224
224
225
- macro_rules! optry {
226
- ( $expr: expr) => {
227
- if let Some ( val) = $expr {
228
- val
229
- } else {
230
- return None ;
231
- }
232
- } ;
233
- }
234
-
235
225
while exp & 1 == 0 {
236
- base = optry ! ( base. checked_mul( & base) ) ;
226
+ base = base. checked_mul ( & base) ? ;
237
227
exp >>= 1 ;
238
228
}
239
229
if exp == 1 {
@@ -243,9 +233,9 @@ pub fn checked_pow<T: Clone + One + CheckedMul>(mut base: T, mut exp: usize) ->
243
233
let mut acc = base. clone ( ) ;
244
234
while exp > 1 {
245
235
exp >>= 1 ;
246
- base = optry ! ( base. checked_mul( & base) ) ;
236
+ base = base. checked_mul ( & base) ? ;
247
237
if exp & 1 == 1 {
248
- acc = optry ! ( acc. checked_mul( & base) ) ;
238
+ acc = acc. checked_mul ( & base) ? ;
249
239
}
250
240
}
251
241
Some ( acc)
You can’t perform that action at this time.
0 commit comments