SPVM::Document::Tutorial::Complex - complex tutorial.
This document is complex tutorial.
# Complex float type use Complex_2f; my $z : Complex_2f; $z->{re} = 1.5f; $z->{im} = 1.7f;
# Complex double type use Complex_2d; my $z : Complex_2d; $z->{re} = 1.5; $z->{im} = 1.7;
use Math (complexf, complex); # Complex_2f my $z = complexf(1.5f, 1.7f); # Complex_2d my $z = complex(1.5, 1.7);
# float Addition, Subtract, Multiply, Scalar Multiply, Division functions use Math(caddf, csubf, cmulf, cscamulf, cdivf); my $z1 = complexf(1.5f, 1.7f); my $z2 = complexf(2.5f, 2.7f); # Addition my $z_add = caddf($z1, $z2); # Subtract my $z_method = csubf($z1, $z2); # Multiply my $z_mul = cmulf($z1, $z2); # Scalar Multiply my $z_scamul = cscamulf(3, $z2); # Division my $z_div = cdivf($z1, $z2);
# double Addition, Subtract, Multiply, Scalar Multiply, Division functions use Math(cadd, csub, cmul, cscamul, cdiv); my $z1 = complex(1.5, 1.7); my $z2 = complex(2.5, 2.7); # Addition my $z_add = cadd($z1, $z2); # Subtract my $z_method = csub($z1, $z2); # Multiply my $z_mul = cmul($z1, $z2); # Scalar Multiply my $z_scamul = cscamul(3, $z2); # Division my $z_div = cdiv($z1, $z2);
# float Trigonometric functions use Math(csinf, ccosf, ctanf); my $z = complexf(1.5f, 1.7f); # Addition my $z_sin = csinf($z); # Subtract my $z_cos = ccosf($z); # Multiply my $z_tan = ctanf($z);
# double Trigonometric functions use Math(csin, ccos, ctan); my $z = complex(1.5, 1.7); # Addition my $z_sin = csin($z); # Subtract my $z_cos = ccos($z); # Multiply my $z_tan = ctan($z);
# Complex float type use Complex_2f; my $zs = new Complex_2f[100]; for (my $i = 0; $i < @$zs; $i++) { my $z = $zs->[$i]; $z->{re} = 1.5f; $z->{im} = 1.7f; }
# Complex double type use Complex_2d; my $zs = new Complex_2d[100]; for (my $i = 0; $i < @$zs; $i++) { my $z = $zs->[$i]; $z->{re} = 1.5; $z->{im} = 1.7; }
use SPVM 'MyComplex'; my $z1 = {re => 1.7, im => 2.7}; my $z2 = {re => 7.5, im => 2.5}; my $z_ret = MyComplex->complex_call_from_perl($z1, $z2); print "($z_ret->{re}, $z_ret->{im})\n";
Copyright (c) 2023 Yuki Kimoto
MIT License
To install SPVM, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SPVM
CPAN shell
perl -MCPAN -e shell install SPVM
For more information on module installation, please visit the detailed CPAN module installation guide.