PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` package Specio::Library::Numeric; use strict; use warnings; our $VERSION = '0.48'; use parent 'Specio::Exporter'; use Specio::Declare; use Specio::Library::Builtins; declare( 'PositiveNum', parent => t('Num'), inline => sub { return sprintf( <<'EOF', $_[0]->parent->inline_check( $_[1] ), $_[1] ); ( %s && %s > 0 ) EOF }, ); declare( 'PositiveOrZeroNum', parent => t('Num'), inline => sub { return sprintf( <<'EOF', $_[0]->parent->inline_check( $_[1] ), $_[1] ); ( %s && %s >= 0 ) EOF }, ); declare( 'PositiveInt', parent => t('Int'), inline => sub { return sprintf( <<'EOF', $_[0]->parent->inline_check( $_[1] ), $_[1] ); ( %s && %s > 0 ) EOF }, ); declare( 'PositiveOrZeroInt', parent => t('Int'), inline => sub { return sprintf( <<'EOF', $_[0]->parent->inline_check( $_[1] ), $_[1] ); ( %s && %s >= 0 ) EOF }, ); declare( 'NegativeNum', parent => t('Num'), inline => sub { return sprintf( <<'EOF', $_[0]->parent->inline_check( $_[1] ), $_[1] ); ( %s && %s < 0 ) EOF }, ); declare( 'NegativeOrZeroNum', parent => t('Num'), inline => sub { return sprintf( <<'EOF', $_[0]->parent->inline_check( $_[1] ), $_[1] ); ( %s && %s <= 0 ) EOF }, ); declare( 'NegativeInt', parent => t('Int'), inline => sub { return sprintf( <<'EOF', $_[0]->parent->inline_check( $_[1] ), $_[1] ); ( %s && %s < 0 ) EOF }, ); declare( 'NegativeOrZeroInt', parent => t('Int'), inline => sub { return sprintf( <<'EOF', $_[0]->parent->inline_check( $_[1] ), $_[1] ); ( %s && %s <= 0 ) EOF }, ); declare( 'SingleDigit', parent => t('Int'), inline => sub { return sprintf( <<'EOF', $_[0]->parent->inline_check( $_[1] ), ( $_[1] ) x 2 ); ( %s && %s >= -9 && %s <= 9 ) EOF }, ); 1; # ABSTRACT: Implements type constraint objects for some common numeric types __END__ =pod =encoding UTF-8 =head1 NAME Specio::Library::Numeric - Implements type constraint objects for some common numeric types =head1 VERSION version 0.48 =head1 DESCRIPTION This library provides some additional string numeric for common cases. =head2 PositiveNum =head2 PositiveOrZeroNum =head2 PositiveInt =head2 PositiveOrZeroInt =head2 NegativeNum =head2 NegativeOrZeroNum =head2 NegativeInt =head2 NegativeOrZeroInt =head2 SingleDigit A single digit from -9 to 9. =head1 SUPPORT Bugs may be submitted at L. =head1 SOURCE The source code repository for Specio can be found at L. =head1 AUTHOR Dave Rolsky =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2012 - 2022 by Dave Rolsky. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) The full text of the license can be found in the F file included with this distribution. =cut