/// <summary>
        /// Constructor - takes in the min and max values for the domain segment
        /// </summary>
        /// <param name="random">The random number generator implementation</param>
        /// <param name="min">The minimum value for the segment</param>
        /// <param name="max">The maximum value for the segment</param>
        /// <param name="increment">The "increment" of the range, e.g. min: 2, max: 9, step: 2, return 2, 4, 6, 8</param>
        public RangeDomainSegment(IRandom800_90 random, int min, int max, int increment = 1)
        {
            if (min >= max)
            {
                throw new ArgumentException($"{nameof(min)} must be less than {nameof(max)}");
            }
            if (increment < 1)
            {
                throw new ArgumentException($"{nameof(increment)} must be 1 or greater.");
            }
            if (max - min < increment)
            {
                throw new ArgumentException($"{nameof(increment)} cannot exceed the difference between {nameof(min)} and {nameof(max)}");
            }
            if ((max - min) % increment != 0)
            {
                throw new ArgumentException($"{nameof(min)} - {nameof(max)} mod {nameof(increment)} must be 0.");
            }

            _min = min;
            _max = max;

            _increment = increment;
            _random    = random;

            _originalMinMax = new RangeMinMax()
            {
                Minimum   = _min,
                Increment = _increment,
                Maximum   = _max
            };
        }
示例#2
0
 public FakeKts_BadZ(IRsaOaep kts, IRandom800_90 random)
 {
     _kts    = kts;
     _random = random;
 }
示例#3
0
 public FakeKtsFactory_BadZ(IKtsFactory ktsFactory, IRandom800_90 random)
 {
     _ktsFactory = ktsFactory;
     _random     = random;
 }
示例#4
0
 public EntropyProviderLeadingZeroesFactory(IRandom800_90 random)
 {
     _random = random;
 }
示例#5
0
 public EntropyProvider(IRandom800_90 random)
 {
     _random = random;
 }
示例#6
0
 public KdfMultiExpansionParameterVisitor(IEntropyProvider entropyProvider, IRandom800_90 random)
 {
     _entropyProvider = entropyProvider;
     _random          = random;
 }
示例#7
0
 public FakeKdfVisitor_BadDkm(IKdfVisitor kdfVisitor, IRandom800_90 random)
 {
     _kdfVisitor = kdfVisitor;
     _random     = random;
 }
 public EntropyProviderLeadingOnes(IRandom800_90 random, int minimumLeadingOnes) : base(random)
 {
     _minimumLeadingOnes = minimumLeadingOnes;
 }