<?php
$grades = array(
"PK",
"K",
"01",
"02",
"03",
"04",
"05",
"06",
"07",
"08",
"09",
"10",
"11",
"12"
);
function normalizeLexileScore($ability, $grade_level = null, $cast = false) {
if( $grade_level == null ) {
return $ability;
}
if ($cast) {
$grade_level = (int)$grade_level;
}
$grade_level = max(min($grade_level, 9), 2);
$gli_cap = array(NULL, NULL, 975, 1070, 1165, 1250, 1300, 1370, 1420, 1500);
$normalized = @min($ability, @$gli_cap[$grade_level]);
return $normalized;
}
foreach ($grades as $grade) {
$minBad = normalizeLexileScore(0, $grade, false);
$maxBad = normalizeLexileScore(2000, $grade, false);
$minGood = normalizeLexileScore(0, $grade, true);
$maxGood = normalizeLexileScore(2000, $grade, true);
printf("Grade %2s: Bad: %d < %d, Good: %d < %d\n", $grade, $minBad, $maxBad, $minGood, $maxGood);
}
- Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
- Grade PK: Bad: 0 < 1500, Good: 0 < 975
Grade K: Bad: 0 < 1500, Good: 0 < 975
Grade 01: Bad: 0 < 975, Good: 0 < 975
Grade 02: Bad: 0 < 0, Good: 0 < 975
Grade 03: Bad: 0 < 0, Good: 0 < 1070
Grade 04: Bad: 0 < 0, Good: 0 < 1165
Grade 05: Bad: 0 < 0, Good: 0 < 1250
Grade 06: Bad: 0 < 0, Good: 0 < 1300
Grade 07: Bad: 0 < 0, Good: 0 < 1370
Grade 08: Bad: 0 < 0, Good: 0 < 1420
Grade 09: Bad: 0 < 0, Good: 0 < 1500
Grade 10: Bad: 0 < 1500, Good: 0 < 1500
Grade 11: Bad: 0 < 1500, Good: 0 < 1500
Grade 12: Bad: 0 < 1500, Good: 0 < 1500
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.7 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33
- Grade PK: Bad: 0 < 975, Good: 0 < 975
Grade K: Bad: 0 < 975, Good: 0 < 975
Grade 01: Bad: 0 < 975, Good: 0 < 975
Grade 02: Bad: 0 < 0, Good: 0 < 975
Grade 03: Bad: 0 < 0, Good: 0 < 1070
Grade 04: Bad: 0 < 0, Good: 0 < 1165
Grade 05: Bad: 0 < 0, Good: 0 < 1250
Grade 06: Bad: 0 < 0, Good: 0 < 1300
Grade 07: Bad: 0 < 0, Good: 0 < 1370
Grade 08: Bad: 0 < 0, Good: 0 < 1420
Grade 09: Bad: 0 < 0, Good: 0 < 1500
Grade 10: Bad: 0 < 1500, Good: 0 < 1500
Grade 11: Bad: 0 < 1500, Good: 0 < 1500
Grade 12: Bad: 0 < 1500, Good: 0 < 1500
preferences:
240.84 ms | 405 KiB | 309 Q