function samples(array, m) {
if (!((m = Math.floor(m)) > 0)) return [];
const n = array.length;
if (!(n > m)) return [...array];
if (m === 1) return [array[n >> 1]];
return Array.from({length: m}, (_, i) => array[Math.round(i / (m - 1) * (n - 1))]);
}