github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library@v0.2.0/HexStrings/HexStrings.go (about) 1 // Package HexStrings 2 // Dafny module HexStrings compiled into Go 3 4 package HexStrings 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_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" 28 m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" 29 m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" 30 m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" 31 m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" 32 m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" 33 m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams" 34 m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings" 35 m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_" 36 m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm" 37 m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm" 38 m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" 39 m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_" 40 _dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" 41 ) 42 43 var _ = os.Args 44 var _ _dafny.Dummy__ 45 var _ m__System.Dummy__ 46 var _ m_Wrappers.Dummy__ 47 var _ m_Relations.Dummy__ 48 var _ m_Seq_MergeSort.Dummy__ 49 var _ m__Math.Dummy__ 50 var _ m_Seq.Dummy__ 51 var _ m_BoundedInts.Dummy__ 52 var _ m__Unicode.Dummy__ 53 var _ m_Functions.Dummy__ 54 var _ m_Utf8EncodingForm.Dummy__ 55 var _ m_Utf16EncodingForm.Dummy__ 56 var _ m_UnicodeStrings.Dummy__ 57 var _ m_FileIO.Dummy__ 58 var _ m_GeneralInternals.Dummy__ 59 var _ m_MulInternalsNonlinear.Dummy__ 60 var _ m_MulInternals.Dummy__ 61 var _ m_Mul.Dummy__ 62 var _ m_ModInternalsNonlinear.Dummy__ 63 var _ m_DivInternalsNonlinear.Dummy__ 64 var _ m_ModInternals.Dummy__ 65 var _ m_DivInternals.Dummy__ 66 var _ m_DivMod.Dummy__ 67 var _ m_Power.Dummy__ 68 var _ m_Logarithm.Dummy__ 69 var _ m_StandardLibraryInterop.Dummy__ 70 var _ m_StandardLibrary_UInt.Dummy__ 71 var _ m_StandardLibrary_Sequence.Dummy__ 72 var _ m_StandardLibrary_String.Dummy__ 73 var _ m_StandardLibrary.Dummy__ 74 var _ m_Streams.Dummy__ 75 var _ m_Sorting.Dummy__ 76 77 type Dummy__ struct{} 78 79 // Definition of class Default__ 80 type Default__ struct { 81 dummy byte 82 } 83 84 func New_Default___() *Default__ { 85 _this := Default__{} 86 87 return &_this 88 } 89 90 type CompanionStruct_Default___ struct { 91 } 92 93 var Companion_Default___ = CompanionStruct_Default___{} 94 95 func (_this *Default__) Equals(other *Default__) bool { 96 return _this == other 97 } 98 99 func (_this *Default__) EqualsGeneric(x interface{}) bool { 100 other, ok := x.(*Default__) 101 return ok && _this.Equals(other) 102 } 103 104 func (*Default__) String() string { 105 return "HexStrings.Default__" 106 } 107 func (_this *Default__) ParentTraits_() []*_dafny.TraitID { 108 return [](*_dafny.TraitID){} 109 } 110 111 var _ _dafny.TraitOffspring = &Default__{} 112 113 func (_static *CompanionStruct_Default___) HexChar(x uint8) _dafny.Char { 114 if (x) < (uint8(10)) { 115 return (_dafny.Char('0')) + (_dafny.Char((x))) 116 } else { 117 return (_dafny.Char('a')) + (_dafny.Char(((x) - (func() uint8 { return (uint8(10)) })()))) 118 } 119 } 120 func (_static *CompanionStruct_Default___) IsLooseHexChar(ch _dafny.Char) bool { 121 return ((((_dafny.Char('0')) <= (ch)) && ((ch) <= (_dafny.Char('9')))) || (((_dafny.Char('a')) <= (ch)) && ((ch) <= (_dafny.Char('f'))))) || (((_dafny.Char('A')) <= (ch)) && ((ch) <= (_dafny.Char('F')))) 122 } 123 func (_static *CompanionStruct_Default___) IsHexChar(ch _dafny.Char) bool { 124 return (((_dafny.Char('0')) <= (ch)) && ((ch) <= (_dafny.Char('9')))) || (((_dafny.Char('a')) <= (ch)) && ((ch) <= (_dafny.Char('f')))) 125 } 126 func (_static *CompanionStruct_Default___) IsHexString(s _dafny.Sequence) bool { 127 return _dafny.Quantifier((s).UniqueElements(), true, func(_forall_var_0 _dafny.Char) bool { 128 var _0_ch _dafny.Char 129 _0_ch = interface{}(_forall_var_0).(_dafny.Char) 130 return !(_dafny.Companion_Sequence_.Contains(s, _0_ch)) || (Companion_Default___.IsHexChar(_0_ch)) 131 }) 132 } 133 func (_static *CompanionStruct_Default___) IsLooseHexString(s _dafny.Sequence) bool { 134 return _dafny.Quantifier((s).UniqueElements(), true, func(_forall_var_0 _dafny.Char) bool { 135 var _0_ch _dafny.Char 136 _0_ch = interface{}(_forall_var_0).(_dafny.Char) 137 return !(_dafny.Companion_Sequence_.Contains(s, _0_ch)) || (Companion_Default___.IsLooseHexChar(_0_ch)) 138 }) 139 } 140 func (_static *CompanionStruct_Default___) HexVal(ch _dafny.Char) uint8 { 141 if ((_dafny.Char('0')) <= (ch)) && ((ch) <= (_dafny.Char('9'))) { 142 return (uint8(ch)) - (func() uint8 { return (uint8(_dafny.Char('0'))) })() 143 } else if ((_dafny.Char('a')) <= (ch)) && ((ch) <= (_dafny.Char('f'))) { 144 return ((uint8(ch)) - (func() uint8 { return (uint8(_dafny.Char('a'))) })()) + (uint8(10)) 145 } else { 146 return ((uint8(ch)) - (func() uint8 { return (uint8(_dafny.Char('A'))) })()) + (uint8(10)) 147 } 148 } 149 func (_static *CompanionStruct_Default___) HexStr(x uint8) _dafny.Sequence { 150 if (x) < (uint8(16)) { 151 var _0_res _dafny.Sequence = _dafny.SeqOfChars(_dafny.Char('0'), Companion_Default___.HexChar(x)) 152 _ = _0_res 153 return _0_res 154 } else { 155 var _1_res _dafny.Sequence = _dafny.SeqOfChars(Companion_Default___.HexChar((x)/(uint8(16))), Companion_Default___.HexChar((x)%(uint8(16)))) 156 _ = _1_res 157 return _1_res 158 } 159 } 160 func (_static *CompanionStruct_Default___) HexValue(x _dafny.Sequence) uint8 { 161 return ((Companion_Default___.HexVal((x).Select(0).(_dafny.Char))) * (uint8(16))) + (Companion_Default___.HexVal((x).Select(1).(_dafny.Char))) 162 } 163 func (_static *CompanionStruct_Default___) ToHexString(val _dafny.Sequence) _dafny.Sequence { 164 var _0___accumulator _dafny.Sequence = _dafny.SeqOfChars() 165 _ = _0___accumulator 166 goto TAIL_CALL_START 167 TAIL_CALL_START: 168 if (_dafny.IntOfUint32((val).Cardinality())).Sign() == 0 { 169 return _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOfChars()) 170 } else { 171 _0___accumulator = _dafny.Companion_Sequence_.Concatenate(_0___accumulator, Companion_Default___.HexStr((val).Select(0).(uint8))) 172 var _in0 _dafny.Sequence = (val).Drop(1) 173 _ = _in0 174 val = _in0 175 goto TAIL_CALL_START 176 } 177 } 178 func (_static *CompanionStruct_Default___) FromHexString(data _dafny.Sequence) _dafny.Sequence { 179 var _0___accumulator _dafny.Sequence = _dafny.SeqOf() 180 _ = _0___accumulator 181 goto TAIL_CALL_START 182 TAIL_CALL_START: 183 if (_dafny.IntOfUint32((data).Cardinality())).Sign() == 0 { 184 return _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOf()) 185 } else if ((_dafny.IntOfUint32((data).Cardinality())).Modulo(_dafny.IntOfInt64(2))).Cmp(_dafny.One) == 0 { 186 _0___accumulator = _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOf(Companion_Default___.HexVal((data).Select(0).(_dafny.Char)))) 187 var _in0 _dafny.Sequence = (data).Drop(1) 188 _ = _in0 189 data = _in0 190 goto TAIL_CALL_START 191 } else { 192 _0___accumulator = _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOf(Companion_Default___.HexValue((data).Take(2)))) 193 var _in1 _dafny.Sequence = (data).Drop(2) 194 _ = _in1 195 data = _in1 196 goto TAIL_CALL_START 197 } 198 } 199 200 // End of class Default__ 201 202 // Definition of class HexString 203 type HexString struct { 204 } 205 206 func New_HexString_() *HexString { 207 _this := HexString{} 208 209 return &_this 210 } 211 212 type CompanionStruct_HexString_ struct { 213 } 214 215 var Companion_HexString_ = CompanionStruct_HexString_{} 216 217 func (*HexString) String() string { 218 return "HexStrings.HexString" 219 } 220 221 // End of class HexString 222 223 func Type_HexString_() _dafny.TypeDescriptor { 224 return type_HexString_{} 225 } 226 227 type type_HexString_ struct { 228 } 229 230 func (_this type_HexString_) Default() interface{} { 231 return _dafny.EmptySeq.SetString() 232 } 233 234 func (_this type_HexString_) String() string { 235 return "HexStrings.HexString" 236 } 237 func (_this *CompanionStruct_HexString_) Is_(__source _dafny.Sequence) bool { 238 var _0_x _dafny.Sequence = (__source) 239 _ = _0_x 240 return Companion_Default___.IsHexString(_0_x) 241 } 242 243 // Definition of class LooseHexString 244 type LooseHexString struct { 245 } 246 247 func New_LooseHexString_() *LooseHexString { 248 _this := LooseHexString{} 249 250 return &_this 251 } 252 253 type CompanionStruct_LooseHexString_ struct { 254 } 255 256 var Companion_LooseHexString_ = CompanionStruct_LooseHexString_{} 257 258 func (*LooseHexString) String() string { 259 return "HexStrings.LooseHexString" 260 } 261 262 // End of class LooseHexString 263 264 func Type_LooseHexString_() _dafny.TypeDescriptor { 265 return type_LooseHexString_{} 266 } 267 268 type type_LooseHexString_ struct { 269 } 270 271 func (_this type_LooseHexString_) Default() interface{} { 272 return _dafny.EmptySeq.SetString() 273 } 274 275 func (_this type_LooseHexString_) String() string { 276 return "HexStrings.LooseHexString" 277 } 278 func (_this *CompanionStruct_LooseHexString_) Is_(__source _dafny.Sequence) bool { 279 var _1_x _dafny.Sequence = (__source) 280 _ = _1_x 281 return Companion_Default___.IsLooseHexString(_1_x) 282 }