Geometry
Geometry
Reputation Top 1%
Geometry
1074 Snippets  (2nd place)
Published
4 Channels
Created
1 Channel
Following
Jan 19, 2017
Last Visit
Jul 28, 2016
Registered
81942 points  (2nd place)
Reputation
Top 1% Publisher
Junior Code Generator
Serious Code Generator
Senior Code Generator
Master Code Generator
Guru Code Generator
Junior Publisher
Guru Publisher
Junior Topic Creator
Junior Topic Hub
Serious Topic Hub
Junior Trend Maker
Master Trend Maker
Guru Trend Maker
Guru Popular Coder
Junior Autobiographer
Serious Autobiographer
Guru Famous Coder
Guru Wise Coder

Recent Snippets See all snippets by Geometry

public by Geometry created Sep 26, 2016  1734  2  4  0

Random: Returns a random symbol within the given symbol probabilities.

Returns a random symbol within the given symbol probabilities. The probabilities for the discrete symbols. A random symbol within the given probabilities.
/// <summary>
///   Returns a random symbol within the given symbol probabilities.
/// </summary>
/// 
/// <param name="probabilities">The probabilities for the discrete symbols.</param>
/// 
/// <returns>A random symbol within the given probabilities.</returns>
/// 
public static int Random(double[] probabilities)
{
    double uniform = Accord.Math.Random.Generator.Random.NextDouble();

    double cumulativeSum = 0;

    // Use the probabilities to partition the [0,1] interval 
    //  and check inside which range the values fall into.

    for (int i = 0; i < probabilities.Length; i++)
    {
        cumulativeSum += probabilities[i];

        if (uniform < cumulativeSum)
            return i;
    }

    throw new InvalidOperationException("Generated value is not between 0 and 1.");
}
;

public by Geometry created Sep 26, 2016  1561  2  4  0

Uniform: Constructs a new uniform discrete distribution.

Constructs a new uniform discrete distribution. The integer value where the distribution starts, also known as a. Default value is 0. The integer value where the distribution ends, also known as b.
/// <summary>
///   Constructs a new uniform discrete distribution.
/// </summary>
/// 
/// <param name="a">
///   The integer value where the distribution starts, also
///   known as <c>a</c>. Default value is 0.</param>
/// <param name="b">
///   The integer value where the distribution ends, also 
///   known as <c>b</c>.</param>
///   
public static GeneralDiscreteDistribution Uniform(int a, int b)
{
    if (a > b)
    {
        throw new ArgumentOutOfRangeException("b",
            "The starting number a must be lower than b.");
    }

    return new GeneralDiscreteDistribution(a, b - a + 1);
}
;

public by Geometry created Sep 26, 2016  1398  2  4  0

WMinimum: Computes the Wilcoxon's W statistic.

Computes the Wilcoxon's W statistic. The W statistic is computed as the minimum of the W+ and W- statistics.
/// <summary>
///   Computes the Wilcoxon's W statistic.
/// </summary>
/// 
/// <remarks>
///   The W statistic is computed as the
///   minimum of the W+ and W- statistics.
/// </remarks>
/// 
public static double WMinimum(int[] signs, double[] ranks)
{
    double wp = 0, wn = 0;
    for (int i = 0; i < signs.Length; i++)
    {
        if (signs[i] < 0)
            wn += ranks[i];

        else if (signs[i] > 0)
            wp += ranks[i];
    }

    double min = Math.Min(wp, wn);

    return min;
}
;

public by Geometry created Sep 26, 2016  1123  8  4  0

WNegative: Computes the Wilcoxon's W- statistic.

Computes the Wilcoxon's W- statistic. The W- statistic is computed as the sum of all negative signed ranks.
/// <summary>
///   Computes the Wilcoxon's W- statistic.
/// </summary>
/// 
/// <remarks>
///   The W- statistic is computed as the
///   sum of all negative signed ranks.
/// </remarks>
/// 
public static double WNegative(int[] signs, double[] ranks)
{
    double sum = 0;
    for (int i = 0; i < signs.Length; i++)
        if (signs[i] < 0)
            sum += ranks[i];
    return sum;
}
;

public by Geometry created Sep 26, 2016  915  1  4  0

WPositive: Computes the Wilcoxon's W+ statistic.

Computes the Wilcoxon's W+ statistic. The W+ statistic is computed as the sum of all positive signed ranks.
/// <summary>
///   Computes the Wilcoxon's W+ statistic.
/// </summary>
/// 
/// <remarks>
///   The W+ statistic is computed as the
///   sum of all positive signed ranks.
/// </remarks>
/// 
public static double WPositive(int[] signs, double[] ranks)
{
    double sum = 0;
    for (int i = 0; i < signs.Length; i++)
        if (signs[i] > 0)
            sum += ranks[i];

    return sum;
}
;