/// <summary> /// </summary> /// <param name="pair"></param> /// <param name="mode"></param> /// <exception cref="InvalidEnumArgumentException"></exception> public Curl(bool pair, CurlMode mode) { switch (mode) { case CurlMode.CurlP27: _numberOfRounds = NumberOfRoundsP27; break; case CurlMode.CurlP81: _numberOfRounds = NumberOfRoundsP81; break; default: throw new InvalidEnumArgumentException("Only Curl-P-27 and Curl-P-81 are supported."); } if (pair) { _stateHigh = new long[StateLength]; _stateLow = new long[StateLength]; State = null; Set(); } else { State = new int[StateLength]; _stateHigh = null; _stateLow = null; } }
/// <inheritdoc /> public HammingNonceDiver(CurlMode mode, Mode scratchMode) : base(mode) { this.ScratchMode = scratchMode; }
/// <inheritdoc /> public HammingNonceDiver(CurlMode mode) : base(mode) { }
/// <summary> /// Initializes a new instance of the <see cref="AbstractPearlDiver"/> class. /// </summary> /// <param name="mode"> /// The mode. /// </param> protected AbstractPearlDiver(CurlMode mode) { this.Rounds = (int)mode; }
/// <summary> /// Initializes a new instance of the <see cref="Curl"/> class. /// </summary> /// <param name="mode"> /// The mode. /// </param> public Curl(CurlMode mode) { this.Reset(); this.NumberOfRounds = (int)mode; }