/// <summary>
        /// Creates a <see cref="BernoulliIntegerSubset"/> distribution which is the power of another.
        /// </summary>
        /// <param name="dist">The other distribution.</param>
        /// <param name="exponent">The exponent.</param>
        /// <returns>The resulting <see cref="BernoulliIntegerSubset"/> distribution.</returns>
        public static BernoulliIntegerSubset operator ^(BernoulliIntegerSubset dist, double exponent)
        {
            var result = BernoulliIntegerSubset.FromSize(dist.Dimension);

            result.SetToPower(dist, exponent);
            return(result);
        }
        /// <summary>
        /// Creates a <see cref="BernoulliIntegerSubset"/> distribution which is the product of two others.
        /// </summary>
        /// <param name="a">The first distribution.</param>
        /// <param name="b">The second distribution.</param>
        /// <returns>The resulting <see cref="BernoulliIntegerSubset"/> distribution.</returns>
        public static BernoulliIntegerSubset operator *(BernoulliIntegerSubset a, BernoulliIntegerSubset b)
        {
            var result = BernoulliIntegerSubset.FromSize(a.Dimension);

            result.SetToProduct(a, b);
            return(result);
        }
        /// <summary>
        /// Creates a <see cref="BernoulliIntegerSubset"/> distribution which is the ratio of two others.
        /// </summary>
        /// <param name="numerator">The numerator.</param>
        /// <param name="denominator">The denominator.</param>
        /// <returns>The resulting <see cref="BernoulliIntegerSubset"/> distribution.</returns>
        public static BernoulliIntegerSubset operator /(BernoulliIntegerSubset numerator, BernoulliIntegerSubset denominator)
        {
            var result = BernoulliIntegerSubset.FromSize(numerator.Dimension);

            result.SetToRatio(numerator, denominator);
            return(result);
        }
 /// <summary>
 /// Returns a new instance of the <see cref="BernoulliIntegerSubset"/> class
 /// with the specified number of elements all of which are set to uniform.
 /// </summary>
 /// <param name="size">The size of the list.</param>
 /// <returns>The new <see cref="BernoulliIntegerSubset"/> instance.</returns>
 public static BernoulliIntegerSubset FromSize(int size)
 {
     return(BernoulliIntegerSubset.FromSize(size, SparseBernoulliList.DefaultTolerance));
 }