<!DOCTYPE html><htmllang='en'><head><title>[qty.unit.mag.ops]</title><metacharset='UTF-8'/><linkrel='stylesheet'type='text/css'href='14882.css'/><linkrel='stylesheet'type='text/css'href='https://fonts.googleapis.com/css2?family=Noto+Serif'/><linkrel='stylesheet'type='text/css'href='https://fonts.googleapis.com/css2?family=Noto+Sans'/><linkrel='stylesheet'type='text/css'href='https://fonts.googleapis.com/css2?family=Noto+Sans+Mono'/><linkrel='icon'href='icon.png'/><linkrel='stylesheet'type='text/css'href='expanded.css'title='Normal'/><linkrel='alternate stylesheet'type='text/css'href='colored.css'title='Notes and examples colored'/><linkrel='alternate stylesheet'type='text/css'href='normative-only.css'title='Notes and examples hidden'/></head><body><divclass='wrapper'><h1><aclass='secnum'style='min-width:50pt'>5</a> Quantities and units library <aclass='abbr_ref'href='index.html#quantities'>[quantities]</a></h1><h2><aclass='secnum'style='min-width:65pt'>5.4</a> Reference <aclass='abbr_ref'href='qty.ref.html#qty.unit.mag.ops'>[qty.ref]</a></h2><h3><aclass='secnum'style='min-width:80pt'>5.4.4</a> Unit <aclass='abbr_ref'href='qty.unit.html#mag.ops'>[qty.unit]</a></h3><h4><aclass='secnum'style='min-width:95pt'>5.4.4.2</a> Magnitude <aclass='abbr_ref'href='qty.unit.mag.html#ops'>[qty.unit.mag]</a></h4><h4><aclass='secnum'style='min-width:110pt'>5.4.4.2.4</a> Operations <aclass='abbr_ref'>[qty.unit.mag.ops]</a></h4><divclass='texpara'><divid='lib:UnitMagnitude,operator*'><divid='lib:operator*,UnitMagnitude'><divclass='itemdecl'><divclass='marginalizedparent'><aclass='itemDeclLink'href='#lib:operator*,UnitMagnitude'>🔗</a></div><codeclass='itemdeclcode'><spanclass='keyword'>template</span><spanclass='anglebracket'><</span><ahref='qty.unit.mag.concepts.html#concept:UnitMagnitude'title='5.4.4.2.2 Concepts [qty.unit.mag.concepts]'><spanid='conceptref:UnitMagnitude'><spanclass='texttt'>UnitMagnitude</span></span></a> M<spanclass='anglebracket'>></span>
<spanclass='keyword'>friend</span><spanclass='keyword'>consteval</span><ahref='qty.unit.mag.concepts.html#concept:UnitMagnitude'title='5.4.4.2.2 Concepts [qty.unit.mag.concepts]'><spanid='conceptref:UnitMagnitude_'><spanclass='texttt'>UnitMagnitude</span></span></a><spanclass='keyword'>auto</span><spanclass='keyword'>operator</span><spanclass='operator'>*</span><spanclass='parenthesis'>(</span><spanclass='texttt'><i>unit-magnitude</i></span> lhs, M rhs<spanclass='parenthesis'>)</span>;
</code></div></div></div></div><divclass='para'id='1'><divclass='marginalizedparent'><aclass='marginalized'href='#1'>1</a></div><divclass='itemdescr'><divclass='sourceLinkParent'><aclass='sourceLink'href='https://github.com/mpusz/mp-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L2394'>#</a></div><divclass='texpara'><divid='1.sentence-1'class='sentence'><i>Returns</i>: <ulclass='itemize'><liid='1.1'><divclass='marginalizedparent'style='left:-39mm'><aclass='marginalized'href='#1.1'>(1.1)</a></div><divclass='texpara'><divid='1.1.sentence-1'class='sentence'>If <spanclass='texttt'><spanclass='keyword'>sizeof</span><spanclass='operator'>.</span><spanclass='operator'>.</span><spanclass='operator'>.</span><spanclass='parenthesis'>(</span>Ms<spanclass='parenthesis'>)</span><spanclass='operator'>=</span><spanclass='operator'>=</span><spanclass='literal'>0</span></span> is <spanclass='texttt'><spanclass='literal'>true</span></span>, returns <spanclass='texttt'>rhs</span><aclass='hidden_link'href='#1.1.sentence-1'>.</a></div></div></li><liid='1.2'><divclass='marginalizedparent'style='left:-39mm'><aclass='marginalized'href='#1.2'>(1.2)</a></div><divclass='texpara'><divid='1.2.sentence-1'class='sentence'>Otherwise, if <spanclass='texttt'>std<spanclass='operator'>​::​</span>is_<spanclass='shy'></span>same_<spanclass='shy'></span>v<spanclass='anglebracket'><</span>M, <spanclass='texttt'><i>unit-magnitude</i></span><spanclass='anglebracket'><</span><spanclass='anglebracket'>></span><spanclass='anglebracket'>></span></span>, returns <spanclass='texttt'>lhs</span><aclass='hidden_link'href='#1.2.sentence-1'>.</a></div></div></li><liid='1.3'><divclass='marginalizedparent'style='left:-39mm'><aclass='marginalized'href='#1.3'>(1.3)</a></div><divclass='texpara'><divid='1.3.sentence-1'class='sentence'>Otherwise, returns an unspecified value equal to <spanclass='math'><spanclass='texttt'>lhs</span>×<spanclass='texttt'>rhs</span></span><aclass='hidden_link'href='#1.3.sentence-1'>.</a></div></div></li></ul></div></div></div></div><divclass='texpara'><divid='lib:UnitMagnitude,operator/'><divid='lib:operator/,UnitMagnitude'><divclass='itemdecl'><divclass='marginalizedparent'><aclass='itemDeclLink'href='#lib:operator/,UnitMagnitude'>🔗</a></div><codeclass='itemdeclcode'><spanclass='keyword'>friend</span><spanclass='keyword'>consteval</span><spanclass='keyword'>auto</span><spanclass='keyword'>operator</span><spanclass='operator'>/</span><spanclass='parenthesis'>(</span><spanclass='texttt'><i>unit-magnitude</i></span> lhs, <ahref='qty.unit.mag.concepts.html#concept:UnitMagnitude'title='5.4.4.2.2 Concepts [qty.unit.mag.concepts]'><spanid='conceptref:UnitMagnitude__'><spanclass='texttt'>UnitMagnitude</span></span></a><spanclass='keyword'>auto</span> rhs<spanclass='parenthesis'>)</span>;
</code></div></div></div><divclass='para'id='5'><divclass='marginalizedparent'><aclass='marginalized'href='#5'>5</a></div><divclass='itemdescr'><divclass='sourceLinkParent'><aclass='sourceLink'href='https://github.com/mpusz/mp-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L2453'>#</a></div><divclass='texpara'><divid='5.sentence-1'class='sentence'><i>Constraints</i>: <spanclass='texttt'>V</span> is greater than <spanclass='math'>0</span><aclass='hidden_link'href='#5.sentence-1'>.</a></div></div></div></div><divclass='para'id='6'><divclass='marginalizedparent'><aclass='marginalized'href='#6'>6</a></div><divclass='itemdescr'><divclass='sourceLinkParent'><aclass='sourceLink'href='https://github.com/mpusz/mp-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L2457'>#</a></div><divclass='texpara'><divid='6.sentence-1'class='sentence'><i>Effects</i>: If <spanclass='texttt'><ahref='qty.unit.mag.concepts.html#concept:MagConstant'title='5.4.4.2.2 Concepts [qty.unit.mag.concepts]'><spanid='conceptref:MagConstant'><spanclass='texttt'>MagConstant</span></span></a><spanclass='anglebracket'><</span><spanclass='keyword'>decltype</span><spanclass='parenthesis'>(</span>V<spanclass='parenthesis'>)</span><spanclass='anglebracket'>></span></span> is satisfied,
initializes <spanclass='texttt'>mag</span> with <spanclass='texttt'><spanclass='texttt'><i>unit-magnitude</i></span><spanclass='anglebracket'><</span>V<spanclass='anglebracket'>></span><spanclass='curlybracket'>{</span><spanclass='curlybracket'>}</span></span><aclass='hidden_link'href='#6.sentence-1'>.</a></div><divid='6.sentence-2'class='sentence'>Otherwise, initializes <spanclass='texttt'>mag</span> with
an unspecified value equal to <spanclass='texttt'>V</span><aclass='hidden_link'href='#6.sentence-2'>.</a></div></div></div></div><divclass='texpara'><divid='lib:mag_ratio'><divclass='itemdecl'><divclass='marginalizedparent'><aclass='itemDeclLink'href='#lib:mag_ratio'>🔗</a></div><codeclass='itemdeclcode'><spanclass='keyword'>template</span><spanclass='anglebracket'><</span>std<spanclass='operator'>::</span>intmax_t N, std<spanclass='operator'>::</span>intmax_t D<spanclass='anglebracket'>></span>
</code></div></div></div><divclass='para'id='7'><divclass='marginalizedparent'><aclass='marginalized'href='#7'>7</a></div><divclass='itemdescr'><divclass='sourceLinkParent'><aclass='sourceLink'href='https://github.com/mpusz/mp-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L2473'>#</a></div><divclass='texpara'><divid='7.sentence-1'class='sentence'><i>Effects</i>: Initializes <spanclass='texttt'>mag_<spanclass='shy'></span>ratio</span> with
</code></div></div></div><divclass='para'id='8'><divclass='marginalizedparent'><aclass='marginalized'href='#8'>8</a></div><divclass='itemdescr'><divclass='sourceLinkParent'><aclass='sourceLink'href='https://github.com/mpusz/mp-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L2486'>#</a></div><divclass='texpara'><divid='8.sentence-1'class='sentence'><i>Constraints</i>: <spanclass='texttt'>Base</span> is greater than <spanclass='math'>0</span><aclass='hidden_link'href='#8.sentence-1'>.</a></div></div></div></div></div></body></html>