Files
MeanField_SERiF/docs/xml/partial_8hpp.xml
Emily Boudreaux 6b57738330 docs(docs): built docs
Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
2026-11-09 14:09:44 -05:00

801 lines
54 KiB
XML

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.13.2" xml:lang="en-US">
<compounddef id="partial_8hpp" kind="file" language="C++">
<compoundname>partial.hpp</compoundname>
<includes refid="quantities_8hpp" local="yes">serif/dimensions/quantities.hpp</includes>
<includes refid="numeric_8hpp" local="yes">serif/utils/misc/concepts/numeric.hpp</includes>
<includedby refid="quantities_8cpp" local="yes">src/compile_time_checks/serif/dimensions/quantities.cpp</includedby>
<includedby refid="eos_2models_2polytropic_8hpp" local="yes">src/include/serif/eos/models/polytropic.hpp</includedby>
<includedby refid="eos_2models_2traits_8hpp" local="yes">src/include/serif/eos/models/traits.hpp</includedby>
<incdepgraph>
<node id="1">
<label>src/include/serif/dimensions/partial.hpp</label>
<link refid="partial_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
</node>
<node id="2">
<label>serif/dimensions/quantities.hpp</label>
<link refid="quantities_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
</node>
<node id="8">
<label>serif/utils/misc/concepts/numeric.hpp</label>
<link refid="numeric_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
</node>
<node id="7">
<label>serif/utils/misc/std_helper/cleaning.hpp</label>
<link refid="cleaning_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
</node>
<node id="4">
<label>compare</label>
</node>
<node id="5">
<label>concepts</label>
</node>
<node id="6">
<label>tuple</label>
</node>
<node id="3">
<label>type_traits</label>
</node>
</incdepgraph>
<invincdepgraph>
<node id="24">
<label>src/compile_time_checks/serif/backend_independent.cpp</label>
<link refid="backend__independent_8cpp"/>
</node>
<node id="2">
<label>src/compile_time_checks/serif/dimensions/quantities.cpp</label>
<link refid="quantities_8cpp"/>
</node>
<node id="4">
<label>src/compile_time_checks/serif/eos/consumers_meanfield.cpp</label>
<link refid="consumers__meanfield_8cpp"/>
</node>
<node id="5">
<label>src/compile_time_checks/serif/eos/evaluation.cpp</label>
<link refid="evaluation_8cpp"/>
</node>
<node id="6">
<label>src/compile_time_checks/serif/eos/models/traits.cpp</label>
<link refid="traits_8cpp"/>
</node>
<node id="7">
<label>src/compile_time_checks/serif/geometry/surface.cpp</label>
<link refid="surface_8cpp"/>
</node>
<node id="8">
<label>src/compile_time_checks/serif/geometry/surface_boundary.cpp</label>
<link refid="surface__boundary_8cpp"/>
</node>
<node id="9">
<label>src/compile_time_checks/serif/model/barotropic_density.cpp</label>
<link refid="barotropic__density_8cpp"/>
</node>
<node id="10">
<label>src/compile_time_checks/serif/model/density_primal.cpp</label>
<link refid="density__primal_8cpp"/>
</node>
<node id="11">
<label>src/compile_time_checks/serif/model/execution_validation.cpp</label>
<link refid="execution__validation_8cpp"/>
</node>
<node id="12">
<label>src/compile_time_checks/serif/model/finite_elements.cpp</label>
<link refid="compile__time__checks_2serif_2model_2finite__elements_8cpp"/>
</node>
<node id="13">
<label>src/compile_time_checks/serif/model/normalization.cpp</label>
<link refid="normalization_8cpp"/>
</node>
<node id="57">
<label>src/compile_time_checks/serif/model/state.cpp</label>
<link refid="state_8cpp"/>
</node>
<node id="14">
<label>src/compile_time_checks/serif/model/validation.cpp</label>
<link refid="compile__time__checks_2serif_2model_2validation_8cpp"/>
</node>
<node id="15">
<label>src/compile_time_checks/serif/operators/coordinate_identity_meanfield.cpp</label>
<link refid="coordinate__identity__meanfield_8cpp"/>
</node>
<node id="16">
<label>src/compile_time_checks/serif/operators/plan.cpp</label>
<link refid="operators_2plan_8cpp"/>
</node>
<node id="22">
<label>src/compile_time_checks/serif/solver/continuation.cpp</label>
<link refid="continuation_8cpp"/>
</node>
<node id="17">
<label>src/compile_time_checks/serif/solver/normalization/plan.cpp</label>
<link refid="solver_2normalization_2plan_8cpp"/>
</node>
<node id="27">
<label>src/compile_time_checks/serif/solver/public_contracts.cpp</label>
<link refid="public__contracts_8cpp"/>
</node>
<node id="52">
<label>src/include/serif/backend/mfem/geometry/surface/boundary_computations.hpp</label>
<link refid="boundary__computations_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="53" relation="include">
</childnode>
<childnode refid="62" relation="include">
</childnode>
</node>
<node id="68">
<label>src/include/serif/backend/mfem/geometry/surface/boundary_data.hpp</label>
<link refid="boundary__data_8hpp"/>
<childnode refid="69" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
</node>
<node id="69">
<label>src/include/serif/backend/mfem/geometry/surface/boundary_inputs.hpp</label>
<link refid="boundary__inputs_8hpp"/>
<childnode refid="52" relation="include">
</childnode>
<childnode refid="70" relation="include">
</childnode>
<childnode refid="71" relation="include">
</childnode>
</node>
<node id="72">
<label>src/include/serif/backend/mfem/geometry/surface/boundary_rows.hpp</label>
<link refid="boundary__rows_8hpp"/>
<childnode refid="53" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
</node>
<node id="53">
<label>src/include/serif/backend/mfem/geometry/surface/pressure_boundary.hpp</label>
<link refid="geometry_2surface_2pressure__boundary_8hpp"/>
<childnode refid="54" relation="include">
</childnode>
</node>
<node id="73">
<label>src/include/serif/backend/mfem/geometry/surface/pressure_field_block.hpp</label>
<link refid="pressure__field__block_8hpp"/>
<childnode refid="70" relation="include">
</childnode>
</node>
<node id="54">
<label>src/include/serif/backend/mfem/model/binding.hpp</label>
<link refid="backend_2mfem_2model_2binding_8hpp"/>
<childnode refid="55" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="70">
<label>src/include/serif/backend/mfem/model/computations/pressure_boundary.hpp</label>
<link refid="model_2computations_2pressure__boundary_8hpp"/>
<childnode refid="62" relation="include">
</childnode>
</node>
<node id="56">
<label>src/include/serif/backend/mfem/model/equilibrium.hpp</label>
<link refid="backend_2mfem_2model_2equilibrium_8hpp"/>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="58" relation="include">
</childnode>
</node>
<node id="55">
<label>src/include/serif/backend/mfem/model/equilibrium_evaluator.hpp</label>
<link refid="equilibrium__evaluator_8hpp"/>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="85">
<label>src/include/serif/backend/mfem/model/failure.hpp</label>
<link refid="backend_2mfem_2model_2failure_8hpp"/>
<childnode refid="55" relation="include">
</childnode>
</node>
<node id="78">
<label>src/include/serif/backend/mfem/model/finite_elements.hpp</label>
<link refid="backend_2mfem_2model_2finite__elements_8hpp"/>
<childnode refid="79" relation="include">
</childnode>
<childnode refid="80" relation="include">
</childnode>
</node>
<node id="62">
<label>src/include/serif/backend/mfem/model/graph.hpp</label>
<link refid="backend_2mfem_2model_2graph_8hpp"/>
<childnode refid="56" relation="include">
</childnode>
<childnode refid="63" relation="include">
</childnode>
</node>
<node id="71">
<label>src/include/serif/backend/mfem/model/normalization/computations.hpp</label>
<link refid="backend_2mfem_2model_2normalization_2computations_8hpp"/>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="36">
<label>src/include/serif/backend/mfem/serialize/configuration.hpp</label>
<link refid="backend_2mfem_2serialize_2configuration_8hpp"/>
</node>
<node id="35">
<label>src/include/serif/backend/mfem/serialize/discretization.hpp</label>
<link refid="serialize_2discretization_8hpp"/>
<childnode refid="36" relation="include">
</childnode>
</node>
<node id="40">
<label>src/include/serif/backend/mfem/serialize/options.hpp</label>
<link refid="backend_2mfem_2serialize_2options_8hpp"/>
</node>
<node id="18">
<label>src/include/serif/backend/mfem/serialize/top.hpp</label>
<link refid="backend_2mfem_2serialize_2top_8hpp"/>
<childnode refid="19" relation="include">
</childnode>
</node>
<node id="63">
<label>src/include/serif/backend/mfem/solver/admissibility/geometry.hpp</label>
<link refid="geometry_8hpp"/>
<childnode refid="58" relation="include">
</childnode>
</node>
<node id="59">
<label>src/include/serif/backend/mfem/solver/equilibrium.hpp</label>
<link refid="backend_2mfem_2solver_2equilibrium_8hpp"/>
<childnode refid="60" relation="include">
</childnode>
</node>
<node id="58">
<label>src/include/serif/backend/mfem/solver/nonlinear/stellar_problem.hpp</label>
<link refid="stellar__problem_8hpp"/>
<childnode refid="59" relation="include">
</childnode>
</node>
<node id="29">
<label>src/include/serif/backend/mfem/solver/seed/fitted.hpp</label>
<link refid="backend_2mfem_2solver_2seed_2fitted_8hpp"/>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
</node>
<node id="30">
<label>src/include/serif/backend/mfem/solver/seed/state.hpp</label>
<link refid="backend_2mfem_2solver_2seed_2state_8hpp"/>
<childnode refid="31" relation="include">
</childnode>
</node>
<node id="1">
<label>src/include/serif/dimensions/partial.hpp</label>
<link refid="partial_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
</node>
<node id="46">
<label>src/include/serif/eos/evaluation.hpp</label>
<link refid="eos_2evaluation_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="47" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
</node>
<node id="45">
<label>src/include/serif/eos/models/concepts.hpp</label>
<link refid="eos_2models_2concepts_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="66" relation="include">
</childnode>
</node>
<node id="3">
<label>src/include/serif/eos/models/polytropic.hpp</label>
<link refid="eos_2models_2polytropic_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
</node>
<node id="44">
<label>src/include/serif/eos/models/traits.hpp</label>
<link refid="eos_2models_2traits_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
</node>
<node id="47">
<label>src/include/serif/equations/barotropic_density.hpp</label>
<link refid="barotropic__density_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="48" relation="include">
</childnode>
</node>
<node id="48">
<label>src/include/serif/equations/equations.hpp</label>
<link refid="equations_2equations_8hpp"/>
<childnode refid="37" relation="include">
</childnode>
</node>
<node id="75">
<label>src/include/serif/geometry/surface/automatic.hpp</label>
<link refid="automatic_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
</node>
<node id="67">
<label>src/include/serif/geometry/surface/compilation.hpp</label>
<link refid="compilation_8hpp"/>
<childnode refid="68" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="84" relation="include">
</childnode>
<childnode refid="64" relation="include">
</childnode>
</node>
<node id="51">
<label>src/include/serif/geometry/surface/computations.hpp</label>
<link refid="geometry_2surface_2computations_8hpp"/>
<childnode refid="52" relation="include">
</childnode>
<childnode refid="64" relation="include">
</childnode>
</node>
<node id="74">
<label>src/include/serif/geometry/surface/detail/automatic_relations.hpp</label>
<link refid="automatic__relations_8hpp"/>
<childnode refid="75" relation="include">
</childnode>
</node>
<node id="50">
<label>src/include/serif/geometry/surface/detail/batches.hpp</label>
<link refid="batches_8hpp"/>
<childnode refid="51" relation="include">
</childnode>
</node>
<node id="49">
<label>src/include/serif/geometry/surface/detail/evaluation.hpp</label>
<link refid="geometry_2surface_2detail_2evaluation_8hpp"/>
<childnode refid="50" relation="include">
</childnode>
<childnode refid="65" relation="include">
</childnode>
</node>
<node id="66">
<label>src/include/serif/geometry/surface/detail/relations.hpp</label>
<link refid="geometry_2surface_2detail_2relations_8hpp"/>
<childnode refid="67" relation="include">
</childnode>
</node>
<node id="65">
<label>src/include/serif/geometry/surface/evaluation.hpp</label>
<link refid="geometry_2surface_2evaluation_8hpp"/>
<childnode refid="64" relation="include">
</childnode>
</node>
<node id="84">
<label>src/include/serif/geometry/surface/linearization.hpp</label>
<link refid="surface_2linearization_8hpp"/>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="86" relation="include">
</childnode>
</node>
<node id="86">
<label>src/include/serif/geometry/surface/samples.hpp</label>
<link refid="samples_8hpp"/>
<childnode refid="69" relation="include">
</childnode>
<childnode refid="50" relation="include">
</childnode>
</node>
<node id="64">
<label>src/include/serif/geometry/surface/surface.hpp</label>
<link refid="surface_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
</node>
<node id="76">
<label>src/include/serif/model/detail/surface_plan.hpp</label>
<link refid="surface__plan_8hpp"/>
<childnode refid="77" relation="include">
</childnode>
</node>
<node id="77">
<label>src/include/serif/model/equilibrium_plan.hpp</label>
<link refid="equilibrium__plan_8hpp"/>
<childnode refid="54" relation="include">
</childnode>
<childnode refid="78" relation="include">
</childnode>
<childnode refid="62" relation="include">
</childnode>
<childnode refid="81" relation="include">
</childnode>
<childnode refid="82" relation="include">
</childnode>
<childnode refid="83" relation="include">
</childnode>
</node>
<node id="81">
<label>src/include/serif/model/execution_validation.hpp</label>
<link refid="execution__validation_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="79">
<label>src/include/serif/model/finite_elements.hpp</label>
<link refid="model_2finite__elements_8hpp"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="60" relation="include">
</childnode>
</node>
<node id="82">
<label>src/include/serif/model/model.hpp</label>
<link refid="model_2model_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="83">
<label>src/include/serif/model/normalization/plan.hpp</label>
<link refid="model_2normalization_2plan_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="71" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
</node>
<node id="23">
<label>src/include/serif/solver/continuation/continuation.hpp</label>
<link refid="continuation_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="61">
<label>src/include/serif/solver/continuation/equilibrium.hpp</label>
<link refid="solver_2continuation_2equilibrium_8hpp"/>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="21">
<label>src/include/serif/solver/continuation/polytropic.hpp</label>
<link refid="solver_2continuation_2polytropic_8hpp"/>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="20">
<label>src/include/serif/solver/continuation/stellar_parameters.hpp</label>
<link refid="stellar__parameters_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="60">
<label>src/include/serif/solver/equilibrium.hpp</label>
<link refid="solver_2equilibrium_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="28">
<label>src/include/serif/solver/seed/fitted.hpp</label>
<link refid="solver_2seed_2fitted_8hpp"/>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
</node>
<node id="26">
<label>src/include/serif/solver/seed/polytrope.hpp</label>
<link refid="polytrope_8hpp"/>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
</node>
<node id="31">
<label>src/include/serif/solver/seed/state.hpp</label>
<link refid="solver_2seed_2state_8hpp"/>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="25">
<label>src/include/serif/solver/solver.hpp</label>
<link refid="solver_2solver_8hpp"/>
</node>
<node id="37">
<label>src/include/serif/utils/serialize/equations.hpp</label>
<link refid="utils_2serialize_2equations_8hpp"/>
<childnode refid="38" relation="include">
</childnode>
</node>
<node id="38">
<label>src/include/serif/utils/serialize/model.hpp</label>
<link refid="utils_2serialize_2model_8hpp"/>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
</node>
<node id="39">
<label>src/include/serif/utils/serialize/numerics.hpp</label>
<link refid="numerics_8hpp"/>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
</node>
<node id="34">
<label>src/include/serif/utils/serialize/physics.hpp</label>
<link refid="physics_8hpp"/>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
</node>
<node id="42">
<label>src/include/serif/utils/serialize/serialize.hpp</label>
<link refid="serialize_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="41">
<label>src/include/serif/utils/serialize/solver.hpp</label>
<link refid="utils_2serialize_2solver_8hpp"/>
<childnode refid="42" relation="include">
</childnode>
</node>
<node id="80">
<label>src/lib/serif/backend/mfem/model/finite_elements.cpp</label>
<link refid="lib_2serif_2backend_2mfem_2model_2finite__elements_8cpp"/>
</node>
<node id="19">
<label>src/lib/serif/backend/mfem/serialize/top.cpp</label>
<link refid="backend_2mfem_2serialize_2top_8cpp"/>
</node>
<node id="43">
<label>src/lib/serif/eos/models/polytropic.cpp</label>
<link refid="polytropic_8cpp"/>
</node>
<node id="32">
<label>src/lib/serif/solver/seed/fitted.cpp</label>
<link refid="fitted_8cpp"/>
</node>
<node id="33">
<label>src/lib/serif/solver/seed/polytrope.cpp</label>
<link refid="polytrope_8cpp"/>
</node>
</invincdepgraph>
<innerclass refid="structserif_1_1dimensions_1_1_with_respect_to" prot="public">serif::dimensions::WithRespectTo</innerclass>
<innerclass refid="classserif_1_1dimensions_1_1_second_partial_derivative" prot="public">serif::dimensions::SecondPartialDerivative</innerclass>
<innerclass refid="classserif_1_1dimensions_1_1_partial_derivative" prot="public">serif::dimensions::PartialDerivative</innerclass>
<innernamespace refid="namespaceserif">serif</innernamespace>
<innernamespace refid="namespaceserif_1_1dimensions">serif::dimensions</innernamespace>
<briefdescription>
<para>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 <mdash/> or compiler at least <mdash/> 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. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="author"><para>Emily M. Boudreaux </para>
</simplesect>
</para>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="quantities_8hpp" kindref="compound">serif/dimensions/quantities.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="numeric_8hpp" kindref="compound">serif/utils/misc/concepts/numeric.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1dimensions" kindref="compound">serif::dimensions</ref><sp/>{</highlight></codeline>
<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;ThermodynamicQuantityType<sp/>Quantity&gt;</highlight></codeline>
<codeline lineno="28" refid="structserif_1_1dimensions_1_1_with_respect_to" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1dimensions_1_1_with_respect_to" kindref="compound">WithRespectTo</ref><sp/>final<sp/>{};</highlight></codeline>
<codeline lineno="29"><highlight class="normal"></highlight></codeline>
<codeline lineno="33"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;ThermodynamicQuantityType<sp/>OutputQuantity,<sp/>ThermodynamicQuantityType<sp/>FirstInput,<sp/>ThermodynamicQuantityType<sp/>SecondInput&gt;</highlight></codeline>
<codeline lineno="34" refid="classserif_1_1dimensions_1_1_second_partial_derivative" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classserif_1_1dimensions_1_1_second_partial_derivative_1a7db0ab2c391eea23328aa280b2ecddbe" kindref="member">SecondPartialDerivative</ref><sp/>final<sp/>{</highlight></codeline>
<codeline lineno="35"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="37"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">explicit</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_second_partial_derivative_1a7db0ab2c391eea23328aa280b2ecddbe" kindref="member">SecondPartialDerivative</ref>(</highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_second_partial_derivative_1ac2c6647ea2c5be44e6cc456ac45c01de" kindref="member">value</ref>)<sp/>noexcept<sp/>:<sp/><ref refid="classserif_1_1dimensions_1_1_second_partial_derivative_1ac663ef2e9da9f26de328b1b6d7e217e4" kindref="member">m_value</ref>(<ref refid="classserif_1_1dimensions_1_1_second_partial_derivative_1ac2c6647ea2c5be44e6cc456ac45c01de" kindref="member">value</ref>)<sp/>{}</highlight></codeline>
<codeline lineno="38"><highlight class="normal"></highlight></codeline>
<codeline lineno="40"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_second_partial_derivative_1ac2c6647ea2c5be44e6cc456ac45c01de" kindref="member">value</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal"><sp/>{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_second_partial_derivative_1ac663ef2e9da9f26de328b1b6d7e217e4" kindref="member">m_value</ref>;<sp/>}</highlight></codeline>
<codeline lineno="41"><highlight class="normal"></highlight></codeline>
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="43"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_second_partial_derivative_1ac663ef2e9da9f26de328b1b6d7e217e4" kindref="member">m_value</ref>;</highlight></codeline>
<codeline lineno="44"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="45"><highlight class="normal"></highlight></codeline>
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;ThermodynamicQuantityType<sp/>OutputQuantity,<sp/>ThermodynamicQuantityType<sp/>InputQuantity&gt;</highlight></codeline>
<codeline lineno="65" refid="classserif_1_1dimensions_1_1_partial_derivative" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative</ref><sp/>final<sp/>{</highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">explicit</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a66c4f7f9f09ddaa9817ac727fe70a6ce" kindref="member">value</ref>)<sp/>noexcept<sp/>:<sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref>(<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a66c4f7f9f09ddaa9817ac727fe70a6ce" kindref="member">value</ref>){}</highlight></codeline>
<codeline lineno="68"><highlight class="normal"></highlight></codeline>
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a66c4f7f9f09ddaa9817ac727fe70a6ce" kindref="member">value</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref>;</highlight></codeline>
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="84"><highlight class="normal"></highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1aae08ff2425621f4b82f1fc9213ee1b44" kindref="member">operator+</ref>(</highlight></codeline>
<codeline lineno="93"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>&amp;<sp/>lhs,</highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>&amp;<sp/>rhs</highlight></codeline>
<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>)<sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="96"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>{lhs.<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref><sp/>+<sp/>rhs.<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref>};</highlight></codeline>
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="98"><highlight class="normal"></highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1ac138ddb13cc66b28e11b587ac64f7894" kindref="member">operator-</ref>(</highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>&amp;<sp/>lhs,</highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>&amp;<sp/>rhs</highlight></codeline>
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>)<sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="110"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>{lhs.<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref><sp/>-<sp/>rhs.<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref>};</highlight></codeline>
<codeline lineno="111"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="112"><highlight class="normal"></highlight></codeline>
<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;utils::misc::concepts::IsNumeric<sp/>Scalar&gt;</highlight></codeline>
<codeline lineno="122"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1ab6c6b8f982f67d1ec00c4755191df297" kindref="member">operator*</ref>(</highlight></codeline>
<codeline lineno="123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>&amp;<sp/>lhs,</highlight></codeline>
<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Scalar&amp;<sp/>rhs</highlight></codeline>
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>)<sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>{lhs.<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref><sp/>*<sp/>rhs};</highlight></codeline>
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="128"><highlight class="normal"></highlight></codeline>
<codeline lineno="137"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;utils::misc::concepts::IsNumeric<sp/>Scalar&gt;</highlight></codeline>
<codeline lineno="138"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1ab6c6b8f982f67d1ec00c4755191df297" kindref="member">operator*</ref>(</highlight></codeline>
<codeline lineno="139"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Scalar&amp;<sp/>lhs,</highlight></codeline>
<codeline lineno="140"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>&amp;<sp/>rhs</highlight></codeline>
<codeline lineno="141"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>)<sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>{lhs<sp/>*<sp/>rhs.<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref>};</highlight></codeline>
<codeline lineno="143"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="144"><highlight class="normal"></highlight></codeline>
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;utils::misc::concepts::IsNumeric<sp/>Scalar&gt;</highlight></codeline>
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a66540431606d2ceba76e63e520a58764" kindref="member">operator/</ref>(</highlight></codeline>
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>&amp;<sp/>lhs,</highlight></codeline>
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Scalar&amp;<sp/>rhs</highlight></codeline>
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>)<sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="158"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>{lhs.<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref><sp/>/<sp/>rhs};</highlight></codeline>
<codeline lineno="159"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="160"><highlight class="normal"></highlight></codeline>
<codeline lineno="168"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;utils::misc::concepts::IsNumeric<sp/>Scalar&gt;</highlight></codeline>
<codeline lineno="169"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::partial_ordering<sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1ada4fa940f2aa7d24f08e69c0c7c7d1ec" kindref="member">operator&lt;=&gt;</ref>(</highlight></codeline>
<codeline lineno="170"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>&amp;<sp/>lhs,</highlight></codeline>
<codeline lineno="171"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Scalar<sp/>rhs</highlight></codeline>
<codeline lineno="172"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>)<sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="173"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lhs.<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref><sp/>&lt;=&gt;<sp/>rhs;</highlight></codeline>
<codeline lineno="174"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="175"><highlight class="normal"></highlight></codeline>
<codeline lineno="183"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;utils::misc::concepts::IsNumeric<sp/>Scalar&gt;</highlight></codeline>
<codeline lineno="184"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::partial_ordering<sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1ada4fa940f2aa7d24f08e69c0c7c7d1ec" kindref="member">operator&lt;=&gt;</ref>(</highlight></codeline>
<codeline lineno="185"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Scalar<sp/>lhs,</highlight></codeline>
<codeline lineno="186"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref>&amp;<sp/>rhs</highlight></codeline>
<codeline lineno="187"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>)<sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="188"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lhs<sp/>&lt;=&gt;<sp/>rhs.<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref>;</highlight></codeline>
<codeline lineno="189"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="190"><highlight class="normal"></highlight></codeline>
<codeline lineno="197"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::partial_ordering<sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1ada4fa940f2aa7d24f08e69c0c7c7d1ec" kindref="member">operator&lt;=&gt;</ref>(</highlight></codeline>
<codeline lineno="198"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref><sp/>&amp;lhs,</highlight></codeline>
<codeline lineno="199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a103cec081b3411c3452dc05235578a3b" kindref="member">PartialDerivative&lt;OutputQuantity, InputQuantity&gt;</ref><sp/>&amp;rhs</highlight></codeline>
<codeline lineno="200"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>)<sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lhs.<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref><sp/>&lt;=&gt;<sp/>rhs.<ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref>;</highlight></codeline>
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="203"><highlight class="normal"></highlight></codeline>
<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="205"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1dimensions_1_1_partial_derivative_1a15beb819b81c1cc82119b3ec0af513b1" kindref="member">m_value</ref>;<sp/></highlight></codeline>
<codeline lineno="206"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="207"><highlight class="normal">}</highlight></codeline>
</programlisting>
<location file="src/include/serif/dimensions/partial.hpp"/>
</compounddef>
</doxygen>