Bernstein basis polynomials: Difference between revisions

m
(added Raku programming solution)
Line 2,501:
}
return $s * @bern[0] + $t * @bern[1]
}
 
sub evaluations (@m, @b, $x) {
my $m = ([o] map { $_ + $x * * }, .[0][0]@m)(0); # Horner's rule
sayreturn "p({$x.fmt: '%.2f'}) = { evalBern-N @b, $yx } (mono $m)";
}
 
Line 2,514 ⟶ 2,519:
say "\nSubprogram(2) examples:";
 
for (@pm,@pb2,@qm,@qb2).rotor(2) X (0.25,7.5) -> [[@m,@b], $x] {
say evaluations @m, @b, $x
my $x = .[1];
my $y = evalBern-N .[0][1], $x;
my $m = ([o] map { $_ + $x * * }, .[0][0])(0); # Horner's rule
say "p({$x.fmt: '%.2f'}) = $y (mono $m)";
}
 
Line 2,529 ⟶ 2,531:
say "\nSubprogram(4) examples:";
 
for (@pm,@pb3,@qm,@qb3,@rm,@rb3).rotor(2) X (0.25,7.5) -> [[@m,@b], $x] {
mysay $xevaluations =@m, .[1];@b, $x
my $y = evalBern-N .[0][1], $x;
my $m = ([o] map { $_ + $x * * }, .[0][0])(0); # Horner's rule
say "p({$x.fmt: '%.2f'}) = $y (mono $m)";
}
 
350

edits