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) {
|
||||
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();
|
||||
@ -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