[#mp_units-power]
= xref:mp_units.adoc[mp&lowbar;units]::power
:relfileprefix: ../
:mrdocs:

Type container for exponents with ratio different than `1`

== Synopsis

Declared in `&lt;mp&hyphen;units&sol;framework&sol;symbolic&lowbar;expression&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    &sol;&ast; implementation-defined &ast;&sol; F,
    int Num,
    int Den&period;&period;&period;&gt;
requires (detail&colon;&colon;valid&lowbar;ratio&lt;Num, Den&period;&period;&period;&gt; &amp;&amp; detail&colon;&colon;positive&lowbar;ratio&lt;Num, Den&period;&period;&period;&gt; &amp;&amp; !detail&colon;&colon;ratio&lowbar;one&lt;Num, Den&period;&period;&period;&gt;)
struct power final
----

== Types

[cols=1]
|===
| Name
| xref:mp_units/power/_factor_.adoc[`&lowbar;factor&lowbar;`] 
|===

== Static Data Members

[cols=1]
|===
| Name
| xref:mp_units/power/_exponent_.adoc[`&lowbar;exponent&lowbar;`] 
|===

== Description

Ratio must be mathematically valid and non&hyphen;negative&period; Negative exponents are passed to `per&lt;&period;&period;&period;&gt;` with inverted sign (as positive exponents)&period;

[NOTE]
====
`Den` is an optional parameter to shorten the types presented to the user in the case when `Den` equals `1`&period;

====

== Template Parameters

[cols=2]
|===
| Name
| Description
| *F*
| factor to be raised to specified power
| *Num*
| Power ratio numerator
| *Den*
| &lsqb;optional&rsqb;Power ration denominator
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
