A reference implementation of a list ordering system like JIRA's Lexorank algorithm.
Install-Package LexoRank
using LexoAlgorithm;
// min
const minLexoRank = LexoRank.Min();
// max
const maxLexoRank = LexoRank.Max();
// middle
const maxLexoRank = LexoRank.Middle();
// parse
const parsedLexoRank = LexoRank.Parse('0|0i0000:');
using LexoAlgorithm;
// any lexoRank
const lexoRank = LexoRank.Middle();
// generate next lexorank
const nextLexoRank = lexoRank.GenNext();
// generate previous lexorank
const prevLexoRank = lexoRank.GenPrev();
// ToString
const lexoRankStr = lexoRank.ToString();
LexRank calculation based on existing LexoRanks.
using LexoAlgorithm;
// any lexorank
const any1LexoRank = LexoRank.Min();
// another lexorank
const any2LexoRank = any1LexoRank.GenNext().GenNext();
// calculate between
const betweenLexoRank = any1LexoRank.Between(any2LexoRank);
MIT
I have not found information about the license of the algorithm LexoRank. If the rights are violated, please contact me to correct the current license.