protocol

interpolator_protocol

Protocol for fitting and evaluating one-dimensional interpolants.

Availability:
logtalk_load(numerical_analysis(loader))
Author: Paulo Moura
Version: 1:0:0
Date: 2026-09-04
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

Public predicates

fit/2

Fits an interpolant to a list of X-Y points using default options.

Compilation flags:
static
Template:
fit(Points,Model)
Mode and number of proofs:
fit(+list(pair),-compound) - one_or_error
Exceptions:
Points is a variable:
instantiation_error
Points is not a valid list of at least two numeric points with distinct abscissas:
domain_error(interpolation_points,Points)

fit/3

Fits an interpolant to a list of X-Y points using the given options.

Compilation flags:
static
Template:
fit(Points,Model,Options)
Mode and number of proofs:
fit(+list(pair),-compound,+list(compound)) - one_or_error
Exceptions:
Points or Options is a variable:
instantiation_error
Points is not a valid list of at least two numeric points with distinct abscissas:
domain_error(interpolation_points,Points)
Options is a variable:
instantiation_error
Options is neither a variable nor a list:
type_error(list,Options)
An element Option of the list Options is a variable:
instantiation_error
An element Option of the list Options is neither a variable nor a compound term:
type_error(compound,Option)
An element Option of the list Options is a compound term but not a valid option:
domain_error(option,Option)

evaluate/3

Evaluates a fitted interpolant inside its data domain.

Compilation flags:
static
Template:
evaluate(Model,Argument,Value)
Mode and number of proofs:
evaluate(+compound,+number,-number) - one_or_error
Exceptions:
Model is a variable:
instantiation_error
Model is not a model for the receiving interpolator:
domain_error(interpolation_model,Model)
Argument is a variable:
instantiation_error
Argument is not a number:
type_error(number,Argument)
Argument lies outside the fitted domain:
domain_error(interpolation_domain,Argument)

Protected predicates

(none)

Private predicates

(none)

Operators

(none)