github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library@v0.2.0/MulInternals/MulInternals.go (about) 1 // Package MulInternals 2 // Dafny module MulInternals compiled into Go 3 4 package MulInternals 5 6 import ( 7 os "os" 8 9 m_BoundedInts "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/BoundedInts" 10 m_FileIO "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FileIO" 11 m_Functions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Functions" 12 m_GeneralInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GeneralInternals" 13 m__Math "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Math_" 14 m_MulInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternalsNonlinear" 15 m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations" 16 m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq" 17 m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort" 18 m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings" 19 m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_" 20 m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm" 21 m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm" 22 m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" 23 m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_" 24 _dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" 25 ) 26 27 var _ = os.Args 28 var _ _dafny.Dummy__ 29 var _ m__System.Dummy__ 30 var _ m_Wrappers.Dummy__ 31 var _ m_Relations.Dummy__ 32 var _ m_Seq_MergeSort.Dummy__ 33 var _ m__Math.Dummy__ 34 var _ m_Seq.Dummy__ 35 var _ m_BoundedInts.Dummy__ 36 var _ m__Unicode.Dummy__ 37 var _ m_Functions.Dummy__ 38 var _ m_Utf8EncodingForm.Dummy__ 39 var _ m_Utf16EncodingForm.Dummy__ 40 var _ m_UnicodeStrings.Dummy__ 41 var _ m_FileIO.Dummy__ 42 var _ m_GeneralInternals.Dummy__ 43 var _ m_MulInternalsNonlinear.Dummy__ 44 45 type Dummy__ struct{} 46 47 // Definition of class Default__ 48 type Default__ struct { 49 dummy byte 50 } 51 52 func New_Default___() *Default__ { 53 _this := Default__{} 54 55 return &_this 56 } 57 58 type CompanionStruct_Default___ struct { 59 } 60 61 var Companion_Default___ = CompanionStruct_Default___{} 62 63 func (_this *Default__) Equals(other *Default__) bool { 64 return _this == other 65 } 66 67 func (_this *Default__) EqualsGeneric(x interface{}) bool { 68 other, ok := x.(*Default__) 69 return ok && _this.Equals(other) 70 } 71 72 func (*Default__) String() string { 73 return "MulInternals.Default__" 74 } 75 func (_this *Default__) ParentTraits_() []*_dafny.TraitID { 76 return [](*_dafny.TraitID){} 77 } 78 79 var _ _dafny.TraitOffspring = &Default__{} 80 81 func (_static *CompanionStruct_Default___) MulPos(x _dafny.Int, y _dafny.Int) _dafny.Int { 82 var _0___accumulator _dafny.Int = _dafny.Zero 83 _ = _0___accumulator 84 goto TAIL_CALL_START 85 TAIL_CALL_START: 86 if (x).Sign() == 0 { 87 return (_dafny.Zero).Plus(_0___accumulator) 88 } else { 89 _0___accumulator = (_0___accumulator).Plus(y) 90 var _in0 _dafny.Int = (x).Minus(_dafny.One) 91 _ = _in0 92 var _in1 _dafny.Int = y 93 _ = _in1 94 x = _in0 95 y = _in1 96 goto TAIL_CALL_START 97 } 98 } 99 func (_static *CompanionStruct_Default___) MulRecursive(x _dafny.Int, y _dafny.Int) _dafny.Int { 100 if (x).Sign() != -1 { 101 return Companion_Default___.MulPos(x, y) 102 } else { 103 return (_dafny.IntOfInt64(-1)).Times(Companion_Default___.MulPos((_dafny.IntOfInt64(-1)).Times(x), y)) 104 } 105 } 106 107 // End of class Default__