NAME Math::Factor::XS - Factorize numbers and calculate matching multiplications SYNOPSIS use Math::Factor::XS ':all'; # or use Math::Factor::XS qw(factors matches); \$number = 30107; @factors = factors(\$number); @matches = matches(\$number, \@factors); print "\$factors[1]\n"; print "\$number == \$matches[0][0] * \$matches[0][1]\n"; DESCRIPTION `Math::Factor::XS' factorizes numbers by applying trial divisions. FUNCTIONS factors Factorizes numbers. @factors = factors(\$number); The number will be entirely factorized and its factors will be returned as a list. matches Calculates matching multiplications. @matches = matches(\$number, \@factors, { skip_multiples => [0|1] }); The factors will be multiplicated against each other and all combinations that equal the number itself will be returned as a two-dimensional list. The matches are accessible through the indexes; for example, the first two numbers that matched the number may be accessed by `\$matches[0][0]' and `\$matches[0][1]', the second pair by `\$matches[1][0]' and `\$matches[1][1]', and so on. The hashref provided at the end is optional. If `skip_multiples' is set to a true value, then matching multiplications that contain multiplicated small factors will be discarded. Example: 11 * 2737 == 30107 # accepted 77 * 391 == 30107 # discarded Direct use of `\$Math::Factor::XS::Skip_multiple' does no longer have an effect as it has been superseded by `skip_multiples'. EXPORT Functions `factors(), matches()' are exportable. Tags `:all - *()' AUTHOR Steven Schubiger LICENSE This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/