encode($reversedData, $ecCodewords); echo "EC codewords (from reversed data): " . implode(', ', $ec) . "\n\n"; // Reverse EC codewords back $ecReversed = array_reverse($ec); echo "EC codewords (reversed back): " . implode(', ', $ecReversed) . "\n\n"; // Test with decoder - need to reverse everything require_once __DIR__ . '/test-reed-solomon-decoder.php'; // For decoder, we also need to reverse $decoder = new SimpleRSDecoder(); $fullCodeword = array_merge($data, $ecReversed); $fullReversed = array_reverse($fullCodeword); $syndromes = $decoder->calculateSyndromes($fullReversed, $ecCodewords); echo "Syndromes (with reversed codeword): " . implode(', ', $syndromes) . "\n"; $allZero = true; foreach ($syndromes as $s) { if ($s !== 0) { $allZero = false; break; } } if ($allZero) { echo "\n✅ ALL SYNDROMES ARE ZERO!\n"; echo "\nThis means we need to reverse codewords for RS encoding!\n"; } else { echo "\n❌ Still wrong\n"; }