Orbital library

Package orbital.math.functional

Contains mathematical functors and extended functional operations.


Interface Summary
BinaryFunction This interface encapsulates a binary function "r = f(x,y)".
BinaryFunction.Composite A composite function.
Function This interface encapsulates a mathematical unary function "r = f(x)".
Function.Composite A composite function.
MathFunctor MathFunctor interface tags all mathematical functors.
MathFunctor.Composite A composed mathematical functors.
Operations Provides central arithmetic operations for algebraic types.

Class Summary
Functionals Provides important compositional functionals for mathematical functions.
Functions Common function implementations.

Package orbital.math.functional Description

Contains mathematical functors and extended functional operations.

This package is dual to orbital.logic.functor, it provides mathematical extensions that inherit from logic functors (that are in turn derived from orbital.logic.functor.Functor) in a conform way. Mathematical functors extend their logic counterpart and additionally implement orbital.math.functional.MathFunctor.
So for instance there's an interface orbital.math.functional.BinaryFunction that extends both, orbital.logic.functor.BinaryFunction and orbital.math.functional.MathFunctor.
Though this might see a little subtile it has the advantage that methods written for general logical functors will work for mathematical functors as well. So both types of functors are rather compatible.

The class orbital.math.functional.Functionals defines High-Order-Functions for functional style evaluation. With Functionals one can apply Functions to collections and arrays of values as well as compose functions. Mathematical operations for major mathematical functions are pre-defined in the class orbital.math.functional.Operations. Usual mathematical functions are provided in orbital.math.functional.Functions

The inheritance hierarchy of common mathematical functor interfaces:

orbital.logic.functor (dual to this package)
See Also:
orbital.moon.logic.MathExpressionSyntax, orbital.awt.Plot2D Category Theory

Orbital library
1.3.0: 11 Apr 2009

Copyright © 1996-2009 André Platzer
All Rights Reserved.