smallQuiltsData = smallQuilts.map((quilt) => {
const maxRowIndex = _.max(quilt.sequences.map((x) => x[0]));
const maxColIndex = _.max(quilt.sequences.map((x) => x[1]));
const pisanoPeriod = quilt.sequences[1].length;
return {
n: quilt.n,
numCycles: quilt.sequences.length,
pisanoPeriod,
pisanoPeriodNormed: pisanoPeriod / quilt.n,
numPeriodLengths: quilt.periods().length,
maxRowIndex,
maxRowIndexNormed: maxRowIndex / quilt.n,
maxColIndex,
maxColIndexNormed: maxColIndex / quilt.n,
hasLucas: quilt.sequences.some((x) => x[0] === 1 && x[1] === 3),
mod5: quilt.n % 5,
isPrime: smallPrimesSet.has(quilt.n),
isFibo: fiboSet.has(quilt.n)
};
})