Skip to content

Commit

Permalink
- Extended the Range primes method to support descending ranges.
Browse files Browse the repository at this point in the history
Example:
	say primes(100 ^.. 50)		# primes in the range [50, 100) in reverse order
  • Loading branch information
trizen committed Aug 15, 2019
1 parent 3c534da commit 5eff247
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions lib/Sidef/Types/Range/RangeNumber.pm
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ package Sidef::Types::Range::RangeNumber {
sub bsearch {
my ($self, $block) = @_;

if ($self->{step}->abs->is_one) {
if ($self->{step}->is_one) {
my $left = Sidef::Types::Number::Number->new($self->{from});
my $right = Sidef::Types::Number::Number->new($self->{to});
return Sidef::Types::Number::Number::bsearch($left, $right, $block);
Expand All @@ -219,7 +219,7 @@ package Sidef::Types::Range::RangeNumber {
sub bsearch_le {
my ($self, $block) = @_;

if ($self->{step}->abs->is_one) {
if ($self->{step}->is_one) {
my $left = Sidef::Types::Number::Number->new($self->{from});
my $right = Sidef::Types::Number::Number->new($self->{to});
return Sidef::Types::Number::Number::bsearch_le($left, $right, $block);
Expand All @@ -231,7 +231,7 @@ package Sidef::Types::Range::RangeNumber {
sub bsearch_ge {
my ($self, $block) = @_;

if ($self->{step}->abs->is_one) {
if ($self->{step}->is_one) {
my $left = Sidef::Types::Number::Number->new($self->{from});
my $right = Sidef::Types::Number::Number->new($self->{to});
return Sidef::Types::Number::Number::bsearch_ge($left, $right, $block);
Expand All @@ -244,8 +244,14 @@ package Sidef::Types::Range::RangeNumber {
my ($self) = @_;

if ($self->{step}->abs->is_one) {

my $left = Sidef::Types::Number::Number->new($self->{from});
my $right = Sidef::Types::Number::Number->new($self->{to});

if ($self->{step}->is_neg) {
return Sidef::Types::Number::Number::primes($right, $left)->flip;
}

return Sidef::Types::Number::Number::primes($left, $right);
}

Expand Down

0 comments on commit 5eff247

Please sign in to comment.