From 439039010a40ff5593b2d13483478880d2cafe32 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Fri, 7 Apr 2023 10:06:21 -0600 Subject: [PATCH] impl sm2next --- sm2.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 sm2.go diff --git a/sm2.go b/sm2.go new file mode 100644 index 0000000..05fd1cf --- /dev/null +++ b/sm2.go @@ -0,0 +1,30 @@ +package main + +func SM2Next(thisGrade int, consecutivePassesBeforeThis int, ef float64, lastInterval int) (int, float64, int) { + q := thisGrade + n := consecutivePassesBeforeThis + ef = ef + i := lastInterval + + if q >= 3 { + switch n { + case 0: + i = 1 + case 1: + i = 6 + default: + i = int(float64(i) * ef) + } + n += 1 + } else { + n = 0 + i = 1 + } + + ef = ef + (.1 - (5.0-float64(q))*(.08+(5.0-float64(q))*.02)) + if ef < 1.3 { + ef = 1.3 + } + + return n, ef, i +}