How to resolve the algorithm Horner's rule for polynomial evaluation step by step in the FutureBasic programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Horner's rule for polynomial evaluation step by step in the FutureBasic programming language

Table of Contents

Problem Statement

A fast scheme for evaluating a polynomial such as: when is to arrange the computation as follows: And compute the result from the innermost brackets outwards as in this pseudocode: Task Description Cf. Formal power series

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Horner's rule for polynomial evaluation step by step in the FutureBasic programming language

Source code in the futurebasic programming language

include "NSLog.incl"

local fn horner( coeffs as CFArrayRef, x as NSInteger ) as double
CFArrayRef  reversedCoeffs
CFNumberRef num
double      accumulator = 0.0

// Reverse coeffs array
reversedCoeffs = fn EnumeratorAllObjects( fn ArrayReverseObjectEnumerator( coeffs ) )

// Iterate over CFNumberRefs in reversed array, convert to double values, calculate and add to accumulator
for num in reversedCoeffs
accumulator = ( accumulator * x ) + fn NumberDoubleValue( num )
next
end fn = accumulator

CFArrayRef coeffs

coeffs = @[@-19.0, @7.0, @-4.0, @6.0]
NSLog( @"%7.1f", fn horner( coeffs, 3 ) )

coeffs = @[@4.0, @3.0, @2.0, @1.0]
NSLog( @"%7.1f", fn horner( coeffs, 10 ) )

coeffs = @[@1, @1, @0, @0, @1]
NSLog( @"%7.1f", fn horner( coeffs, 2 ) )

coeffs = @[@1.2, @2.3, @3.4, @4.5, @5.6]
NSLog( @"%7.1f", fn horner( coeffs, 8 ) )

coeffs = @[@1, @0, @1, @1, @1, @0, @0, @1]
NSLog( @"%7.1f", fn horner( coeffs, 2 ) )

HandleEvents

  

You may also check:How to resolve the algorithm Pythagorean quadruples step by step in the Julia programming language
You may also check:How to resolve the algorithm Doubly-linked list/Definition step by step in the Python programming language
You may also check:How to resolve the algorithm Brace expansion step by step in the C# programming language
You may also check:How to resolve the algorithm Arithmetic/Integer step by step in the E programming language
You may also check:How to resolve the algorithm Set step by step in the Smalltalk programming language