github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library@v0.2.0/StandardLibrary_String/StandardLibrary_String.go (about) 1 // Package StandardLibrary_String 2 // Dafny module StandardLibrary_String compiled into Go 3 4 package StandardLibrary_String 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_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" 28 m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" 29 m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" 30 m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings" 31 m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_" 32 m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm" 33 m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm" 34 m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" 35 m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_" 36 _dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" 37 ) 38 39 var _ = os.Args 40 var _ _dafny.Dummy__ 41 var _ m__System.Dummy__ 42 var _ m_Wrappers.Dummy__ 43 var _ m_Relations.Dummy__ 44 var _ m_Seq_MergeSort.Dummy__ 45 var _ m__Math.Dummy__ 46 var _ m_Seq.Dummy__ 47 var _ m_BoundedInts.Dummy__ 48 var _ m__Unicode.Dummy__ 49 var _ m_Functions.Dummy__ 50 var _ m_Utf8EncodingForm.Dummy__ 51 var _ m_Utf16EncodingForm.Dummy__ 52 var _ m_UnicodeStrings.Dummy__ 53 var _ m_FileIO.Dummy__ 54 var _ m_GeneralInternals.Dummy__ 55 var _ m_MulInternalsNonlinear.Dummy__ 56 var _ m_MulInternals.Dummy__ 57 var _ m_Mul.Dummy__ 58 var _ m_ModInternalsNonlinear.Dummy__ 59 var _ m_DivInternalsNonlinear.Dummy__ 60 var _ m_ModInternals.Dummy__ 61 var _ m_DivInternals.Dummy__ 62 var _ m_DivMod.Dummy__ 63 var _ m_Power.Dummy__ 64 var _ m_Logarithm.Dummy__ 65 var _ m_StandardLibraryInterop.Dummy__ 66 var _ m_StandardLibrary_UInt.Dummy__ 67 var _ m_StandardLibrary_Sequence.Dummy__ 68 69 type Dummy__ struct{} 70 71 // Definition of class Default__ 72 type Default__ struct { 73 dummy byte 74 } 75 76 func New_Default___() *Default__ { 77 _this := Default__{} 78 79 return &_this 80 } 81 82 type CompanionStruct_Default___ struct { 83 } 84 85 var Companion_Default___ = CompanionStruct_Default___{} 86 87 func (_this *Default__) Equals(other *Default__) bool { 88 return _this == other 89 } 90 91 func (_this *Default__) EqualsGeneric(x interface{}) bool { 92 other, ok := x.(*Default__) 93 return ok && _this.Equals(other) 94 } 95 96 func (*Default__) String() string { 97 return "StandardLibrary_String.Default__" 98 } 99 func (_this *Default__) ParentTraits_() []*_dafny.TraitID { 100 return [](*_dafny.TraitID){} 101 } 102 103 var _ _dafny.TraitOffspring = &Default__{} 104 105 func (_static *CompanionStruct_Default___) Int2Digits(n _dafny.Int, base _dafny.Int) _dafny.Sequence { 106 var _0___accumulator _dafny.Sequence = _dafny.SeqOf() 107 _ = _0___accumulator 108 goto TAIL_CALL_START 109 TAIL_CALL_START: 110 if (n).Sign() == 0 { 111 return _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOf(), _0___accumulator) 112 } else { 113 _0___accumulator = _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOf((n).Modulo(base)), _0___accumulator) 114 var _in0 _dafny.Int = (n).DivBy(base) 115 _ = _in0 116 var _in1 _dafny.Int = base 117 _ = _in1 118 n = _in0 119 base = _in1 120 goto TAIL_CALL_START 121 } 122 } 123 func (_static *CompanionStruct_Default___) Digits2String(digits _dafny.Sequence, chars _dafny.Sequence) _dafny.Sequence { 124 var _0___accumulator _dafny.Sequence = _dafny.SeqOfChars() 125 _ = _0___accumulator 126 goto TAIL_CALL_START 127 TAIL_CALL_START: 128 if _dafny.Companion_Sequence_.Equal(digits, _dafny.SeqOf()) { 129 return _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOfString("")) 130 } else { 131 _0___accumulator = _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOfChars((chars).Select(((digits).Select(0).(_dafny.Int)).Uint32()).(_dafny.Char))) 132 var _in0 _dafny.Sequence = (digits).Drop(1) 133 _ = _in0 134 var _in1 _dafny.Sequence = chars 135 _ = _in1 136 digits = _in0 137 chars = _in1 138 goto TAIL_CALL_START 139 } 140 } 141 func (_static *CompanionStruct_Default___) Int2String(n _dafny.Int, chars _dafny.Sequence) _dafny.Sequence { 142 var _0_base _dafny.Int = _dafny.IntOfUint32((chars).Cardinality()) 143 _ = _0_base 144 if (n).Sign() == 0 { 145 return _dafny.SeqOfString("0") 146 } else if (n).Sign() == 1 { 147 return Companion_Default___.Digits2String(Companion_Default___.Int2Digits(n, _0_base), chars) 148 } else { 149 return _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("-"), Companion_Default___.Digits2String(Companion_Default___.Int2Digits((_dafny.Zero).Minus(n), _0_base), chars)) 150 } 151 } 152 func (_static *CompanionStruct_Default___) Base10Int2String(n _dafny.Int) _dafny.Sequence { 153 return Companion_Default___.Int2String(n, Companion_Default___.Base10()) 154 } 155 func (_static *CompanionStruct_Default___) HasSubString(haystack _dafny.Sequence, needle _dafny.Sequence) m_Wrappers.Option { 156 var o m_Wrappers.Option = m_Wrappers.Companion_Option_.Default() 157 _ = o 158 if (_dafny.IntOfUint32((haystack).Cardinality())).Cmp(_dafny.IntOfUint32((needle).Cardinality())) < 0 { 159 o = m_Wrappers.Companion_Option_.Create_None_() 160 return o 161 } 162 if !((_dafny.IntOfUint32((haystack).Cardinality())).Cmp((m_StandardLibrary_UInt.Companion_Default___.UINT64__MAX__LIMIT()).Minus(_dafny.One)) <= 0) { 163 panic("src/String.dfy(75,4): " + (_dafny.SeqOfString("expectation violation")).String()) 164 } 165 var _0_size uint64 166 _ = _0_size 167 _0_size = uint64((needle).Cardinality()) 168 var _1_limit uint64 169 _ = _1_limit 170 _1_limit = ((uint64((haystack).Cardinality())) - (func() uint64 { return (_0_size) })()) + (uint64(1)) 171 var _hi0 uint64 = _1_limit 172 _ = _hi0 173 for _2_index := uint64(0); _2_index < _hi0; _2_index++ { 174 if m_StandardLibrary_Sequence.Companion_Default___.SequenceEqual(haystack, needle, _2_index, uint64(0), _0_size) { 175 o = m_Wrappers.Companion_Option_.Create_Some_(_dafny.IntOfUint64(_2_index)) 176 return o 177 } 178 } 179 o = m_Wrappers.Companion_Option_.Create_None_() 180 return o 181 return o 182 } 183 func (_static *CompanionStruct_Default___) Base10() _dafny.Sequence { 184 return _dafny.SeqOfChars(_dafny.Char('0'), _dafny.Char('1'), _dafny.Char('2'), _dafny.Char('3'), _dafny.Char('4'), _dafny.Char('5'), _dafny.Char('6'), _dafny.Char('7'), _dafny.Char('8'), _dafny.Char('9')) 185 } 186 187 // End of class Default__