Geometry

Reputation Top 1%

Geometry

1074 Snippets
(2nd place)

Published

4 Channels

Created

1 Channel

Following

84169 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
*2240*
*4*
*4*
*1*

### 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
*2028*
*2*
*4*
*1*

### 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
*1787*
*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
*1521*
*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
*1310*
*1*
*5*
*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; }