github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library@v0.2.0/Sorting/Sorting.go (about)

     1  // Package Sorting
     2  // Dafny module Sorting compiled into Go
     3  
     4  package Sorting
     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_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary"
    28  	m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop"
    29  	m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence"
    30  	m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String"
    31  	m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt"
    32  	m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams"
    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  var _ m_Streams.Dummy__
    74  
    75  type Dummy__ struct{}
    76  
    77  // Definition of class Default__
    78  type Default__ struct {
    79  	dummy byte
    80  }
    81  
    82  func New_Default___() *Default__ {
    83  	_this := Default__{}
    84  
    85  	return &_this
    86  }
    87  
    88  type CompanionStruct_Default___ struct {
    89  }
    90  
    91  var Companion_Default___ = CompanionStruct_Default___{}
    92  
    93  func (_this *Default__) Equals(other *Default__) bool {
    94  	return _this == other
    95  }
    96  
    97  func (_this *Default__) EqualsGeneric(x interface{}) bool {
    98  	other, ok := x.(*Default__)
    99  	return ok && _this.Equals(other)
   100  }
   101  
   102  func (*Default__) String() string {
   103  	return "Sorting.Default__"
   104  }
   105  func (_this *Default__) ParentTraits_() []*_dafny.TraitID {
   106  	return [](*_dafny.TraitID){}
   107  }
   108  
   109  var _ _dafny.TraitOffspring = &Default__{}
   110  
   111  func (_static *CompanionStruct_Default___) LexicographicByteSeqBelow(x _dafny.Sequence, y _dafny.Sequence) bool {
   112  	return Companion_Default___.LexicographicByteSeqBelowAux(x, y, _dafny.Zero)
   113  }
   114  func (_static *CompanionStruct_Default___) LexicographicByteSeqBelowAux(x _dafny.Sequence, y _dafny.Sequence, n _dafny.Int) bool {
   115  	return (((n).Cmp(_dafny.IntOfUint32((x).Cardinality())) == 0) || (((n).Cmp(_dafny.IntOfUint32((y).Cardinality())) != 0) && (((x).Select((n).Uint32()).(uint8)) < ((y).Select((n).Uint32()).(uint8))))) || ((((n).Cmp(_dafny.IntOfUint32((y).Cardinality())) != 0) && (((x).Select((n).Uint32()).(uint8)) == ((y).Select((n).Uint32()).(uint8)))) && (Companion_Default___.LexicographicByteSeqBelowAux(x, y, (n).Plus(_dafny.One))))
   116  }
   117  func (_static *CompanionStruct_Default___) SelectionSort(a _dafny.Array, below func(interface{}, interface{}) bool) {
   118  	var _0_m _dafny.Int
   119  	_ = _0_m
   120  	_0_m = _dafny.Zero
   121  	for (_0_m).Cmp(_dafny.ArrayLen((a), 0)) < 0 {
   122  		var _1_mindex _dafny.Int
   123  		_ = _1_mindex
   124  		var _2_n _dafny.Int
   125  		_ = _2_n
   126  		var _rhs0 _dafny.Int = _0_m
   127  		_ = _rhs0
   128  		var _rhs1 _dafny.Int = (_0_m).Plus(_dafny.One)
   129  		_ = _rhs1
   130  		_1_mindex = _rhs0
   131  		_2_n = _rhs1
   132  		for (_2_n).Cmp(_dafny.ArrayLen((a), 0)) < 0 {
   133  			if !((below)((a).ArrayGet1((_1_mindex).Int()), (a).ArrayGet1((_2_n).Int()))) {
   134  				_1_mindex = _2_n
   135  			}
   136  			_2_n = (_2_n).Plus(_dafny.One)
   137  		}
   138  		var _rhs2 interface{} = (a).ArrayGet1((_1_mindex).Int())
   139  		_ = _rhs2
   140  		var _rhs3 interface{} = (a).ArrayGet1((_0_m).Int())
   141  		_ = _rhs3
   142  		var _lhs0 _dafny.Array = a
   143  		_ = _lhs0
   144  		var _lhs1 _dafny.Int = _0_m
   145  		_ = _lhs1
   146  		var _lhs2 _dafny.Array = a
   147  		_ = _lhs2
   148  		var _lhs3 _dafny.Int = _1_mindex
   149  		_ = _lhs3
   150  		(_lhs0).ArraySet1(_rhs2, (_lhs1).Int())
   151  		(_lhs2).ArraySet1(_rhs3, (_lhs3).Int())
   152  		_0_m = (_0_m).Plus(_dafny.One)
   153  	}
   154  }
   155  
   156  // End of class Default__