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

Warning: this is an alpha version. Behaviour is likely to change in the future.

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, but first tries to ensure that there are numbers from both sides of the $num, so if $num is 5, @list is 2, 6, 7 and amount is 2 it will return 2 and 6, despite 7 being closer to 5. If $amount is not specified, is assumed to be 2. 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).

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.