================================================================
Logtalk - Open source object-oriented logic programming language
Release 2.30.7

Copyright (c) 1998-2007 Paulo Moura.  All Rights Reserved.
================================================================


% start by loading the loading the example:

| ?- logtalk_load(functions(loader)).
...


% find the roots of some functions using each one of provided methods:

| ?- bisection::find_root(f1, 1.0, 2.3, 1.0e-15, Zero).

Zero = 2.0
yes

| ?- newton::find_root(f1, 1.0, 2.3, 1.0e-15, Zero).

Zero = 2.0
yes
| ?- muller::find_root(f1, 1.0, 2.3, 1.0e-15, Zero).

Zero = 2.0
yes

| ?- bisection::find_root(f2, 1.0, 1.3, 1.0e-15, Zero).

Zero = 1.25809265664599
yes

| ?- newton::find_root(f2, 1.0, 1.3, 1.0e-15, Zero).

Zero = 1.25809265664599
yes

| ?- muller::find_root(f2, 1.0, 1.3, 1.0e-15, Zero).

Zero = 1.25809265664599
yes


% find the roots of some functions running all methods at once using multi-threading:

| ?- function_root::find_root(f1, 1.0, 2.3, 1.0e-15, Zero, Method).

Zero = 2.0
Method = bisection 
yes

| ?- function_root::find_root(f2, 1.0, 1.3, 1.0e-15, Zero, Method).

Zero = 1.25809265664599
Method = newton 
yes

| ?- function_root::find_root(f3, 0.0, 3.0, 1.0e-15, Zero, Method).

Zero = 1.4142135623731
Method = newton 
yes

| ?- function_root::find_root(f4, -1.0, 2.0, 1.0e-15, Zero, Method).

Zero = -8.88178419700125e-16
Method = bisection 
yes