github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library@v0.2.0/Sorting/Sorting.go (about) 1 // Package Sorting 2 // Dafny module Sorting compiled into Go 3 4 package Sorting 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_DivInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternals" 11 m_DivInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternalsNonlinear" 12 m_DivMod "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivMod" 13 m_FileIO "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FileIO" 14 m_Functions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Functions" 15 m_GeneralInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GeneralInternals" 16 m_Logarithm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Logarithm" 17 m__Math "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Math_" 18 m_ModInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternals" 19 m_ModInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternalsNonlinear" 20 m_Mul "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Mul" 21 m_MulInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternals" 22 m_MulInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternalsNonlinear" 23 m_Power "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Power" 24 m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations" 25 m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq" 26 m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort" 27 m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" 28 m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" 29 m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" 30 m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" 31 m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" 32 m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams" 33 m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings" 34 m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_" 35 m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm" 36 m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm" 37 m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" 38 m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_" 39 _dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" 40 ) 41 42 var _ = os.Args 43 var _ _dafny.Dummy__ 44 var _ m__System.Dummy__ 45 var _ m_Wrappers.Dummy__ 46 var _ m_Relations.Dummy__ 47 var _ m_Seq_MergeSort.Dummy__ 48 var _ m__Math.Dummy__ 49 var _ m_Seq.Dummy__ 50 var _ m_BoundedInts.Dummy__ 51 var _ m__Unicode.Dummy__ 52 var _ m_Functions.Dummy__ 53 var _ m_Utf8EncodingForm.Dummy__ 54 var _ m_Utf16EncodingForm.Dummy__ 55 var _ m_UnicodeStrings.Dummy__ 56 var _ m_FileIO.Dummy__ 57 var _ m_GeneralInternals.Dummy__ 58 var _ m_MulInternalsNonlinear.Dummy__ 59 var _ m_MulInternals.Dummy__ 60 var _ m_Mul.Dummy__ 61 var _ m_ModInternalsNonlinear.Dummy__ 62 var _ m_DivInternalsNonlinear.Dummy__ 63 var _ m_ModInternals.Dummy__ 64 var _ m_DivInternals.Dummy__ 65 var _ m_DivMod.Dummy__ 66 var _ m_Power.Dummy__ 67 var _ m_Logarithm.Dummy__ 68 var _ m_StandardLibraryInterop.Dummy__ 69 var _ m_StandardLibrary_UInt.Dummy__ 70 var _ m_StandardLibrary_Sequence.Dummy__ 71 var _ m_StandardLibrary_String.Dummy__ 72 var _ m_StandardLibrary.Dummy__ 73 var _ m_Streams.Dummy__ 74 75 type Dummy__ struct{} 76 77 // Definition of class Default__ 78 type Default__ struct { 79 dummy byte 80 } 81 82 func New_Default___() *Default__ { 83 _this := Default__{} 84 85 return &_this 86 } 87 88 type CompanionStruct_Default___ struct { 89 } 90 91 var Companion_Default___ = CompanionStruct_Default___{} 92 93 func (_this *Default__) Equals(other *Default__) bool { 94 return _this == other 95 } 96 97 func (_this *Default__) EqualsGeneric(x interface{}) bool { 98 other, ok := x.(*Default__) 99 return ok && _this.Equals(other) 100 } 101 102 func (*Default__) String() string { 103 return "Sorting.Default__" 104 } 105 func (_this *Default__) ParentTraits_() []*_dafny.TraitID { 106 return [](*_dafny.TraitID){} 107 } 108 109 var _ _dafny.TraitOffspring = &Default__{} 110 111 func (_static *CompanionStruct_Default___) LexicographicByteSeqBelow(x _dafny.Sequence, y _dafny.Sequence) bool { 112 return Companion_Default___.LexicographicByteSeqBelowAux(x, y, _dafny.Zero) 113 } 114 func (_static *CompanionStruct_Default___) LexicographicByteSeqBelowAux(x _dafny.Sequence, y _dafny.Sequence, n _dafny.Int) bool { 115 return (((n).Cmp(_dafny.IntOfUint32((x).Cardinality())) == 0) || (((n).Cmp(_dafny.IntOfUint32((y).Cardinality())) != 0) && (((x).Select((n).Uint32()).(uint8)) < ((y).Select((n).Uint32()).(uint8))))) || ((((n).Cmp(_dafny.IntOfUint32((y).Cardinality())) != 0) && (((x).Select((n).Uint32()).(uint8)) == ((y).Select((n).Uint32()).(uint8)))) && (Companion_Default___.LexicographicByteSeqBelowAux(x, y, (n).Plus(_dafny.One)))) 116 } 117 func (_static *CompanionStruct_Default___) SelectionSort(a _dafny.Array, below func(interface{}, interface{}) bool) { 118 var _0_m _dafny.Int 119 _ = _0_m 120 _0_m = _dafny.Zero 121 for (_0_m).Cmp(_dafny.ArrayLen((a), 0)) < 0 { 122 var _1_mindex _dafny.Int 123 _ = _1_mindex 124 var _2_n _dafny.Int 125 _ = _2_n 126 var _rhs0 _dafny.Int = _0_m 127 _ = _rhs0 128 var _rhs1 _dafny.Int = (_0_m).Plus(_dafny.One) 129 _ = _rhs1 130 _1_mindex = _rhs0 131 _2_n = _rhs1 132 for (_2_n).Cmp(_dafny.ArrayLen((a), 0)) < 0 { 133 if !((below)((a).ArrayGet1((_1_mindex).Int()), (a).ArrayGet1((_2_n).Int()))) { 134 _1_mindex = _2_n 135 } 136 _2_n = (_2_n).Plus(_dafny.One) 137 } 138 var _rhs2 interface{} = (a).ArrayGet1((_1_mindex).Int()) 139 _ = _rhs2 140 var _rhs3 interface{} = (a).ArrayGet1((_0_m).Int()) 141 _ = _rhs3 142 var _lhs0 _dafny.Array = a 143 _ = _lhs0 144 var _lhs1 _dafny.Int = _0_m 145 _ = _lhs1 146 var _lhs2 _dafny.Array = a 147 _ = _lhs2 148 var _lhs3 _dafny.Int = _1_mindex 149 _ = _lhs3 150 (_lhs0).ArraySet1(_rhs2, (_lhs1).Int()) 151 (_lhs2).ArraySet1(_rhs3, (_lhs3).Int()) 152 _0_m = (_0_m).Plus(_dafny.One) 153 } 154 } 155 156 // End of class Default__