| … | |
… | |
| 24 | # |
24 | # |
| 25 | # Check the arguments and return the (real or complex) result. |
25 | # Check the arguments and return the (real or complex) result. |
| 26 | # |
26 | # |
| 27 | sub _call { |
27 | sub _call { |
| 28 | my $self = shift; my $name = shift; |
28 | my $self = shift; my $name = shift; |
| 29 | Value::Error("Function '$name' has too many inputs") if scalar(@_) > 1; |
29 | Value::Error("Function '%s' has too many inputs",$name) if scalar(@_) > 1; |
| 30 | Value::Error("Function '$name' has too few inputs") if scalar(@_) == 0; |
30 | Value::Error("Function '%s' has too few inputs",$name) if scalar(@_) == 0; |
| 31 | my $n = $_[0]; |
31 | my $n = $_[0]; |
| 32 | return $self->$name($n) if Value::matchNumber($n); |
32 | return $self->$name($n) if Value::matchNumber($n); |
| 33 | (Value::Complex::promote($n))->$name; |
33 | (Value::Complex::promote($n))->$name; |
| 34 | } |
34 | } |
| 35 | |
35 | |