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