@@ -66,7 +66,7 @@ func BigIntCheck(obj Object) (*BigInt, error) {
66
66
// Convert an Object to an BigInt
67
67
//
68
68
// Retrurns ok as to whether the conversion worked or not
69
- func convertToBigInt (other Object ) (* BigInt , bool ) {
69
+ func ConvertToBigInt (other Object ) (* BigInt , bool ) {
70
70
switch b := other .(type ) {
71
71
case Int :
72
72
return (* BigInt )(big .NewInt (int64 (b ))), true
@@ -173,7 +173,7 @@ func (a *BigInt) M__invert__() (Object, error) {
173
173
}
174
174
175
175
func (a * BigInt ) M__add__ (other Object ) (Object , error ) {
176
- if b , ok := convertToBigInt (other ); ok {
176
+ if b , ok := ConvertToBigInt (other ); ok {
177
177
return (* BigInt )(new (big.Int ).Add ((* big .Int )(a ), (* big .Int )(b ))).MaybeInt (), nil
178
178
}
179
179
return NotImplemented , nil
@@ -188,14 +188,14 @@ func (a *BigInt) M__iadd__(other Object) (Object, error) {
188
188
}
189
189
190
190
func (a * BigInt ) M__sub__ (other Object ) (Object , error ) {
191
- if b , ok := convertToBigInt (other ); ok {
191
+ if b , ok := ConvertToBigInt (other ); ok {
192
192
return (* BigInt )(new (big.Int ).Sub ((* big .Int )(a ), (* big .Int )(b ))).MaybeInt (), nil
193
193
}
194
194
return NotImplemented , nil
195
195
}
196
196
197
197
func (a * BigInt ) M__rsub__ (other Object ) (Object , error ) {
198
- if b , ok := convertToBigInt (other ); ok {
198
+ if b , ok := ConvertToBigInt (other ); ok {
199
199
return (* BigInt )(new (big.Int ).Sub ((* big .Int )(b ), (* big .Int )(a ))).MaybeInt (), nil
200
200
}
201
201
return NotImplemented , nil
@@ -206,7 +206,7 @@ func (a *BigInt) M__isub__(other Object) (Object, error) {
206
206
}
207
207
208
208
func (a * BigInt ) M__mul__ (other Object ) (Object , error ) {
209
- if b , ok := convertToBigInt (other ); ok {
209
+ if b , ok := ConvertToBigInt (other ); ok {
210
210
return (* BigInt )(new (big.Int ).Mul ((* big .Int )(a ), (* big .Int )(b ))).MaybeInt (), nil
211
211
}
212
212
return NotImplemented , nil
@@ -306,14 +306,14 @@ func (a *BigInt) divMod(b *BigInt) (Object, Object, error) {
306
306
}
307
307
308
308
func (a * BigInt ) M__divmod__ (other Object ) (Object , Object , error ) {
309
- if b , ok := convertToBigInt (other ); ok {
309
+ if b , ok := ConvertToBigInt (other ); ok {
310
310
return a .divMod (b )
311
311
}
312
312
return NotImplemented , NotImplemented , nil
313
313
}
314
314
315
315
func (a * BigInt ) M__rdivmod__ (other Object ) (Object , Object , error ) {
316
- if b , ok := convertToBigInt (other ); ok {
316
+ if b , ok := ConvertToBigInt (other ); ok {
317
317
return b .divMod (a )
318
318
}
319
319
return NotImplemented , NotImplemented , nil
@@ -343,18 +343,18 @@ func (a *BigInt) M__pow__(other, modulus Object) (Object, error) {
343
343
var m * BigInt
344
344
if modulus != None {
345
345
var ok bool
346
- if m , ok = convertToBigInt (modulus ); ! ok {
346
+ if m , ok = ConvertToBigInt (modulus ); ! ok {
347
347
return NotImplemented , nil
348
348
}
349
349
}
350
- if b , ok := convertToBigInt (other ); ok {
350
+ if b , ok := ConvertToBigInt (other ); ok {
351
351
return a .pow (b , m )
352
352
}
353
353
return NotImplemented , nil
354
354
}
355
355
356
356
func (a * BigInt ) M__rpow__ (other Object ) (Object , error ) {
357
- if b , ok := convertToBigInt (other ); ok {
357
+ if b , ok := ConvertToBigInt (other ); ok {
358
358
return b .pow (a , nil )
359
359
}
360
360
return NotImplemented , nil
@@ -365,7 +365,7 @@ func (a *BigInt) M__ipow__(other, modulus Object) (Object, error) {
365
365
}
366
366
367
367
func (a * BigInt ) M__lshift__ (other Object ) (Object , error ) {
368
- if b , ok := convertToBigInt (other ); ok {
368
+ if b , ok := ConvertToBigInt (other ); ok {
369
369
bb , err := b .GoInt ()
370
370
if err != nil {
371
371
return nil , err
@@ -379,7 +379,7 @@ func (a *BigInt) M__lshift__(other Object) (Object, error) {
379
379
}
380
380
381
381
func (a * BigInt ) M__rlshift__ (other Object ) (Object , error ) {
382
- if b , ok := convertToBigInt (other ); ok {
382
+ if b , ok := ConvertToBigInt (other ); ok {
383
383
aa , err := a .GoInt ()
384
384
if err != nil {
385
385
return nil , err
@@ -397,7 +397,7 @@ func (a *BigInt) M__ilshift__(other Object) (Object, error) {
397
397
}
398
398
399
399
func (a * BigInt ) M__rshift__ (other Object ) (Object , error ) {
400
- if b , ok := convertToBigInt (other ); ok {
400
+ if b , ok := ConvertToBigInt (other ); ok {
401
401
bb , err := b .GoInt ()
402
402
if err != nil {
403
403
return nil , err
@@ -411,7 +411,7 @@ func (a *BigInt) M__rshift__(other Object) (Object, error) {
411
411
}
412
412
413
413
func (a * BigInt ) M__rrshift__ (other Object ) (Object , error ) {
414
- if b , ok := convertToBigInt (other ); ok {
414
+ if b , ok := ConvertToBigInt (other ); ok {
415
415
aa , err := a .GoInt ()
416
416
if err != nil {
417
417
return nil , err
@@ -429,7 +429,7 @@ func (a *BigInt) M__irshift__(other Object) (Object, error) {
429
429
}
430
430
431
431
func (a * BigInt ) M__and__ (other Object ) (Object , error ) {
432
- if b , ok := convertToBigInt (other ); ok {
432
+ if b , ok := ConvertToBigInt (other ); ok {
433
433
return (* BigInt )(new (big.Int ).And ((* big .Int )(a ), (* big .Int )(b ))).MaybeInt (), nil
434
434
}
435
435
return NotImplemented , nil
@@ -444,7 +444,7 @@ func (a *BigInt) M__iand__(other Object) (Object, error) {
444
444
}
445
445
446
446
func (a * BigInt ) M__xor__ (other Object ) (Object , error ) {
447
- if b , ok := convertToBigInt (other ); ok {
447
+ if b , ok := ConvertToBigInt (other ); ok {
448
448
return (* BigInt )(new (big.Int ).Xor ((* big .Int )(a ), (* big .Int )(b ))).MaybeInt (), nil
449
449
}
450
450
return NotImplemented , nil
@@ -459,7 +459,7 @@ func (a *BigInt) M__ixor__(other Object) (Object, error) {
459
459
}
460
460
461
461
func (a * BigInt ) M__or__ (other Object ) (Object , error ) {
462
- if b , ok := convertToBigInt (other ); ok {
462
+ if b , ok := ConvertToBigInt (other ); ok {
463
463
return (* BigInt )(new (big.Int ).Or ((* big .Int )(a ), (* big .Int )(b ))).MaybeInt (), nil
464
464
}
465
465
return NotImplemented , nil
@@ -498,7 +498,7 @@ func (a *BigInt) M__complex__() (Object, error) {
498
498
}
499
499
500
500
func (a * BigInt ) M__round__ (digits Object ) (Object , error ) {
501
- if b , ok := convertToBigInt (digits ); ok {
501
+ if b , ok := ConvertToBigInt (digits ); ok {
502
502
if (* big .Int )(b ).Sign () >= 0 {
503
503
return a , nil
504
504
}
@@ -528,42 +528,42 @@ func (a *BigInt) M__round__(digits Object) (Object, error) {
528
528
// Rich comparison
529
529
530
530
func (a * BigInt ) M__lt__ (other Object ) (Object , error ) {
531
- if b , ok := convertToBigInt (other ); ok {
531
+ if b , ok := ConvertToBigInt (other ); ok {
532
532
return NewBool ((* big .Int )(a ).Cmp ((* big .Int )(b )) < 0 ), nil
533
533
}
534
534
return NotImplemented , nil
535
535
}
536
536
537
537
func (a * BigInt ) M__le__ (other Object ) (Object , error ) {
538
- if b , ok := convertToBigInt (other ); ok {
538
+ if b , ok := ConvertToBigInt (other ); ok {
539
539
return NewBool ((* big .Int )(a ).Cmp ((* big .Int )(b )) <= 0 ), nil
540
540
}
541
541
return NotImplemented , nil
542
542
}
543
543
544
544
func (a * BigInt ) M__eq__ (other Object ) (Object , error ) {
545
- if b , ok := convertToBigInt (other ); ok {
545
+ if b , ok := ConvertToBigInt (other ); ok {
546
546
return NewBool ((* big .Int )(a ).Cmp ((* big .Int )(b )) == 0 ), nil
547
547
}
548
548
return NotImplemented , nil
549
549
}
550
550
551
551
func (a * BigInt ) M__ne__ (other Object ) (Object , error ) {
552
- if b , ok := convertToBigInt (other ); ok {
552
+ if b , ok := ConvertToBigInt (other ); ok {
553
553
return NewBool ((* big .Int )(a ).Cmp ((* big .Int )(b )) != 0 ), nil
554
554
}
555
555
return NotImplemented , nil
556
556
}
557
557
558
558
func (a * BigInt ) M__gt__ (other Object ) (Object , error ) {
559
- if b , ok := convertToBigInt (other ); ok {
559
+ if b , ok := ConvertToBigInt (other ); ok {
560
560
return NewBool ((* big .Int )(a ).Cmp ((* big .Int )(b )) > 0 ), nil
561
561
}
562
562
return NotImplemented , nil
563
563
}
564
564
565
565
func (a * BigInt ) M__ge__ (other Object ) (Object , error ) {
566
- if b , ok := convertToBigInt (other ); ok {
566
+ if b , ok := ConvertToBigInt (other ); ok {
567
567
return NewBool ((* big .Int )(a ).Cmp ((* big .Int )(b )) >= 0 ), nil
568
568
}
569
569
return NotImplemented , nil
0 commit comments