mirror of
https://github.com/dyuri/garmin-repafield.git
synced 2025-12-16 19:24:01 +00:00
#5 linear GAP calculation outside example range
This commit is contained in:
parent
846e401313
commit
80faa77afb
@ -11,7 +11,9 @@ const GRADE_ADJUSTMENT as Array<Array<Numeric>> = [
|
|||||||
|
|
||||||
function adjustPaceForGrade(pace, grade) {
|
function adjustPaceForGrade(pace, grade) {
|
||||||
if (grade <= GRADE_ADJUSTMENT[0][0]) {
|
if (grade <= GRADE_ADJUSTMENT[0][0]) {
|
||||||
return pace / GRADE_ADJUSTMENT[0][1];
|
var slope = (GRADE_ADJUSTMENT[1][1] - GRADE_ADJUSTMENT[0][1]) / (GRADE_ADJUSTMENT[1][0] - GRADE_ADJUSTMENT[0][0]);
|
||||||
|
var adjustment = GRADE_ADJUSTMENT[0][1] + slope * (grade - GRADE_ADJUSTMENT[0][0]);
|
||||||
|
return pace / adjustment;
|
||||||
}
|
}
|
||||||
|
|
||||||
var size = GRADE_ADJUSTMENT.size();
|
var size = GRADE_ADJUSTMENT.size();
|
||||||
@ -27,5 +29,8 @@ function adjustPaceForGrade(pace, grade) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return pace / GRADE_ADJUSTMENT[size - 1][1];
|
var slope = (GRADE_ADJUSTMENT[size - 1][1] - GRADE_ADJUSTMENT[size - 2][1]) / (GRADE_ADJUSTMENT[size - 1][0] - GRADE_ADJUSTMENT[size - 2][0]);
|
||||||
|
var adjustment = GRADE_ADJUSTMENT[size - 1][1] + slope * (grade - GRADE_ADJUSTMENT[size - 1][0]);
|
||||||
|
|
||||||
|
return pace / adjustment;
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user