Lines Matching refs:z

640 	my ($z) = @_;
641 if ($z->{c_dirty}) {
642 my ($r, $t) = @{$z->_polar};
644 return (ref $z)->emake($r, $t);
646 my ($re, $im) = @{$z->_cartesian};
647 return (ref $z)->make(-$re, -$im);
656 my ($z) = @_;
657 if ($z->{c_dirty}) {
658 my ($r, $t) = @{$z->_polar};
659 return (ref $z)->emake($r, -$t);
661 my ($re, $im) = @{$z->_cartesian};
662 return (ref $z)->make($re, -$im);
671 my ($z, $rho) = @_ ? @_ : $_;
672 unless (ref $z) {
676 return CORE::abs($z);
680 $z->{'polar'} = [ $rho, ${$z->_polar}[1] ];
681 $z->{p_dirty} = 0;
682 $z->{c_dirty} = 1;
685 return ${$z->_polar}[0];
702 my ($z, $theta) = @_;
703 return $z unless ref $z;
706 $z->{'polar'} = [ ${$z->_polar}[0], $theta ];
707 $z->{p_dirty} = 0;
708 $z->{c_dirty} = 1;
710 $theta = ${$z->_polar}[1];
732 my ($z) = @_ ? $_[0] : $_;
733 my ($re, $im) = ref $z ? @{$z->_cartesian} : ($z, 0);
736 my ($r, $t) = @{$z->_polar};
737 return (ref $z)->emake(CORE::sqrt($r), $t/2);
748 my ($z) = @_;
749 return $z < 0 ?
750 -CORE::exp(CORE::log(-$z)/3) :
751 ($z > 0 ? CORE::exp(CORE::log($z)/3): 0)
752 unless ref $z;
753 my ($r, $t) = @{$z->_polar};
755 return (ref $z)->emake(CORE::exp(CORE::log($r)/3), $t/3);
784 my ($z, $n, $k) = @_;
786 my ($r, $t) = ref $z ?
787 @{$z->_polar} : (CORE::abs($z), $z >= 0 ? 0 : pi);
790 my $cartesian = ref $z && $z->{c_dirty} == 0;
813 my ($z, $Re) = @_;
814 return $z unless ref $z;
816 $z->{'cartesian'} = [ $Re, ${$z->_cartesian}[1] ];
817 $z->{c_dirty} = 0;
818 $z->{p_dirty} = 1;
820 return ${$z->_cartesian}[0];
830 my ($z, $Im) = @_;
831 return 0 unless ref $z;
833 $z->{'cartesian'} = [ ${$z->_cartesian}[0], $Im ];
834 $z->{c_dirty} = 0;
835 $z->{p_dirty} = 1;
837 return ${$z->_cartesian}[1];
865 my ($z) = @_ ? @_ : $_;
866 return CORE::exp($z) unless ref $z;
867 my ($x, $y) = @{$z->_cartesian};
868 return (ref $z)->emake(CORE::exp($x), $y);
898 my ($z) = @_ ? @_ : $_;
899 unless (ref $z) {
900 _logofzero("log") if $z == 0;
901 return $z > 0 ? CORE::log($z) : cplx(CORE::log(-$z), pi);
903 my ($r, $t) = @{$z->_polar};
907 return (ref $z)->make(CORE::log($r), $t);
933 my ($z, $n) = @_;
934 $z = cplx($z, 0) unless ref $z;
937 return &log($z) / $logn;
946 my ($z) = @_ ? @_ : $_;
947 return CORE::cos($z) unless ref $z;
948 my ($x, $y) = @{$z->_cartesian};
953 return (ref $z)->make($cx * ($ey + $ey_1)/2,
963 my ($z) = @_ ? @_ : $_;
964 return CORE::sin($z) unless ref $z;
965 my ($x, $y) = @{$z->_cartesian};
970 return (ref $z)->make($sx * ($ey + $ey_1)/2,
980 my ($z) = @_;
981 my $cz = &cos($z);
982 _divbyzero "tan($z)", "cos($z)" if $cz == 0;
983 return &sin($z) / $cz;
992 my ($z) = @_;
993 my $cz = &cos($z);
994 _divbyzero "sec($z)", "cos($z)" if ($cz == 0);
1004 my ($z) = @_;
1005 my $sz = &sin($z);
1006 _divbyzero "csc($z)", "sin($z)" if ($sz == 0);
1023 my ($z) = @_;
1024 my $sz = &sin($z);
1025 _divbyzero "cot($z)", "sin($z)" if ($sz == 0);
1026 return &cos($z) / $sz;
1042 my $z = $_[0];
1043 return CORE::atan2(CORE::sqrt(1-$z*$z), $z)
1044 if (! ref $z) && CORE::abs($z) <= 1;
1045 $z = cplx($z, 0) unless ref $z;
1046 my ($x, $y) = @{$z->_cartesian};
1058 return (ref $z)->make($u, $v);
1067 my $z = $_[0];
1068 return CORE::atan2($z, CORE::sqrt(1-$z*$z))
1069 if (! ref $z) && CORE::abs($z) <= 1;
1070 $z = cplx($z, 0) unless ref $z;
1071 my ($x, $y) = @{$z->_cartesian};
1083 return (ref $z)->make($u, $v);
1092 my ($z) = @_;
1093 return CORE::atan2($z, 1) unless ref $z;
1094 my ($x, $y) = ref $z ? @{$z->_cartesian} : ($z, 0);
1096 _divbyzero "atan(i)" if ( $z == i);
1097 _logofzero "atan(-i)" if (-$z == i); # -i is a bad file test...
1098 my $log = &log((i + $z) / (i - $z));
1108 my ($z) = @_;
1109 _divbyzero "asec($z)", $z if ($z == 0);
1110 return acos(1 / $z);
1119 my ($z) = @_;
1120 _divbyzero "acsc($z)", $z if ($z == 0);
1121 return asin(1 / $z);
1137 my ($z) = @_;
1138 _divbyzero "acot(0)" if $z == 0;
1139 return ($z >= 0) ? CORE::atan2(1, $z) : CORE::atan2(-1, -$z)
1140 unless ref $z;
1141 _divbyzero "acot(i)" if ($z - i == 0);
1142 _logofzero "acot(-i)" if ($z + i == 0);
1143 return atan(1 / $z);
1159 my ($z) = @_;
1161 unless (ref $z) {
1162 $ex = CORE::exp($z);
1165 my ($x, $y) = @{$z->_cartesian};
1168 return (ref $z)->make(CORE::cos($y) * ($ex + $ex_1)/2,
1178 my ($z) = @_;
1180 unless (ref $z) {
1181 return 0 if $z == 0;
1182 $ex = CORE::exp($z);
1185 my ($x, $y) = @{$z->_cartesian};
1190 return (ref $z)->make(CORE::cos($y) * ($ex - $ex_1)/2,
1200 my ($z) = @_;
1201 my $cz = cosh($z);
1202 _divbyzero "tanh($z)", "cosh($z)" if ($cz == 0);
1203 my $sz = sinh($z);
1215 my ($z) = @_;
1216 my $cz = cosh($z);
1217 _divbyzero "sech($z)", "cosh($z)" if ($cz == 0);
1227 my ($z) = @_;
1228 my $sz = sinh($z);
1229 _divbyzero "csch($z)", "sinh($z)" if ($sz == 0);
1246 my ($z) = @_;
1247 my $sz = sinh($z);
1248 _divbyzero "coth($z)", "sinh($z)" if $sz == 0;
1249 my $cz = cosh($z);
1268 my ($z) = @_;
1269 unless (ref $z) {
1270 $z = cplx($z, 0);
1272 my ($re, $im) = @{$z->_cartesian};
1279 my $t = &sqrt($z * $z - 1) + $z;
1283 $t = 1/(2 * $z) - 1/(8 * $z**3) + 1/(16 * $z**5) - 5/(128 * $z**7)
1296 my ($z) = @_;
1297 unless (ref $z) {
1298 my $t = $z + CORE::sqrt($z*$z + 1);
1301 my $t = &sqrt($z * $z + 1) + $z;
1305 $t = 1/(2 * $z) - 1/(8 * $z**3) + 1/(16 * $z**5) - 5/(128 * $z**7)
1316 my ($z) = @_;
1317 unless (ref $z) {
1318 return CORE::log((1 + $z)/(1 - $z))/2 if CORE::abs($z) < 1;
1319 $z = cplx($z, 0);
1321 _divbyzero 'atanh(1)', "1 - $z" if (1 - $z == 0);
1322 _logofzero 'atanh(-1)' if (1 + $z == 0);
1323 return 0.5 * &log((1 + $z) / (1 - $z));
1332 my ($z) = @_;
1333 _divbyzero 'asech(0)', "$z" if ($z == 0);
1334 return acosh(1 / $z);
1343 my ($z) = @_;
1344 _divbyzero 'acsch(0)', $z if ($z == 0);
1345 return asinh(1 / $z);
1361 my ($z) = @_;
1362 _divbyzero 'acoth(0)' if ($z == 0);
1363 unless (ref $z) {
1364 return CORE::log(($z + 1)/($z - 1))/2 if CORE::abs($z) > 1;
1365 $z = cplx($z, 0);
1367 _divbyzero 'acoth(1)', "$z - 1" if ($z - 1 == 0);
1368 _logofzero 'acoth(-1)', "1 + $z" if (1 + $z == 0);
1369 return &log((1 + $z) / ($z - 1)) / 2;
1465 my ($z) = shift;
1467 my $style = $z->display_format;
1471 return $z->_stringify_polar if $style =~ /^p/i;
1472 return $z->_stringify_cartesian;
1481 my $z = shift;
1482 my ($x, $y) = @{$z->_cartesian};
1485 my %format = $z->display_format;
1543 my $z = shift;
1544 my ($r, $t) = @{$z->_polar};
1547 my %format = $z->display_format;