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

     1  // Package MulInternals
     2  // Dafny module MulInternals compiled into Go
     3  
     4  package MulInternals
     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_FileIO "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FileIO"
    11  	m_Functions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Functions"
    12  	m_GeneralInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GeneralInternals"
    13  	m__Math "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Math_"
    14  	m_MulInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternalsNonlinear"
    15  	m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations"
    16  	m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq"
    17  	m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort"
    18  	m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings"
    19  	m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_"
    20  	m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm"
    21  	m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm"
    22  	m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers"
    23  	m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_"
    24  	_dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny"
    25  )
    26  
    27  var _ = os.Args
    28  var _ _dafny.Dummy__
    29  var _ m__System.Dummy__
    30  var _ m_Wrappers.Dummy__
    31  var _ m_Relations.Dummy__
    32  var _ m_Seq_MergeSort.Dummy__
    33  var _ m__Math.Dummy__
    34  var _ m_Seq.Dummy__
    35  var _ m_BoundedInts.Dummy__
    36  var _ m__Unicode.Dummy__
    37  var _ m_Functions.Dummy__
    38  var _ m_Utf8EncodingForm.Dummy__
    39  var _ m_Utf16EncodingForm.Dummy__
    40  var _ m_UnicodeStrings.Dummy__
    41  var _ m_FileIO.Dummy__
    42  var _ m_GeneralInternals.Dummy__
    43  var _ m_MulInternalsNonlinear.Dummy__
    44  
    45  type Dummy__ struct{}
    46  
    47  // Definition of class Default__
    48  type Default__ struct {
    49  	dummy byte
    50  }
    51  
    52  func New_Default___() *Default__ {
    53  	_this := Default__{}
    54  
    55  	return &_this
    56  }
    57  
    58  type CompanionStruct_Default___ struct {
    59  }
    60  
    61  var Companion_Default___ = CompanionStruct_Default___{}
    62  
    63  func (_this *Default__) Equals(other *Default__) bool {
    64  	return _this == other
    65  }
    66  
    67  func (_this *Default__) EqualsGeneric(x interface{}) bool {
    68  	other, ok := x.(*Default__)
    69  	return ok && _this.Equals(other)
    70  }
    71  
    72  func (*Default__) String() string {
    73  	return "MulInternals.Default__"
    74  }
    75  func (_this *Default__) ParentTraits_() []*_dafny.TraitID {
    76  	return [](*_dafny.TraitID){}
    77  }
    78  
    79  var _ _dafny.TraitOffspring = &Default__{}
    80  
    81  func (_static *CompanionStruct_Default___) MulPos(x _dafny.Int, y _dafny.Int) _dafny.Int {
    82  	var _0___accumulator _dafny.Int = _dafny.Zero
    83  	_ = _0___accumulator
    84  	goto TAIL_CALL_START
    85  TAIL_CALL_START:
    86  	if (x).Sign() == 0 {
    87  		return (_dafny.Zero).Plus(_0___accumulator)
    88  	} else {
    89  		_0___accumulator = (_0___accumulator).Plus(y)
    90  		var _in0 _dafny.Int = (x).Minus(_dafny.One)
    91  		_ = _in0
    92  		var _in1 _dafny.Int = y
    93  		_ = _in1
    94  		x = _in0
    95  		y = _in1
    96  		goto TAIL_CALL_START
    97  	}
    98  }
    99  func (_static *CompanionStruct_Default___) MulRecursive(x _dafny.Int, y _dafny.Int) _dafny.Int {
   100  	if (x).Sign() != -1 {
   101  		return Companion_Default___.MulPos(x, y)
   102  	} else {
   103  		return (_dafny.IntOfInt64(-1)).Times(Companion_Default___.MulPos((_dafny.IntOfInt64(-1)).Times(x), y))
   104  	}
   105  }
   106  
   107  // End of class Default__