Why not adopt me?
NAME
Number::Closest::XS - find numbers closest to a given
VERSION
This document describes Number::Closest::XS version 0.07_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>
THANKS
Thanks to Dana Jacobsen for reporting a bug with handling 64 bit integers and long doubles.
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.