NAME
SPVM::CORE - SPVM core functions
DESCRIPTION
SPVM::CORE is SPVM core functions.
SYNOPSYS
# Cut a newline
{
my $ret = chompr("abc\n");
}
# Create a new float complex array
{
my $re_values = [1.5f, 2.5f, 3.5f];
my $im_values = [5.5f, 6.5f, 7.5f];
my $farray = complex_farray($re_values, $im_values);
}
# Create a new double complex array
{
my $re_values = [1.5, 2.5, 3.5];
my $im_values = [5.5, 6.5, 7.5];
my $farray = complex_darray($re_values, $im_values);
}
# Create a new float complex value
{
my $z = complexf(1.5f, 2.5f);
}
# Create a new double complex value
{
my $z = complexd(1.5f, 2.5f);
}
# Copy a byte array
{
my $nums = [(byte)1, 2, 3];
my $nums_copy = copy_barray($nums);
}
# Copy a string
{
my $str = "abc";
my $str_copy = copy_str($str);
}
# Copy a short array
{
my $nums = [(short)1, 2, 3];
my $nums_copy = copy_sarray($nums);
}
# Copy a int array
{
my $nums = [1, 2, 3];
my $nums_copy = copy_iarray($nums);
}
# Copy a long array
{
my $nums = [(long)1, 2, 3];
my $nums_copy = copy_larray($nums);
}
# Copy a float array
{
my $nums = [1.5f, 2.5f, 3.5f];
my $nums_copy = copy_farray($nums);
}
# Copy a double array
{
my $nums = [1.5, 2.5, 3.5];
my $nums_copy = copy_darray($nums);
}
CLASS METHODS
chompr
sub chompr : string ($string : string)
Copy the string and remove the newline "\n" from the end of string and return it.
complex_farray
sub complex_farray : SPVM::Complex_2f[] ($re_values : float[], $im_values : float[])
Create a new array of SPVM::Complex_2f with real values and imaginary values.
complex_darray
sub complex_darray : SPVM::Complex_2d[] ($re_values : double[], $im_values : double[])
Create a new array of SPVM::Complex_2d with real values and imaginary values.
complexf
sub complexf : SPVM::Complex_2f ($re : float, $im : float)
Return a new value of SPVM::Complex_2f.
complexd
sub complexd : SPVM::Complex_2d ($re : double, $im : double)
Return a new value of SPVM::Complex_2d.
copy_barray
sub copy_barray : byte[] ($nums : byte[])
Copy a byte array.
sub copy_str : string ($string : string)
Copy a string.
sub copy_sarray : short[] ($nums : short[])
Copy a short array.
sub copy_iarray : int[] ($nums : int[])
Copy a int array.
sub copy_larray : long[] ($nums : long[])
Copy a long array.
sub copy_farray : float[] ($nums : float[])
Copy a float array.
sub copy_darray : double[] ($nums : double[])
Copy a double array.
sub copy_strarray : string[] ($strings : string[])
Copy a string array.
equals_barray
sub equals_barray : int ($nums1 : byte[], $nums2 : byte[])
Check equality of two byte arrays.
$nums1 and $nums2 and $equality_checker must be defined, otherwise a exception occur.
If the length of $nums1 and $nums2 is same and all element is same, Return 1. If not, return 0.
equals_sarray
sub equals_sarray : int ($nums1 : short[], $nums2 : short[])
Check equality of two short arrays.
$nums1 and $nums2 and $equality_checker must be defined, otherwise a exception occur.
If the length of $nums1 and $nums2 is same and all element is same, Return 1. If not, return 0.
equals_iarray
sub equals_iarray : int ($nums1 : int[], $nums2 : int[])
Check equality of two int arrays.
$nums1 and $nums2 and $equality_checker must be defined, otherwise a exception occur.
If the length of $nums1 and $nums2 is same and all element is same, Return 1. If not, return 0.
equals_farray
sub equals_larray : int ($nums1 : long[], $nums2 : long[])
Check equality of two long arrays.
$nums1 and $nums2 and $equality_checker must be defined, otherwise a exception occur.
If the length of $nums1 and $nums2 is same and all element is same, Return 1. If not, return 0.
equals_darray
sub equals_farray : int ($nums1 : float[], $nums2 : float[])
Check equality of two float arrays.
$nums1 and $nums2 and $equality_checker must be defined, otherwise a exception occur.
If the length of $nums1 and $nums2 is same and all element is same, Return 1. If not, return 0.
equals_strarray
sub equals_darray : int ($nums1 : double[], $nums2 : double[])
Check equality of two double arrays.
$nums1 and $nums2 and $equality_checker must be defined, otherwise a exception occur.
If the length of $nums1 and $nums2 is same and all element is same, Return 1. If not, return 0.
equals_strarray
sub equals_strarray : int ($strings1 : string[], $strings2 : string[])
Check equality of two string arrays.
$nums1 and $nums2 and $equality_checker must be defined, otherwise a exception occur.
If the length of $nums1 and $nums2 is same and all element is same, Return 1. If not, return 0.
Print string to stdout.
sub print : void ($string : string);
warn
Print string with file name and line number to stderr. line break is added to end of string.
sub warn : void ($string : string);
INT8_MIN
sub INT8_MIN : byte ()
Wapper of INT8_MIN of C99 cstdint library.
INT8_MAX
INT8_MAX : byte ()
Wapper of INT8_MAX of C99 cstdint library.
INT16_MIN
sub INT16_MIN : short ()
Wapper of INT16_MIN of C99 cstdint library.
INT16_MAX
sub INT16_MAX : short ()
Wapper of INT16_MAX of C99 cstdint library.
INT32_MIN
sub INT32_MIN : int ()
Wapper of INT32_MIN of C99 cstdint library.
INT32_MAX
sub INT32_MAX : int ()
Wapper of INT32_MAX of C99 cstdint library.
INT64_MIN
sub INT64_MIN : long ()
Wapper of INT64_MIN of C99 cstdint library.
INT64_MAX
sub INT64_MAX : long ()
Wapper of INT64_MAX of C99 cstdint library.
FLT_MIN
sub FLT_MIN : float ()
Wapper of FLT_MIN of C99 float library.
FLT_MAX
sub FLT_MAX : float ()
Wapper of FLT_MAX of C99 float library.
DBL_MIN
sub DBL_MIN : double ()
Wapper of DBL_MIN of C99 float library.
DBL_MAX
sub DBL_MAX : double ()
Wapper of DBL_MAX of C99 float library.
copy_str
sub copy_str : string ($string : string)
my $string = "abced";
my $string_copy = copy_str($string);
Copy string.
copy_barray
sub copy_barray : byte[] ($nums : byte[])
my $nums = [(byte)1, 2, 3];
my $nums_copy = copy_barray($nums);
Copy byte array.
copy_sarray
sub copy_sarray : short[] ($nums : short[])
my $nums = [(short)1, 2, 3];
my $nums_copy = copy_sarray($nums);
Copy short array.
copy_iarray
sub copy_iarray : int[] ($nums : int[])
my $nums = [1, 2, 3];
my $nums_copy = copy_iarray($nums);
Copy int array.
copy_larray
sub copy_larray : long[] ($nums : long[])
my $nums = [(long)1, 2, 3];
my $nums_copy = copy_larray($nums);
Copy long array.
copy_farray
sub copy_farray : float[] ($nums : float[])
my $nums = [0.5f, 0.25f, 0.3f];
my $nums_copy = copy_farray($nums);
Copy float array.
copy_darray
sub copy_darray : double[] ($nums : double[])
my $nums = [0.5, 0.25, 0.3];
my $nums_copy = copy_darray($nums);
Copy double array.
copy_oarray
sub copy_oarray : object[] ($objects : object[])
my $objects = [(object)SPVM::Int->new(1), SPVM::Int->new(2), SPVM::Int->new(3)];
my $objects_copy = copy_oarray($objects);
Copy object array.
Array is sharrow copy, not deeply copy.