Drake
|
#include <drake/core/Function.h>
Public Types | |
enum | Form { ARBITRARY, DIFFERENTIABLE, POLYNOMIAL, AFFINE, LINEAR, CONSTANT, ZERO } |
Public Member Functions | |
InputOutputRelation (Form f) | |
bool | isA (Form base) |
Static Public Member Functions | |
static bool | isA (const Form &f, const Form &base) |
static Form | leastCommonAncestor (const Form &f1, const Form &f2) |
static Form | leastCommonAncestor (std::initializer_list< Form > forms) |
static InputOutputRelation | composeWith (const InputOutputRelation &g, const InputOutputRelation &f) |
static InputOutputRelation | combine (const InputOutputRelation &a, const InputOutputRelation &b) |
static InputOutputRelation | combine (std::initializer_list< InputOutputRelation > args) |
Public Attributes | |
Form | form |
Tags which can be used to inform algorithms about underlying structure in a function e.g., linear, affine, polynomial, analytic, differentiable, continuous, measurable, and – lastly – arbitrary
note: i considered using inheritance to capture the relationship, but passing around types at runtime was more of a pain than simply capturing the inheritance with the helper functions below.
|
strong |
|
inlineexplicit |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inline |
Form form |