The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Number::Closest::XS - find numbers closest to a given

VERSION

0.01

SYNOPSIS

    use Number::Closest::XS qw(:all);
    my $res = find_closest_numbers($num, \@list, $amount);
    my $res2 = find_closest_numbers_around($num, \@list, $amount);

DESCRIPTION

Module provides functions to extract from the list numbers closest to the given.

SUBROUTINES

find_closest_numbers($num, \@list, [$amount])

selects from the @list up to $amount numbers closest to the $num. If $amount is not specified, is assumed to be 1. Returns reference to the array containing found numbers sorted by the distance from the $num. Distance between $num and $x computed as abs($num - $x).

find_closest_numbers_around($num, \@list, [$amount])

selects from the @list up to $amount numbers closest to the $num. Tries to select equal amounts of numbers from both sides of the $num, but if there are not enough numbers from one side will select more numbers from the other. If $amount is odd, then the last number will be closest to $num, e.g. if $num is 5, @list is 1, 2, 6, 7, and amount is 3 it will return 2, 6, and 7, because 7 is closer to 5 than 1. If $amount is not specified, is assumed to be 2. Returns reference to the array containing closest numbers sorted by their values.

SEE ALSO

Number::Closest, Number::Closest::NonOO

AUTHOR

Pavel Shaydo <zwon at cpan.org>

LICENSE AND COPYRIGHT

Copyright (C) 2014 Pavel Shaydo

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.