Skip to content
This repository has been archived by the owner on Jul 12, 2022. It is now read-only.

Latest commit

 

History

History
28 lines (19 loc) · 917 Bytes

README.md

File metadata and controls

28 lines (19 loc) · 917 Bytes

WARNING: This reposity is no longer maintained. If you are interested in how this works, please checkout the link below.

Implement the SuperMemo 2 algorithm.

Check this post for detail: https://www.supermemo.com/english/ol/sm2.htm

Usage

import supermemo2 from 'supermemo2'

let quality // A number between 0 and 5 that indicate the quality of review. 0 is the worse while 5 is the best.
let lastSchedule // The duration of last review space.
let lastFactor // The factor that was used to caculate last schedule.
let ret = supermemo2(quality, lastSchedule, lastFactor)

The output will be:

{
    schedule: Number, // The next review space.
    factor: Number, // The factor that should be use in the next round of caculation.
    isRepeatAgain: Boolean // If is true, should review the item again until the quality is not less than 4.
}