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

     1  // Package StandardLibrary_String
     2  // Dafny module StandardLibrary_String compiled into Go
     3  
     4  package StandardLibrary_String
     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_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop"
    28  	m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence"
    29  	m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt"
    30  	m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings"
    31  	m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_"
    32  	m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm"
    33  	m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm"
    34  	m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers"
    35  	m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_"
    36  	_dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny"
    37  )
    38  
    39  var _ = os.Args
    40  var _ _dafny.Dummy__
    41  var _ m__System.Dummy__
    42  var _ m_Wrappers.Dummy__
    43  var _ m_Relations.Dummy__
    44  var _ m_Seq_MergeSort.Dummy__
    45  var _ m__Math.Dummy__
    46  var _ m_Seq.Dummy__
    47  var _ m_BoundedInts.Dummy__
    48  var _ m__Unicode.Dummy__
    49  var _ m_Functions.Dummy__
    50  var _ m_Utf8EncodingForm.Dummy__
    51  var _ m_Utf16EncodingForm.Dummy__
    52  var _ m_UnicodeStrings.Dummy__
    53  var _ m_FileIO.Dummy__
    54  var _ m_GeneralInternals.Dummy__
    55  var _ m_MulInternalsNonlinear.Dummy__
    56  var _ m_MulInternals.Dummy__
    57  var _ m_Mul.Dummy__
    58  var _ m_ModInternalsNonlinear.Dummy__
    59  var _ m_DivInternalsNonlinear.Dummy__
    60  var _ m_ModInternals.Dummy__
    61  var _ m_DivInternals.Dummy__
    62  var _ m_DivMod.Dummy__
    63  var _ m_Power.Dummy__
    64  var _ m_Logarithm.Dummy__
    65  var _ m_StandardLibraryInterop.Dummy__
    66  var _ m_StandardLibrary_UInt.Dummy__
    67  var _ m_StandardLibrary_Sequence.Dummy__
    68  
    69  type Dummy__ struct{}
    70  
    71  // Definition of class Default__
    72  type Default__ struct {
    73  	dummy byte
    74  }
    75  
    76  func New_Default___() *Default__ {
    77  	_this := Default__{}
    78  
    79  	return &_this
    80  }
    81  
    82  type CompanionStruct_Default___ struct {
    83  }
    84  
    85  var Companion_Default___ = CompanionStruct_Default___{}
    86  
    87  func (_this *Default__) Equals(other *Default__) bool {
    88  	return _this == other
    89  }
    90  
    91  func (_this *Default__) EqualsGeneric(x interface{}) bool {
    92  	other, ok := x.(*Default__)
    93  	return ok && _this.Equals(other)
    94  }
    95  
    96  func (*Default__) String() string {
    97  	return "StandardLibrary_String.Default__"
    98  }
    99  func (_this *Default__) ParentTraits_() []*_dafny.TraitID {
   100  	return [](*_dafny.TraitID){}
   101  }
   102  
   103  var _ _dafny.TraitOffspring = &Default__{}
   104  
   105  func (_static *CompanionStruct_Default___) Int2Digits(n _dafny.Int, base _dafny.Int) _dafny.Sequence {
   106  	var _0___accumulator _dafny.Sequence = _dafny.SeqOf()
   107  	_ = _0___accumulator
   108  	goto TAIL_CALL_START
   109  TAIL_CALL_START:
   110  	if (n).Sign() == 0 {
   111  		return _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOf(), _0___accumulator)
   112  	} else {
   113  		_0___accumulator = _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOf((n).Modulo(base)), _0___accumulator)
   114  		var _in0 _dafny.Int = (n).DivBy(base)
   115  		_ = _in0
   116  		var _in1 _dafny.Int = base
   117  		_ = _in1
   118  		n = _in0
   119  		base = _in1
   120  		goto TAIL_CALL_START
   121  	}
   122  }
   123  func (_static *CompanionStruct_Default___) Digits2String(digits _dafny.Sequence, chars _dafny.Sequence) _dafny.Sequence {
   124  	var _0___accumulator _dafny.Sequence = _dafny.SeqOfChars()
   125  	_ = _0___accumulator
   126  	goto TAIL_CALL_START
   127  TAIL_CALL_START:
   128  	if _dafny.Companion_Sequence_.Equal(digits, _dafny.SeqOf()) {
   129  		return _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOfString(""))
   130  	} else {
   131  		_0___accumulator = _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOfChars((chars).Select(((digits).Select(0).(_dafny.Int)).Uint32()).(_dafny.Char)))
   132  		var _in0 _dafny.Sequence = (digits).Drop(1)
   133  		_ = _in0
   134  		var _in1 _dafny.Sequence = chars
   135  		_ = _in1
   136  		digits = _in0
   137  		chars = _in1
   138  		goto TAIL_CALL_START
   139  	}
   140  }
   141  func (_static *CompanionStruct_Default___) Int2String(n _dafny.Int, chars _dafny.Sequence) _dafny.Sequence {
   142  	var _0_base _dafny.Int = _dafny.IntOfUint32((chars).Cardinality())
   143  	_ = _0_base
   144  	if (n).Sign() == 0 {
   145  		return _dafny.SeqOfString("0")
   146  	} else if (n).Sign() == 1 {
   147  		return Companion_Default___.Digits2String(Companion_Default___.Int2Digits(n, _0_base), chars)
   148  	} else {
   149  		return _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("-"), Companion_Default___.Digits2String(Companion_Default___.Int2Digits((_dafny.Zero).Minus(n), _0_base), chars))
   150  	}
   151  }
   152  func (_static *CompanionStruct_Default___) Base10Int2String(n _dafny.Int) _dafny.Sequence {
   153  	return Companion_Default___.Int2String(n, Companion_Default___.Base10())
   154  }
   155  func (_static *CompanionStruct_Default___) HasSubString(haystack _dafny.Sequence, needle _dafny.Sequence) m_Wrappers.Option {
   156  	var o m_Wrappers.Option = m_Wrappers.Companion_Option_.Default()
   157  	_ = o
   158  	if (_dafny.IntOfUint32((haystack).Cardinality())).Cmp(_dafny.IntOfUint32((needle).Cardinality())) < 0 {
   159  		o = m_Wrappers.Companion_Option_.Create_None_()
   160  		return o
   161  	}
   162  	if !((_dafny.IntOfUint32((haystack).Cardinality())).Cmp((m_StandardLibrary_UInt.Companion_Default___.UINT64__MAX__LIMIT()).Minus(_dafny.One)) <= 0) {
   163  		panic("src/String.dfy(75,4): " + (_dafny.SeqOfString("expectation violation")).String())
   164  	}
   165  	var _0_size uint64
   166  	_ = _0_size
   167  	_0_size = uint64((needle).Cardinality())
   168  	var _1_limit uint64
   169  	_ = _1_limit
   170  	_1_limit = ((uint64((haystack).Cardinality())) - (func() uint64 { return (_0_size) })()) + (uint64(1))
   171  	var _hi0 uint64 = _1_limit
   172  	_ = _hi0
   173  	for _2_index := uint64(0); _2_index < _hi0; _2_index++ {
   174  		if m_StandardLibrary_Sequence.Companion_Default___.SequenceEqual(haystack, needle, _2_index, uint64(0), _0_size) {
   175  			o = m_Wrappers.Companion_Option_.Create_Some_(_dafny.IntOfUint64(_2_index))
   176  			return o
   177  		}
   178  	}
   179  	o = m_Wrappers.Companion_Option_.Create_None_()
   180  	return o
   181  	return o
   182  }
   183  func (_static *CompanionStruct_Default___) Base10() _dafny.Sequence {
   184  	return _dafny.SeqOfChars(_dafny.Char('0'), _dafny.Char('1'), _dafny.Char('2'), _dafny.Char('3'), _dafny.Char('4'), _dafny.Char('5'), _dafny.Char('6'), _dafny.Char('7'), _dafny.Char('8'), _dafny.Char('9'))
   185  }
   186  
   187  // End of class Default__