700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
|
# File 'complex.c', line 700
static VALUE
nucomp_s_polar(int argc, VALUE *argv, VALUE klass)
{
VALUE abs, arg;
switch (rb_scan_args(argc, argv, "11", &abs, &arg)) {
case 1:
nucomp_real_check(abs);
return nucomp_s_new_internal(klass, abs, ZERO);
default:
nucomp_real_check(abs);
nucomp_real_check(arg);
break;
}
if (RB_TYPE_P(abs, T_COMPLEX)) {
get_dat1(abs);
abs = dat->real;
}
if (RB_TYPE_P(arg, T_COMPLEX)) {
get_dat1(arg);
arg = dat->real;
}
return f_complex_polar(klass, abs, arg);
}
|