github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library@v0.2.0/Time_/Time_.go (about) 1 // Package _Time 2 // Dafny module _Time compiled into Go 3 4 package _Time 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_OsLang "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/OsLang" 24 m_Power "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Power" 25 m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations" 26 m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq" 27 m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort" 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_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 74 type Dummy__ struct{} 75 76 // Definition of class Default__ 77 type Default__ struct { 78 dummy byte 79 } 80 81 func New_Default___() *Default__ { 82 _this := Default__{} 83 84 return &_this 85 } 86 87 type CompanionStruct_Default___ struct { 88 } 89 90 var Companion_Default___ = CompanionStruct_Default___{} 91 92 func (_this *Default__) Equals(other *Default__) bool { 93 return _this == other 94 } 95 96 func (_this *Default__) EqualsGeneric(x interface{}) bool { 97 other, ok := x.(*Default__) 98 return ok && _this.Equals(other) 99 } 100 101 func (*Default__) String() string { 102 return "_Time.Default__" 103 } 104 func (_this *Default__) ParentTraits_() []*_dafny.TraitID { 105 return [](*_dafny.TraitID){} 106 } 107 108 var _ _dafny.TraitOffspring = &Default__{} 109 110 func (_static *CompanionStruct_Default___) FormatMilli(diff uint64) _dafny.Sequence { 111 var _0_whole _dafny.Sequence = m_StandardLibrary_String.Companion_Default___.Base10Int2String(_dafny.IntOfUint64((diff) / (uint64(1000)))) 112 _ = _0_whole 113 var _1_frac _dafny.Sequence = m_StandardLibrary_String.Companion_Default___.Base10Int2String(_dafny.IntOfUint64((diff) % (uint64(1000)))) 114 _ = _1_frac 115 if (_dafny.IntOfUint32((_1_frac).Cardinality())).Cmp(_dafny.One) == 0 { 116 return _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_0_whole, _dafny.SeqOfString(".00")), _1_frac) 117 } else if (_dafny.IntOfUint32((_1_frac).Cardinality())).Cmp(_dafny.IntOfInt64(2)) == 0 { 118 return _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_0_whole, _dafny.SeqOfString(".0")), _1_frac) 119 } else { 120 return _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_0_whole, _dafny.SeqOfString(".")), _1_frac) 121 } 122 } 123 func (_static *CompanionStruct_Default___) FormatMilliDiff(start int64, end int64) _dafny.Sequence { 124 if (start) <= (end) { 125 return Companion_Default___.FormatMilli(uint64((end) - (start))) 126 } else { 127 return _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("-"), Companion_Default___.FormatMilli(uint64((start)-(end)))) 128 } 129 } 130 func (_static *CompanionStruct_Default___) GetAbsoluteTime() AbsoluteTime { 131 var output AbsoluteTime = Companion_AbsoluteTime_.Default() 132 _ = output 133 var _0_ClockTime int64 134 _ = _0_ClockTime 135 var _out0 int64 136 _ = _out0 137 _out0 = m__Time.CurrentRelativeTimeMilli() 138 _0_ClockTime = _out0 139 var _1_CpuTime int64 140 _ = _1_CpuTime 141 var _out1 int64 142 _ = _out1 143 _out1 = m__Time.GetProcessCpuTimeMillis() 144 _1_CpuTime = _out1 145 output = Companion_AbsoluteTime_.Create_AbsoluteTime_(uint64(_0_ClockTime), uint64(_1_CpuTime)) 146 return output 147 return output 148 } 149 func (_static *CompanionStruct_Default___) PrintTimeSince(start AbsoluteTime) { 150 var _0_t RelativeTime 151 _ = _0_t 152 var _out0 RelativeTime 153 _ = _out0 154 _out0 = Companion_Default___.TimeSince(start) 155 _0_t = _out0 156 Companion_Default___.PrintTime(_0_t) 157 } 158 func (_static *CompanionStruct_Default___) PrintTimeSinceShort(start AbsoluteTime) { 159 var _0_t RelativeTime 160 _ = _0_t 161 var _out0 RelativeTime 162 _ = _out0 163 _out0 = Companion_Default___.TimeSince(start) 164 _0_t = _out0 165 Companion_Default___.PrintTimeShort(_0_t) 166 } 167 func (_static *CompanionStruct_Default___) PrintTimeSinceShortChained(start AbsoluteTime) AbsoluteTime { 168 var x AbsoluteTime = Companion_AbsoluteTime_.Default() 169 _ = x 170 var _0_end AbsoluteTime 171 _ = _0_end 172 var _out0 AbsoluteTime 173 _ = _out0 174 _out0 = Companion_Default___.GetAbsoluteTime() 175 _0_end = _out0 176 Companion_Default___.PrintTimeShort(Companion_Default___.TimeDiff(start, _0_end)) 177 x = _0_end 178 return x 179 return x 180 } 181 func (_static *CompanionStruct_Default___) TimeDiff(start AbsoluteTime, end AbsoluteTime) RelativeTime { 182 if (((start).Dtor_ClockTime()) <= ((end).Dtor_ClockTime())) && (((start).Dtor_CpuTime()) <= ((end).Dtor_CpuTime())) { 183 return Companion_RelativeTime_.Create_RelativeTime_(((end).Dtor_ClockTime())-(func() uint64 { return ((start).Dtor_ClockTime()) })(), ((end).Dtor_CpuTime())-(func() uint64 { return ((start).Dtor_CpuTime()) })()) 184 } else { 185 return Companion_RelativeTime_.Create_RelativeTime_(uint64(0), uint64(0)) 186 } 187 } 188 func (_static *CompanionStruct_Default___) TimeSince(start AbsoluteTime) RelativeTime { 189 var output RelativeTime = Companion_RelativeTime_.Default() 190 _ = output 191 var _0_end AbsoluteTime 192 _ = _0_end 193 var _out0 AbsoluteTime 194 _ = _out0 195 _out0 = Companion_Default___.GetAbsoluteTime() 196 _0_end = _out0 197 output = Companion_Default___.TimeDiff(start, _0_end) 198 return output 199 } 200 func (_static *CompanionStruct_Default___) PrintTime(time RelativeTime) { 201 _dafny.Print((_dafny.SeqOfString("Clock Time : ")).SetString()) 202 _dafny.Print((Companion_Default___.FormatMilli((time).Dtor_ClockTime())).SetString()) 203 _dafny.Print((_dafny.SeqOfString(" CPU Time : ")).SetString()) 204 _dafny.Print((Companion_Default___.FormatMilli((time).Dtor_CpuTime())).SetString()) 205 _dafny.Print((_dafny.SeqOfString("\n")).SetString()) 206 } 207 func (_static *CompanionStruct_Default___) PrintTimeLong(time RelativeTime, tag _dafny.Sequence) { 208 _dafny.Print((tag).SetString()) 209 _dafny.Print((_dafny.SeqOfString(" ")).SetString()) 210 _dafny.Print((m_OsLang.GetOsLong()).SetString()) 211 _dafny.Print((_dafny.SeqOfString(" ")).SetString()) 212 _dafny.Print((m_OsLang.GetLanguageLong()).SetString()) 213 _dafny.Print((_dafny.SeqOfString(" Clock Time : ")).SetString()) 214 _dafny.Print((Companion_Default___.FormatMilli((time).Dtor_ClockTime())).SetString()) 215 _dafny.Print((_dafny.SeqOfString(" CPU Time : ")).SetString()) 216 _dafny.Print((Companion_Default___.FormatMilli((time).Dtor_CpuTime())).SetString()) 217 _dafny.Print((_dafny.SeqOfString("\n")).SetString()) 218 } 219 func (_static *CompanionStruct_Default___) PrintTimeShort(time RelativeTime) { 220 _dafny.Print((_dafny.SeqOfString("CPU:")).SetString()) 221 _dafny.Print((Companion_Default___.FormatMilli((time).Dtor_CpuTime())).SetString()) 222 _dafny.Print((_dafny.SeqOfString(" ")).SetString()) 223 } 224 func (_static *CompanionStruct_Default___) CreateGetCurrentTimeStampSuccess(value _dafny.Sequence) m_Wrappers.Result { 225 return m_Wrappers.Companion_Result_.Create_Success_(value) 226 } 227 func (_static *CompanionStruct_Default___) CreateGetCurrentTimeStampFailure(error_ _dafny.Sequence) m_Wrappers.Result { 228 return m_Wrappers.Companion_Result_.Create_Failure_(error_) 229 } 230 231 // End of class Default__ 232 233 // Definition of datatype AbsoluteTime 234 type AbsoluteTime struct { 235 Data_AbsoluteTime_ 236 } 237 238 func (_this AbsoluteTime) Get_() Data_AbsoluteTime_ { 239 return _this.Data_AbsoluteTime_ 240 } 241 242 type Data_AbsoluteTime_ interface { 243 isAbsoluteTime() 244 } 245 246 type CompanionStruct_AbsoluteTime_ struct { 247 } 248 249 var Companion_AbsoluteTime_ = CompanionStruct_AbsoluteTime_{} 250 251 type AbsoluteTime_AbsoluteTime struct { 252 ClockTime uint64 253 CpuTime uint64 254 } 255 256 func (AbsoluteTime_AbsoluteTime) isAbsoluteTime() {} 257 258 func (CompanionStruct_AbsoluteTime_) Create_AbsoluteTime_(ClockTime uint64, CpuTime uint64) AbsoluteTime { 259 return AbsoluteTime{AbsoluteTime_AbsoluteTime{ClockTime, CpuTime}} 260 } 261 262 func (_this AbsoluteTime) Is_AbsoluteTime() bool { 263 _, ok := _this.Get_().(AbsoluteTime_AbsoluteTime) 264 return ok 265 } 266 267 func (CompanionStruct_AbsoluteTime_) Default() AbsoluteTime { 268 return Companion_AbsoluteTime_.Create_AbsoluteTime_(uint64(0), uint64(0)) 269 } 270 271 func (_this AbsoluteTime) Dtor_ClockTime() uint64 { 272 return _this.Get_().(AbsoluteTime_AbsoluteTime).ClockTime 273 } 274 275 func (_this AbsoluteTime) Dtor_CpuTime() uint64 { 276 return _this.Get_().(AbsoluteTime_AbsoluteTime).CpuTime 277 } 278 279 func (_this AbsoluteTime) String() string { 280 switch data := _this.Get_().(type) { 281 case nil: 282 return "null" 283 case AbsoluteTime_AbsoluteTime: 284 { 285 return "Time.AbsoluteTime.AbsoluteTime" + "(" + _dafny.String(data.ClockTime) + ", " + _dafny.String(data.CpuTime) + ")" 286 } 287 default: 288 { 289 return "<unexpected>" 290 } 291 } 292 } 293 294 func (_this AbsoluteTime) Equals(other AbsoluteTime) bool { 295 switch data1 := _this.Get_().(type) { 296 case AbsoluteTime_AbsoluteTime: 297 { 298 data2, ok := other.Get_().(AbsoluteTime_AbsoluteTime) 299 return ok && data1.ClockTime == data2.ClockTime && data1.CpuTime == data2.CpuTime 300 } 301 default: 302 { 303 return false // unexpected 304 } 305 } 306 } 307 308 func (_this AbsoluteTime) EqualsGeneric(other interface{}) bool { 309 typed, ok := other.(AbsoluteTime) 310 return ok && _this.Equals(typed) 311 } 312 313 func Type_AbsoluteTime_() _dafny.TypeDescriptor { 314 return type_AbsoluteTime_{} 315 } 316 317 type type_AbsoluteTime_ struct { 318 } 319 320 func (_this type_AbsoluteTime_) Default() interface{} { 321 return Companion_AbsoluteTime_.Default() 322 } 323 324 func (_this type_AbsoluteTime_) String() string { 325 return "_Time.AbsoluteTime" 326 } 327 func (_this AbsoluteTime) ParentTraits_() []*_dafny.TraitID { 328 return [](*_dafny.TraitID){} 329 } 330 331 var _ _dafny.TraitOffspring = AbsoluteTime{} 332 333 // End of datatype AbsoluteTime 334 335 // Definition of datatype RelativeTime 336 type RelativeTime struct { 337 Data_RelativeTime_ 338 } 339 340 func (_this RelativeTime) Get_() Data_RelativeTime_ { 341 return _this.Data_RelativeTime_ 342 } 343 344 type Data_RelativeTime_ interface { 345 isRelativeTime() 346 } 347 348 type CompanionStruct_RelativeTime_ struct { 349 } 350 351 var Companion_RelativeTime_ = CompanionStruct_RelativeTime_{} 352 353 type RelativeTime_RelativeTime struct { 354 ClockTime uint64 355 CpuTime uint64 356 } 357 358 func (RelativeTime_RelativeTime) isRelativeTime() {} 359 360 func (CompanionStruct_RelativeTime_) Create_RelativeTime_(ClockTime uint64, CpuTime uint64) RelativeTime { 361 return RelativeTime{RelativeTime_RelativeTime{ClockTime, CpuTime}} 362 } 363 364 func (_this RelativeTime) Is_RelativeTime() bool { 365 _, ok := _this.Get_().(RelativeTime_RelativeTime) 366 return ok 367 } 368 369 func (CompanionStruct_RelativeTime_) Default() RelativeTime { 370 return Companion_RelativeTime_.Create_RelativeTime_(uint64(0), uint64(0)) 371 } 372 373 func (_this RelativeTime) Dtor_ClockTime() uint64 { 374 return _this.Get_().(RelativeTime_RelativeTime).ClockTime 375 } 376 377 func (_this RelativeTime) Dtor_CpuTime() uint64 { 378 return _this.Get_().(RelativeTime_RelativeTime).CpuTime 379 } 380 381 func (_this RelativeTime) String() string { 382 switch data := _this.Get_().(type) { 383 case nil: 384 return "null" 385 case RelativeTime_RelativeTime: 386 { 387 return "Time.RelativeTime.RelativeTime" + "(" + _dafny.String(data.ClockTime) + ", " + _dafny.String(data.CpuTime) + ")" 388 } 389 default: 390 { 391 return "<unexpected>" 392 } 393 } 394 } 395 396 func (_this RelativeTime) Equals(other RelativeTime) bool { 397 switch data1 := _this.Get_().(type) { 398 case RelativeTime_RelativeTime: 399 { 400 data2, ok := other.Get_().(RelativeTime_RelativeTime) 401 return ok && data1.ClockTime == data2.ClockTime && data1.CpuTime == data2.CpuTime 402 } 403 default: 404 { 405 return false // unexpected 406 } 407 } 408 } 409 410 func (_this RelativeTime) EqualsGeneric(other interface{}) bool { 411 typed, ok := other.(RelativeTime) 412 return ok && _this.Equals(typed) 413 } 414 415 func Type_RelativeTime_() _dafny.TypeDescriptor { 416 return type_RelativeTime_{} 417 } 418 419 type type_RelativeTime_ struct { 420 } 421 422 func (_this type_RelativeTime_) Default() interface{} { 423 return Companion_RelativeTime_.Default() 424 } 425 426 func (_this type_RelativeTime_) String() string { 427 return "_Time.RelativeTime" 428 } 429 func (_this RelativeTime) ParentTraits_() []*_dafny.TraitID { 430 return [](*_dafny.TraitID){} 431 } 432 433 var _ _dafny.TraitOffspring = RelativeTime{} 434 435 // End of datatype RelativeTime