56 lines
3.3 KiB
Groff
56 lines
3.3 KiB
Groff
|
|
.TH "src/include/serif/dimensions/partial.hpp" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
||
|
|
.ad l
|
||
|
|
.nh
|
||
|
|
.SH NAME
|
||
|
|
src/include/serif/dimensions/partial.hpp \- Compile time tools to represent a partial derivative of one quantity wrt\&. another quantity\&. Note that this system is not responsible for computing partials or in fact derivatives of any kind\&. Rather, it is responsible for forcing the developer --- or compiler at least --- to ask for a specific, explicit, partial and have to spell out what that is\&. That in turn gives the compiler enough information to do a lot of downstream things\&. A motivating example would be automatic verification of the provided EOS against all partials that might be needed to ensure they are all exported by the EOS\&.
|
||
|
|
|
||
|
|
.SH SYNOPSIS
|
||
|
|
.br
|
||
|
|
.PP
|
||
|
|
\fR#include 'serif/dimensions/quantities\&.hpp'\fP
|
||
|
|
.br
|
||
|
|
\fR#include 'serif/utils/misc/concepts/numeric\&.hpp'\fP
|
||
|
|
.br
|
||
|
|
|
||
|
|
.SS "Classes"
|
||
|
|
|
||
|
|
.in +1c
|
||
|
|
.ti -1c
|
||
|
|
.RI "struct \fBserif::dimensions::WithRespectTo< Quantity >\fP"
|
||
|
|
.br
|
||
|
|
.RI "A type that is empty at runtime but allows for the developer to specify to the compiler what quantity the partial is with respect to\&. "
|
||
|
|
.ti -1c
|
||
|
|
.RI "class \fBserif::dimensions::SecondPartialDerivative< OutputQuantity, FirstInput, SecondInput >\fP"
|
||
|
|
.br
|
||
|
|
.RI "A second EOS partial retains both differentiation quantities in its type\&. "
|
||
|
|
.ti -1c
|
||
|
|
.RI "class \fBserif::dimensions::PartialDerivative< OutputQuantity, InputQuantity >\fP"
|
||
|
|
.br
|
||
|
|
.RI "Class to represent a compile time derivative relation between two quantities\&. Note that this class does not, in fact cannot, compute any derivatives itself\&. Rather, this is a way for the compiler to understand higher level mathematical relations\&. Unless you are really in the weeds of the development team you will likely not need to interact with this directly\&. Further note that this class does include (unlike the more basic dimension system) some basic dimensional analysis\&. Specifically, there are some overloaded operators that allow for certain specializations of \fBPartialDerivative\fP to operate on one and other conditioned on what their input and output types are\&. This does not do any thing like convert area to length^2\&. However, it will do more basic things like ensure that you can only add two partials which agree on their dimensions exactly\&. Or that while you can multiple a partial by any scalar, you cannot multiply arbitrary partials\&. "
|
||
|
|
.in -1c
|
||
|
|
.SS "Namespaces"
|
||
|
|
|
||
|
|
.in +1c
|
||
|
|
.ti -1c
|
||
|
|
.RI "namespace \fBserif\fP"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "namespace \fBserif::dimensions\fP"
|
||
|
|
.br
|
||
|
|
.in -1c
|
||
|
|
.SH "Detailed Description"
|
||
|
|
.PP
|
||
|
|
Compile time tools to represent a partial derivative of one quantity wrt\&. another quantity\&. Note that this system is not responsible for computing partials or in fact derivatives of any kind\&. Rather, it is responsible for forcing the developer --- or compiler at least --- to ask for a specific, explicit, partial and have to spell out what that is\&. That in turn gives the compiler enough information to do a lot of downstream things\&. A motivating example would be automatic verification of the provided EOS against all partials that might be needed to ensure they are all exported by the EOS\&.
|
||
|
|
|
||
|
|
|
||
|
|
.PP
|
||
|
|
\fBAuthor\fP
|
||
|
|
.RS 4
|
||
|
|
Emily M\&. Boudreaux
|
||
|
|
.RE
|
||
|
|
.PP
|
||
|
|
|
||
|
|
.SH "Author"
|
||
|
|
.PP
|
||
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|