github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library@v0.2.0/JSON_Utils_Str_CharStrConversion/JSON_Utils_Str_CharStrConversion.go (about) 1 // Package JSON_Utils_Str_CharStrConversion 2 // Dafny module JSON_Utils_Str_CharStrConversion compiled into Go 3 4 package JSON_Utils_Str_CharStrConversion 5 6 import ( 7 os "os" 8 9 m_Actions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Actions" 10 m_Base64 "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64" 11 m_Base64Lemmas "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64Lemmas" 12 m_BoundedInts "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/BoundedInts" 13 m_DivInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternals" 14 m_DivInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternalsNonlinear" 15 m_DivMod "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivMod" 16 m_FileIO "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FileIO" 17 m_FloatCompare "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FloatCompare" 18 m_Functions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Functions" 19 m_GeneralInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GeneralInternals" 20 m_GetOpt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GetOpt" 21 m_HexStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/HexStrings" 22 m_JSON_Utils_Cursors "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Cursors" 23 m_JSON_Utils_Lexers_Core "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Lexers_Core" 24 m_JSON_Utils_Lexers_Strings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Lexers_Strings" 25 m_JSON_Utils_Parsers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Parsers" 26 m_JSON_Utils_Views_Core "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Views_Core" 27 m_JSON_Utils_Views_Writers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Views_Writers" 28 m_Logarithm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Logarithm" 29 m__Math "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Math_" 30 m_ModInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternals" 31 m_ModInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternalsNonlinear" 32 m_Mul "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Mul" 33 m_MulInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternals" 34 m_MulInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternalsNonlinear" 35 m_Power "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Power" 36 m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations" 37 m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq" 38 m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort" 39 m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" 40 m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" 41 m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" 42 m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" 43 m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" 44 m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" 45 m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams" 46 m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings" 47 m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_" 48 m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm" 49 m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm" 50 m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" 51 m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_" 52 _dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" 53 ) 54 55 var _ = os.Args 56 var _ _dafny.Dummy__ 57 var _ m__System.Dummy__ 58 var _ m_Wrappers.Dummy__ 59 var _ m_Relations.Dummy__ 60 var _ m_Seq_MergeSort.Dummy__ 61 var _ m__Math.Dummy__ 62 var _ m_Seq.Dummy__ 63 var _ m_BoundedInts.Dummy__ 64 var _ m__Unicode.Dummy__ 65 var _ m_Functions.Dummy__ 66 var _ m_Utf8EncodingForm.Dummy__ 67 var _ m_Utf16EncodingForm.Dummy__ 68 var _ m_UnicodeStrings.Dummy__ 69 var _ m_FileIO.Dummy__ 70 var _ m_GeneralInternals.Dummy__ 71 var _ m_MulInternalsNonlinear.Dummy__ 72 var _ m_MulInternals.Dummy__ 73 var _ m_Mul.Dummy__ 74 var _ m_ModInternalsNonlinear.Dummy__ 75 var _ m_DivInternalsNonlinear.Dummy__ 76 var _ m_ModInternals.Dummy__ 77 var _ m_DivInternals.Dummy__ 78 var _ m_DivMod.Dummy__ 79 var _ m_Power.Dummy__ 80 var _ m_Logarithm.Dummy__ 81 var _ m_StandardLibraryInterop.Dummy__ 82 var _ m_StandardLibrary_UInt.Dummy__ 83 var _ m_StandardLibrary_Sequence.Dummy__ 84 var _ m_StandardLibrary_String.Dummy__ 85 var _ m_StandardLibrary.Dummy__ 86 var _ m_Streams.Dummy__ 87 var _ m_Sorting.Dummy__ 88 var _ m_HexStrings.Dummy__ 89 var _ m_GetOpt.Dummy__ 90 var _ m_FloatCompare.Dummy__ 91 var _ m_Base64.Dummy__ 92 var _ m_Base64Lemmas.Dummy__ 93 var _ m_Actions.Dummy__ 94 var _ m_JSON_Utils_Views_Core.Dummy__ 95 var _ m_JSON_Utils_Views_Writers.Dummy__ 96 var _ m_JSON_Utils_Lexers_Core.Dummy__ 97 var _ m_JSON_Utils_Lexers_Strings.Dummy__ 98 var _ m_JSON_Utils_Cursors.Dummy__ 99 var _ m_JSON_Utils_Parsers.Dummy__ 100 101 type Dummy__ struct{} 102 103 // Definition of class Default__ 104 type Default__ struct { 105 dummy byte 106 } 107 108 func New_Default___() *Default__ { 109 _this := Default__{} 110 111 return &_this 112 } 113 114 type CompanionStruct_Default___ struct { 115 } 116 117 var Companion_Default___ = CompanionStruct_Default___{} 118 119 func (_this *Default__) Equals(other *Default__) bool { 120 return _this == other 121 } 122 123 func (_this *Default__) EqualsGeneric(x interface{}) bool { 124 other, ok := x.(*Default__) 125 return ok && _this.Equals(other) 126 } 127 128 func (*Default__) String() string { 129 return "JSON_Utils_Str_CharStrConversion.Default__" 130 } 131 func (_this *Default__) ParentTraits_() []*_dafny.TraitID { 132 return [](*_dafny.TraitID){} 133 } 134 135 var _ _dafny.TraitOffspring = &Default__{} 136 137 func (_static *CompanionStruct_Default___) Digits(n _dafny.Int, base _dafny.Int) _dafny.Sequence { 138 if (n).Sign() == 0 { 139 return _dafny.SeqOf() 140 } else { 141 var _0_digits_k _dafny.Sequence = Companion_Default___.Digits((n).DivBy(base), base) 142 _ = _0_digits_k 143 var _1_digits _dafny.Sequence = _dafny.Companion_Sequence_.Concatenate(_0_digits_k, _dafny.SeqOf((n).Modulo(base))) 144 _ = _1_digits 145 return _1_digits 146 } 147 } 148 func (_static *CompanionStruct_Default___) OfDigits(digits _dafny.Sequence, chars _dafny.Sequence) _dafny.Sequence { 149 var _0___accumulator _dafny.Sequence = _dafny.SeqOfChars() 150 _ = _0___accumulator 151 goto TAIL_CALL_START 152 TAIL_CALL_START: 153 if _dafny.Companion_Sequence_.Equal(digits, _dafny.SeqOf()) { 154 return _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOfChars()) 155 } else { 156 _0___accumulator = _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOfChars((chars).Select(((digits).Select(0).(_dafny.Int)).Uint32()).(_dafny.Char))) 157 var _in0 _dafny.Sequence = (digits).Drop(1) 158 _ = _in0 159 var _in1 _dafny.Sequence = chars 160 _ = _in1 161 digits = _in0 162 chars = _in1 163 goto TAIL_CALL_START 164 } 165 } 166 func (_static *CompanionStruct_Default___) OfNat__any(n _dafny.Int, chars _dafny.Sequence) _dafny.Sequence { 167 var _0_base _dafny.Int = _dafny.IntOfUint32((chars).Cardinality()) 168 _ = _0_base 169 if (n).Sign() == 0 { 170 return _dafny.SeqOfChars((chars).Select(0).(_dafny.Char)) 171 } else { 172 return Companion_Default___.OfDigits(Companion_Default___.Digits(n, _0_base), chars) 173 } 174 } 175 func (_static *CompanionStruct_Default___) NumberStr(str _dafny.Sequence, minus _dafny.Char, is__digit func(_dafny.Char) bool) bool { 176 return !(!_dafny.Companion_Sequence_.Equal(str, _dafny.SeqOfChars())) || (((((str).Select(0).(_dafny.Char)) == (minus)) || ((is__digit)((str).Select(0).(_dafny.Char)))) && (_dafny.Quantifier(((str).Drop(1)).UniqueElements(), true, func(_forall_var_0 _dafny.Char) bool { 177 var _0_c _dafny.Char 178 _0_c = interface{}(_forall_var_0).(_dafny.Char) 179 return !(_dafny.Companion_Sequence_.Contains((str).Drop(1), _0_c)) || ((is__digit)(_0_c)) 180 }))) 181 } 182 func (_static *CompanionStruct_Default___) OfInt__any(n _dafny.Int, chars _dafny.Sequence, minus _dafny.Char) _dafny.Sequence { 183 if (n).Sign() != -1 { 184 return Companion_Default___.OfNat__any(n, chars) 185 } else { 186 return _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfChars(minus), Companion_Default___.OfNat__any((_dafny.Zero).Minus(n), chars)) 187 } 188 } 189 func (_static *CompanionStruct_Default___) ToNat__any(str _dafny.Sequence, base _dafny.Int, digits _dafny.Map) _dafny.Int { 190 if _dafny.Companion_Sequence_.Equal(str, _dafny.SeqOfChars()) { 191 return _dafny.Zero 192 } else { 193 return ((Companion_Default___.ToNat__any((str).Take(((_dafny.IntOfUint32((str).Cardinality())).Minus(_dafny.One)).Uint32()), base, digits)).Times(base)).Plus((digits).Get((str).Select(((_dafny.IntOfUint32((str).Cardinality())).Minus(_dafny.One)).Uint32()).(_dafny.Char)).(_dafny.Int)) 194 } 195 } 196 func (_static *CompanionStruct_Default___) ToInt__any(str _dafny.Sequence, minus _dafny.Char, base _dafny.Int, digits _dafny.Map) _dafny.Int { 197 if _dafny.Companion_Sequence_.IsPrefixOf(_dafny.SeqOfChars(minus), str) { 198 return (_dafny.Zero).Minus(Companion_Default___.ToNat__any((str).Drop(1), base, digits)) 199 } else { 200 return Companion_Default___.ToNat__any(str, base, digits) 201 } 202 } 203 204 // End of class Default__