Horner's rule for polynomial evaluation: Difference between revisions
Content added Content deleted
(→{{header|AutoHotkey}}: ++ algol68(g)) |
(Added ada) |
||
Line 20: | Line 20: | ||
C.f: [[Formal power series]] |
C.f: [[Formal power series]] |
||
=={{header|Ada}}== |
|||
<lang Ada> |
|||
with Ada.Text_IO, Ada.Float_Text_IO; |
|||
use Ada.Text_IO, Ada.Float_Text_IO; |
|||
procedure horners_rule is |
|||
type Coef is array(Positive range <>) of Float; |
|||
coefficients : Coef := (-19.0,7.0,-4.0,6.0); |
|||
x : Float := 3.0; |
|||
function horner(coeffs: Coef; val: Float) return Float is |
|||
res : Float := 0.0; |
|||
begin |
|||
for p in reverse coeffs'Range loop |
|||
res := res*val + coeffs(p); |
|||
end loop; |
|||
return res; |
|||
end horner; |
|||
begin |
|||
put(horner(coefficients,x),Aft=>1,Exp=>0); |
|||
end horners_rule; |
|||
</lang> |
|||
Output: |
|||
<pre> |
|||
128.0 |
|||
</pre> |
|||
=={{header|ALGOL 68}}== |
=={{header|ALGOL 68}}== |
||
{{works with|ALGOL 68G}} |
{{works with|ALGOL 68G}} |