sub kirst { my ($fja, $a, $b) = @_; die "Nera saknu?" if ($fja->($a) * $fja->($b) > 0); my $c = $a - (($b - $a) * $fja->($a)) / ($fja->($b) - $fja->($a)); if (abs($fja->($c)) < 0.00001) { # 0.00001 yra epsilon return $c; } elsif ($fja->($a) * $fja->($c) < 0) { return kirst($fja, $a, $c); } else { return kirst($fja, $c, $b); } }