Current File : //usr/local/apps/perl/lib/site_perl/5.30.0/x86_64-linux/tgmath.ph |
require '_h2ph_pre.ph';
no warnings qw(redefine misc);
unless(defined(&_TGMATH_H)) {
eval 'sub _TGMATH_H () {1;}' unless defined(&_TGMATH_H);
require 'math.ph';
require 'complex.ph';
if( &__GNUC_PREREQ (2, 7)) {
if(defined(&__NO_LONG_DOUBLE_MATH)) {
eval 'sub __tgml {
my($fct) = @_;
eval q($fct);
}' unless defined(&__tgml);
} else {
eval 'sub __tgml {
my($fct) = @_;
eval q($fct &l);
}' unless defined(&__tgml);
}
if( &__GNUC_PREREQ (3, 1)) {
eval 'sub __floating_type {
my($type) = @_;
eval q(( &__builtin_classify_type (($type) 0) == 8|| ( &__builtin_classify_type (($type) 0) == 9 && &__builtin_classify_type ( &__real__ (($type) 0)) == 8)));
}' unless defined(&__floating_type);
} else {
eval 'sub __floating_type {
my($type) = @_;
eval q(((($type) 0.25) && (($type) 0.25- 1)));
}' unless defined(&__floating_type);
}
eval 'sub __tgmath_real_type_sub {
my($T, $E) = @_;
eval q( &__typeof__ (*(0? ( &__typeof__ (0? 0: ( &void *) ($E))) 0: ( &__typeof__ (0? ($T *) 0: ( &void *) (!($E)))) 0)));
}' unless defined(&__tgmath_real_type_sub);
eval 'sub __tgmath_real_type {
my($expr) = @_;
eval q( &__tgmath_real_type_sub ( &__typeof__ (( &__typeof__ ($expr)) 0), &__floating_type ( &__typeof__ ($expr))));
}' unless defined(&__tgmath_real_type);
eval 'sub __TGMATH_UNARY_REAL_ONLY {
my($Val, $Fct) = @_;
eval q(( &__extension__ (($sizeof{$Val} == $sizeof{\'double\'} || &__builtin_classify_type ($Val) != 8) ? ( &__tgmath_real_type ($Val)) $Fct ($Val) : ($sizeof{$Val} == $sizeof{\'float\'}) ? ( &__tgmath_real_type ($Val)) $Fct &f ($Val) : ( &__tgmath_real_type ($Val)) &__tgml($Fct) ($Val))));
}' unless defined(&__TGMATH_UNARY_REAL_ONLY);
eval 'sub __TGMATH_UNARY_REAL_RET_ONLY {
my($Val, $RetType, $Fct) = @_;
eval q(( &__extension__ (($sizeof{$Val} == $sizeof{\'double\'} || &__builtin_classify_type ($Val) != 8) ? ($RetType) $Fct ($Val) : ($sizeof{$Val} == $sizeof{\'float\'}) ? ($RetType) $Fct &f ($Val) : ($RetType) &__tgml($Fct) ($Val))));
}' unless defined(&__TGMATH_UNARY_REAL_RET_ONLY);
eval 'sub __TGMATH_BINARY_FIRST_REAL_ONLY {
my($Val1, $Val2, $Fct) = @_;
eval q(( &__extension__ (($sizeof{$Val1} == $sizeof{\'double\'} || &__builtin_classify_type ($Val1) != 8) ? ( &__tgmath_real_type ($Val1)) $Fct ($Val1, $Val2) : ($sizeof{$Val1} == $sizeof{\'float\'}) ? ( &__tgmath_real_type ($Val1)) $Fct &f ($Val1, $Val2) : ( &__tgmath_real_type ($Val1)) &__tgml($Fct) ($Val1, $Val2))));
}' unless defined(&__TGMATH_BINARY_FIRST_REAL_ONLY);
eval 'sub __TGMATH_BINARY_REAL_ONLY {
my($Val1, $Val2, $Fct) = @_;
eval q(( &__extension__ ((($sizeof{$Val1} > $sizeof{\'double\'} || $sizeof{$Val2} > $sizeof{\'double\'}) && &__builtin_classify_type (($Val1) + ($Val2)) == 8) ? ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) &__tgml($Fct) ($Val1, $Val2) : ($sizeof{$Val1} == $sizeof{\'double\'} || $sizeof{$Val2} == $sizeof{\'double\'} || &__builtin_classify_type ($Val1) != 8|| &__builtin_classify_type ($Val2) != 8) ? ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) $Fct ($Val1, $Val2) : ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) $Fct &f ($Val1, $Val2))));
}' unless defined(&__TGMATH_BINARY_REAL_ONLY);
eval 'sub __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY {
my($Val1, $Val2, $Val3, $Fct) = @_;
eval q(( &__extension__ ((($sizeof{$Val1} > $sizeof{\'double\'} || $sizeof{$Val2} > $sizeof{\'double\'}) && &__builtin_classify_type (($Val1) + ($Val2)) == 8) ? ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) &__tgml($Fct) ($Val1, $Val2, $Val3) : ($sizeof{$Val1} == $sizeof{\'double\'} || $sizeof{$Val2} == $sizeof{\'double\'} || &__builtin_classify_type ($Val1) != 8|| &__builtin_classify_type ($Val2) != 8) ? ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) $Fct ($Val1, $Val2, $Val3) : ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) $Fct &f ($Val1, $Val2, $Val3))));
}' unless defined(&__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY);
eval 'sub __TGMATH_TERNARY_REAL_ONLY {
my($Val1, $Val2, $Val3, $Fct) = @_;
eval q(( &__extension__ ((($sizeof{$Val1} > $sizeof{\'double\'} || $sizeof{$Val2} > $sizeof{\'double\'} || $sizeof{$Val3} > $sizeof{\'double\'}) && &__builtin_classify_type (($Val1) + ($Val2) + ($Val3)) == 8) ? ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0+ ( &__tgmath_real_type ($Val3)) 0)) &__tgml($Fct) ($Val1, $Val2, $Val3) : ($sizeof{$Val1} == $sizeof{\'double\'} || $sizeof{$Val2} == $sizeof{\'double\'} || $sizeof{$Val3} == $sizeof{\'double\'} || &__builtin_classify_type ($Val1) != 8|| &__builtin_classify_type ($Val2) != 8|| &__builtin_classify_type ($Val3) != 8) ? ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0+ ( &__tgmath_real_type ($Val3)) 0)) $Fct ($Val1, $Val2, $Val3) : ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0+ ( &__tgmath_real_type ($Val3)) 0)) $Fct &f ($Val1, $Val2, $Val3))));
}' unless defined(&__TGMATH_TERNARY_REAL_ONLY);
eval 'sub __TGMATH_UNARY_REAL_IMAG {
my($Val, $Fct, $Cfct) = @_;
eval q(( &__extension__ (($sizeof{ &__real__ ($Val)} == $sizeof{\'double\'} || &__builtin_classify_type ( &__real__ ($Val)) != 8) ? (($sizeof{ &__real__ ($Val)} == $sizeof{$Val}) ? ( &__tgmath_real_type ($Val)) $Fct ($Val) : ( &__tgmath_real_type ($Val)) $Cfct ($Val)) : ($sizeof{ &__real__ ($Val)} == $sizeof{\'float\'}) ? (($sizeof{ &__real__ ($Val)} == $sizeof{$Val}) ? ( &__tgmath_real_type ($Val)) $Fct &f ($Val) : ( &__tgmath_real_type ($Val)) $Cfct &f ($Val)) : (($sizeof{ &__real__ ($Val)} == $sizeof{$Val}) ? ( &__tgmath_real_type ($Val)) &__tgml($Fct) ($Val) : ( &__tgmath_real_type ($Val)) &__tgml($Cfct) ($Val)))));
}' unless defined(&__TGMATH_UNARY_REAL_IMAG);
eval 'sub __TGMATH_UNARY_IMAG {
my($Val, $Cfct) = @_;
eval q(( &__extension__ (($sizeof{ &__real__ ($Val)} == $sizeof{\'double\'} || &__builtin_classify_type ( &__real__ ($Val)) != 8) ? ( &__typeof__ (( &__tgmath_real_type ($Val)) 0+ &_Complex_I)) $Cfct ($Val) : ($sizeof{ &__real__ ($Val)} == $sizeof{\'float\'}) ? ( &__typeof__ (( &__tgmath_real_type ($Val)) 0+ &_Complex_I)) $Cfct &f ($Val) : ( &__typeof__ (( &__tgmath_real_type ($Val)) 0+ &_Complex_I)) &__tgml($Cfct) ($Val))));
}' unless defined(&__TGMATH_UNARY_IMAG);
eval 'sub __TGMATH_UNARY_REAL_IMAG_RET_REAL {
my($Val, $Fct, $Cfct) = @_;
eval q(( &__extension__ (($sizeof{ &__real__ ($Val)} == $sizeof{\'double\'} || &__builtin_classify_type ( &__real__ ($Val)) != 8) ? (($sizeof{ &__real__ ($Val)} == $sizeof{$Val}) ? ( &__typeof__ ( &__real__ ( &__tgmath_real_type ($Val)) 0)) $Fct ($Val) : ( &__typeof__ ( &__real__ ( &__tgmath_real_type ($Val)) 0)) $Cfct ($Val)) : ($sizeof{ &__real__ ($Val)} == $sizeof{\'float\'}) ? (($sizeof{ &__real__ ($Val)} == $sizeof{$Val}) ? ( &__typeof__ ( &__real__ ( &__tgmath_real_type ($Val)) 0)) $Fct &f ($Val) : ( &__typeof__ ( &__real__ ( &__tgmath_real_type ($Val)) 0)) $Cfct &f ($Val)) : (($sizeof{ &__real__ ($Val)} == $sizeof{$Val}) ? ( &__typeof__ ( &__real__ ( &__tgmath_real_type ($Val)) 0)) &__tgml($Fct) ($Val) : ( &__typeof__ ( &__real__ ( &__tgmath_real_type ($Val)) 0)) &__tgml($Cfct) ($Val)))));
}' unless defined(&__TGMATH_UNARY_REAL_IMAG_RET_REAL);
eval 'sub __TGMATH_BINARY_REAL_IMAG {
my($Val1, $Val2, $Fct, $Cfct) = @_;
eval q(( &__extension__ ((($sizeof{ &__real__ ($Val1)} > $sizeof{\'double\'} || $sizeof{ &__real__ ($Val2)} > $sizeof{\'double\'}) && &__builtin_classify_type ( &__real__ ($Val1) + &__real__ ($Val2)) == 8) ? (($sizeof{ &__real__ ($Val1)} == $sizeof{$Val1} && $sizeof{ &__real__ ($Val2)} == $sizeof{$Val2}) ? ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) &__tgml($Fct) ($Val1, $Val2) : ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) &__tgml($Cfct) ($Val1, $Val2)) : ($sizeof{ &__real__ ($Val1)} == $sizeof{\'double\'} || $sizeof{ &__real__ ($Val2)} == $sizeof{\'double\'} || &__builtin_classify_type ( &__real__ ($Val1)) != 8|| &__builtin_classify_type ( &__real__ ($Val2)) != 8) ? (($sizeof{ &__real__ ($Val1)} == $sizeof{$Val1} && $sizeof{ &__real__ ($Val2)} == $sizeof{$Val2}) ? ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) $Fct ($Val1, $Val2) : ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) $Cfct ($Val1, $Val2)) : (($sizeof{ &__real__ ($Val1)} == $sizeof{$Val1} && $sizeof{ &__real__ ($Val2)} == $sizeof{$Val2}) ? ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) $Fct &f ($Val1, $Val2) : ( &__typeof (( &__tgmath_real_type ($Val1)) 0+ ( &__tgmath_real_type ($Val2)) 0)) $Cfct &f ($Val1, $Val2)))));
}' unless defined(&__TGMATH_BINARY_REAL_IMAG);
} else {
die("Unsupported compiler; you cannot use <tgmath.h>");
}
eval 'sub acos {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &acos, &cacos));
}' unless defined(&acos);
eval 'sub asin {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &asin, &casin));
}' unless defined(&asin);
eval 'sub atan {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &atan, &catan));
}' unless defined(&atan);
eval 'sub atan2 {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_REAL_ONLY ($Val1, $Val2, &atan2));
}' unless defined(&atan2);
eval 'sub cos {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &cos, &ccos));
}' unless defined(&cos);
eval 'sub sin {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &sin, &csin));
}' unless defined(&sin);
eval 'sub tan {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &tan, &ctan));
}' unless defined(&tan);
eval 'sub acosh {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &acosh, &cacosh));
}' unless defined(&acosh);
eval 'sub asinh {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &asinh, &casinh));
}' unless defined(&asinh);
eval 'sub atanh {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &atanh, &catanh));
}' unless defined(&atanh);
eval 'sub cosh {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &cosh, &ccosh));
}' unless defined(&cosh);
eval 'sub sinh {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &sinh, &csinh));
}' unless defined(&sinh);
eval 'sub tanh {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &tanh, &ctanh));
}' unless defined(&tanh);
eval 'sub exp {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &exp, &cexp));
}' unless defined(&exp);
eval 'sub frexp {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_FIRST_REAL_ONLY ($Val1, $Val2, &frexp));
}' unless defined(&frexp);
eval 'sub ldexp {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_FIRST_REAL_ONLY ($Val1, $Val2, &ldexp));
}' unless defined(&ldexp);
eval 'sub log {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &log, &clog));
}' unless defined(&log);
if(defined(&__USE_GNU)) {
eval 'sub log10 {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &log10, &__clog10));
}' unless defined(&log10);
} else {
eval 'sub log10 {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &log10));
}' unless defined(&log10);
}
eval 'sub expm1 {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &expm1));
}' unless defined(&expm1);
eval 'sub log1p {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &log1p));
}' unless defined(&log1p);
eval 'sub logb {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &logb));
}' unless defined(&logb);
eval 'sub exp2 {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &exp2));
}' unless defined(&exp2);
eval 'sub log2 {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &log2));
}' unless defined(&log2);
eval 'sub pow {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_REAL_IMAG ($Val1, $Val2, &pow, &cpow));
}' unless defined(&pow);
eval 'sub sqrt {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG ($Val, &sqrt, &csqrt));
}' unless defined(&sqrt);
eval 'sub hypot {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_REAL_ONLY ($Val1, $Val2, &hypot));
}' unless defined(&hypot);
eval 'sub cbrt {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &cbrt));
}' unless defined(&cbrt);
eval 'sub ceil {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &ceil));
}' unless defined(&ceil);
eval 'sub fabs {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG_RET_REAL ($Val, &fabs, &cabs));
}' unless defined(&fabs);
eval 'sub floor {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &floor));
}' unless defined(&floor);
eval 'sub fmod {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_REAL_ONLY ($Val1, $Val2, &fmod));
}' unless defined(&fmod);
eval 'sub nearbyint {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &nearbyint));
}' unless defined(&nearbyint);
eval 'sub round {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &round));
}' unless defined(&round);
eval 'sub trunc {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &trunc));
}' unless defined(&trunc);
eval 'sub remquo {
my($Val1, $Val2, $Val3) = @_;
eval q( &__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY ($Val1, $Val2, $Val3, &remquo));
}' unless defined(&remquo);
eval 'sub lrint {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_RET_ONLY ($Val, \'long int\', &lrint));
}' unless defined(&lrint);
eval 'sub llrint {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_RET_ONLY ($Val, \'long long int\', &llrint));
}' unless defined(&llrint);
eval 'sub lround {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_RET_ONLY ($Val, \'long int\', &lround));
}' unless defined(&lround);
eval 'sub llround {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_RET_ONLY ($Val, \'long long int\', &llround));
}' unless defined(&llround);
eval 'sub copysign {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_REAL_ONLY ($Val1, $Val2, ©sign));
}' unless defined(©sign);
eval 'sub erf {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &erf));
}' unless defined(&erf);
eval 'sub erfc {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &erfc));
}' unless defined(&erfc);
eval 'sub tgamma {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &tgamma));
}' unless defined(&tgamma);
eval 'sub lgamma {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &lgamma));
}' unless defined(&lgamma);
eval 'sub rint {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_ONLY ($Val, &rint));
}' unless defined(&rint);
eval 'sub nextafter {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_REAL_ONLY ($Val1, $Val2, &nextafter));
}' unless defined(&nextafter);
eval 'sub nexttoward {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_FIRST_REAL_ONLY ($Val1, $Val2, &nexttoward));
}' unless defined(&nexttoward);
eval 'sub remainder {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_REAL_ONLY ($Val1, $Val2, &remainder));
}' unless defined(&remainder);
if(defined (&__USE_MISC) || defined (&__USE_XOPEN_EXTENDED)) {
eval 'sub scalb {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_REAL_ONLY ($Val1, $Val2, &scalb));
}' unless defined(&scalb);
}
eval 'sub scalbn {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_FIRST_REAL_ONLY ($Val1, $Val2, &scalbn));
}' unless defined(&scalbn);
eval 'sub scalbln {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_FIRST_REAL_ONLY ($Val1, $Val2, &scalbln));
}' unless defined(&scalbln);
eval 'sub ilogb {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_RET_ONLY ($Val, \'int\', &ilogb));
}' unless defined(&ilogb);
eval 'sub fdim {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_REAL_ONLY ($Val1, $Val2, &fdim));
}' unless defined(&fdim);
eval 'sub fmax {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_REAL_ONLY ($Val1, $Val2, &fmax));
}' unless defined(&fmax);
eval 'sub fmin {
my($Val1, $Val2) = @_;
eval q( &__TGMATH_BINARY_REAL_ONLY ($Val1, $Val2, &fmin));
}' unless defined(&fmin);
eval 'sub fma {
my($Val1, $Val2, $Val3) = @_;
eval q( &__TGMATH_TERNARY_REAL_ONLY ($Val1, $Val2, $Val3, &fma));
}' unless defined(&fma);
eval 'sub carg {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG_RET_REAL ($Val, &carg, &carg));
}' unless defined(&carg);
eval 'sub conj {
my($Val) = @_;
eval q( &__TGMATH_UNARY_IMAG ($Val, &conj));
}' unless defined(&conj);
eval 'sub cproj {
my($Val) = @_;
eval q( &__TGMATH_UNARY_IMAG ($Val, &cproj));
}' unless defined(&cproj);
eval 'sub cimag {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG_RET_REAL ($Val, &cimag, &cimag));
}' unless defined(&cimag);
eval 'sub creal {
my($Val) = @_;
eval q( &__TGMATH_UNARY_REAL_IMAG_RET_REAL ($Val, &creal, &creal));
}' unless defined(&creal);
}
1;