|
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 |