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 1.111 second using v1.01-cache-2.11-cpan-71847e10f99 )