our
$VERSION
= 0.007_000;
package
unsigned_integer;
package
constant_unsigned_integer;
package
boolean;
package
integer;
package
number;
package
character;
package
string;
our
@EXPORT
=
qw(unsigned_integer_CHECK unsigned_integer_CHECKTRACE unsigned_integer_to_boolean unsigned_integer_to_integer unsigned_integer_to_number unsigned_integer_to_character unsigned_integer_to_string)
;
our
@EXPORT_OK
=
qw(unsigned_integer_typetest0 unsigned_integer_typetest1)
;
sub
unsigned_integer_CHECK {
{
my
void
$RETURN_TYPE
};
(
my
$possible_unsigned_integer
) =
@ARG
;
if
( not(
defined
$possible_unsigned_integer
) ) {
die
(
"\nERROR EIV00, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\nunsigned_integer value expected but undefined/null value found,\ndying\n"
);
}
if
( not( main::RPerl_SvUIOKp(
$possible_unsigned_integer
) ) ) {
dying(
"\nERROR EIV01, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\nunsigned_integer value expected but non-unsigned_integer value found,\ndying\n"
);
}
return
;
}
sub
unsigned_integer_CHECKTRACE {
{
my
void
$RETURN_TYPE
};
(
my
$possible_unsigned_integer
,
my
$variable_name
,
my
$subroutine_name
) =
@ARG
;
if
( not(
defined
$possible_unsigned_integer
) ) {
dying(
"\nERROR EIV00, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\nunsigned_integer value expected but undefined/null value found,\nin variable $variable_name from subroutine $subroutine_name,\ndying\n"
);
}
if
( not( main::RPerl_SvUIOKp(
$possible_unsigned_integer
) ) ) {
dying(
"\nERROR EIV01, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\nunsigned_integer value expected but non-unsigned_integer value found,\nin variable $variable_name from subroutine $subroutine_name,\ndying\n"
);
}
return
;
}
sub
unsigned_integer_to_boolean {
{
my
boolean
$RETURN_TYPE
};
(
my
unsigned_integer
$input_unsigned_integer
) =
@ARG
;
unsigned_integer_CHECKTRACE(
$input_unsigned_integer
,
'$input_unsigned_integer'
,
'unsigned_integer_to_boolean()'
);
if
(
$input_unsigned_integer
== 0 ) {
return
0; }
else
{
return
1; }
return
;
}
sub
unsigned_integer_to_integer {
{
my
integer
$RETURN_TYPE
};
(
my
unsigned_integer
$input_unsigned_integer
) =
@ARG
;
unsigned_integer_CHECKTRACE(
$input_unsigned_integer
,
'$input_unsigned_integer'
,
'unsigned_integer_to_integer()'
);
return
$input_unsigned_integer
;
}
sub
unsigned_integer_to_number {
{
my
number
$RETURN_TYPE
};
(
my
unsigned_integer
$input_unsigned_integer
) =
@ARG
;
unsigned_integer_CHECKTRACE(
$input_unsigned_integer
,
'$input_unsigned_integer'
,
'unsigned_integer_to_number()'
);
return
$input_unsigned_integer
* 1.0;
}
sub
unsigned_integer_to_character {
{
my
character
$RETURN_TYPE
};
(
my
unsigned_integer
$input_unsigned_integer
) =
@ARG
;
unsigned_integer_CHECKTRACE(
$input_unsigned_integer
,
'$input_unsigned_integer'
,
'unsigned_integer_to_character()'
);
my
string
$tmp_string
= unsigned_integer_to_string(
$input_unsigned_integer
);
if
(
$tmp_string
eq
q{}
) {
return
q{}
; }
else
{
return
substr
$tmp_string
, 0, 1; }
return
;
}
sub
unsigned_integer_to_string {
{
my
string
$RETURN_TYPE
};
(
my
unsigned_integer
$input_unsigned_integer
) =
@ARG
;
unsigned_integer_CHECKTRACE(
$input_unsigned_integer
,
'$input_unsigned_integer'
,
'unsigned_integer_to_string()'
);
my
string
$retval
=
reverse
"$input_unsigned_integer"
;
$retval
=~ s/(\d{3})/$1_/gxms;
if
( (
substr
$retval
, -1, 1 ) eq
'_'
) {
chop
$retval
; }
$retval
=
reverse
$retval
;
return
$retval
;
}
sub
unsigned_integer_typetest0 {
{
my
unsigned_integer
$RETURN_TYPE
};
my
unsigned_integer
$retval
= ( 21 / 7 ) + main::RPerl__DataType__UnsignedInteger__MODE_ID();
return
(
$retval
);
}
sub
unsigned_integer_typetest1 {
{
my
unsigned_integer
$RETURN_TYPE
};
(
my
unsigned_integer
$lucky_unsigned_integer
) =
@ARG
;
unsigned_integer_CHECKTRACE(
$lucky_unsigned_integer
,
'$lucky_unsigned_integer'
,
'unsigned_integer_typetest1()'
);
return
( (
$lucky_unsigned_integer
* 2 ) + main::RPerl__DataType__UnsignedInteger__MODE_ID() );
}
1;