Math-ReedSolomon-Encoder

 view release on metacpan or  search on metacpan

lib/Math/ReedSolomon/Encoder.pm  view on Meta::CPAN

#
# Public Interface

sub rs_correction ($msg, $nsym) {
   my $g = _rs_generator_poly($nsym);
   my ($quot, $rem) = _gf256_poly_div([$msg->@*, (0) x $nsym ], $g);
   return $rem;
}

sub rs_correction_string ($msg, $nsym) {
   my $aref = [ map { ord($_) } split m{}mxs, $msg ];
   return join '', map { chr($_) } rs_correction($aref, $nsym)->@*;
}

sub rs_encode ($msg, $nsym) {
   return [ $msg->@*, rs_correction($msg, $nsym)->@* ];
}

sub rs_encode_string ($msg, $nsym) {
   return $msg . rs_correction_string($msg, $nsym);
}



( run in 0.693 second using v1.01-cache-2.11-cpan-71847e10f99 )