The following C# formula calculates the Allred score, which is often used in PR slide analysis.
// Allred Scoring Formula
//
// Inputs:
// x[0] - Percentage [0..100]
// x[1] - Intensity [0|1|2|3]
//
// Output:
// score [0|2|3|4|5|6|7|8]
int score = -1;
if (x[0] == 0)
score = 0;
else if (x[0] > 0.0 && x[0] <= 1.0)
{
if (x[1] == 0)
score = 0;
else if (x[1] == 1)
score = 2;
else if (x[1] == 2)
score = 3;
else if (x[1] == 3)
score = 4;
}
else if (x[0] > 1.0 && x[0] <= 10.0)
{
if (x[1] == 0)
score = 0;
else if (x[1] == 1)
score = 3;
else if (x[1] == 2)
score = 4;
else if (x[1] == 3)
score = 5;
}
else if (x[0] > 10.0 && x[0] <= 33.0)
{
if (x[1] == 0)
score = 0;
else if (x[1] == 1)
score = 4;
else if (x[1] == 2)
score = 5;
else if (x[1] == 3)
score = 6;
}
else if (x[0] > 33.0 && x[0] <= 66.0)
{
if (x[1] == 0)
score = 0;
else if (x[1] == 1)
score = 5;
else if (x[1] == 2)
score = 6;
else if (x[1] == 3)
score = 7;
}
else if (x[0] > 66.0 && x[0] <= 100.0)
{
if (x[1] == 0)
score = 0;
else if (x[1] == 1)
score = 6;
else if (x[1] == 2)
score = 7;
else if (x[1] == 3)
score = 8;
}
if (score == -1)
throw new Exception("Incorrect input values range");
return score;