mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-31 01:02:46 +08:00
Documentation for a0227012ec
This commit is contained in:
@@ -211,6 +211,9 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:a8a48be4d7f14e34c5c92925bc1cbf3bb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/namespacemath.html#a8a48be4d7f14e34c5c92925bc1cbf3bb">power_of_two</a> (int n)</td></tr>
|
||||
<tr class="memdesc:a8a48be4d7f14e34c5c92925bc1cbf3bb"><td class="mdescLeft"> </td><td class="mdescRight">This function finds whether a number is power of 2 or not. <br /></td></tr>
|
||||
<tr class="separator:a8a48be4d7f14e34c5c92925bc1cbf3bb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aacb1411ef2029e81f249c21e17c96fdb"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/complex.html">std::complex</a>< long double >, 2 > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/namespacemath.html#aacb1411ef2029e81f249c21e17c96fdb">quadraticEquation</a> (long double a, long double b, long double c)</td></tr>
|
||||
<tr class="memdesc:aacb1411ef2029e81f249c21e17c96fdb"><td class="mdescLeft"> </td><td class="mdescRight">Quadratic equation calculator. <br /></td></tr>
|
||||
<tr class="separator:aacb1411ef2029e81f249c21e17c96fdb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae1ca505751f5a6d3977b86372cfe75ea"><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/namespacemath.html#ae1ca505751f5a6d3977b86372cfe75ea">binomialCoeffSum</a> (uint64_t n)</td></tr>
|
||||
<tr class="separator:ae1ca505751f5a6d3977b86372cfe75ea"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae413098478fa38acaac887b7654f0725"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
@@ -1365,6 +1368,99 @@ template<typename T > </div>
|
||||
<div class="line"><span class="lineno"> 81</span> <span class="keywordflow">return</span> length * width * height / 3;</div>
|
||||
<div class="line"><span class="lineno"> 82</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="aacb1411ef2029e81f249c21e17c96fdb" name="aacb1411ef2029e81f249c21e17c96fdb"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aacb1411ef2029e81f249c21e17c96fdb">◆ </a></span>quadraticEquation()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/complex.html">std::complex</a>< long double >, 2 > math::quadraticEquation </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">long double </td>
|
||||
<td class="paramname"><em>a</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">long double </td>
|
||||
<td class="paramname"><em>b</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">long double </td>
|
||||
<td class="paramname"><em>c</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Quadratic equation calculator. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">a</td><td>quadratic coefficient. </td></tr>
|
||||
<tr><td class="paramname">b</td><td>linear coefficient. </td></tr>
|
||||
<tr><td class="paramname">c</td><td>constant </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Array containing the roots of quadratic equation, incl. complex root. </dd></dl>
|
||||
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="../../df/dcd/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2quadratic_equations_complex_numbers_8cpp-example.html#a1">/Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp</a>.</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 55</span> {</div>
|
||||
<div class="line"><span class="lineno"> 56</span> <span class="keywordflow">if</span> (a == 0) {</div>
|
||||
<div class="line"><span class="lineno"> 57</span> <span class="keywordflow">throw</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">"quadratic coefficient cannot be 0"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 58</span> }</div>
|
||||
<div class="line"><span class="lineno"> 59</span> </div>
|
||||
<div class="line"><span class="lineno"> 60</span> <span class="keywordtype">long</span> <span class="keywordtype">double</span> discriminant = b * b - 4 * a * c;</div>
|
||||
<div class="line"><span class="lineno"> 61</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array<std::complex<long double></a>, 2> solutions{0, 0};</div>
|
||||
<div class="line"><span class="lineno"> 62</span> </div>
|
||||
<div class="line"><span class="lineno"> 63</span> <span class="keywordflow">if</span> (discriminant == 0) {</div>
|
||||
<div class="line"><span class="lineno"> 64</span> solutions[0] = -b * 0.5 / a;</div>
|
||||
<div class="line"><span class="lineno"> 65</span> solutions[1] = -b * 0.5 / a;</div>
|
||||
<div class="line"><span class="lineno"> 66</span> <span class="keywordflow">return</span> solutions;</div>
|
||||
<div class="line"><span class="lineno"> 67</span> }</div>
|
||||
<div class="line"><span class="lineno"> 68</span> </div>
|
||||
<div class="line"><span class="lineno"> 69</span> <span class="comment">// Complex root (discriminant < 0)</span></div>
|
||||
<div class="line"><span class="lineno"> 70</span> <span class="comment">// Note that the left term (-b / 2a) is always real. The imaginary part</span></div>
|
||||
<div class="line"><span class="lineno"> 71</span> <span class="comment">// appears when b^2 - 4ac < 0, so sqrt(b^2 - 4ac) has no real roots. So,</span></div>
|
||||
<div class="line"><span class="lineno"> 72</span> <span class="comment">// the imaginary component is i * (+/-)sqrt(abs(b^2 - 4ac)) / 2a.</span></div>
|
||||
<div class="line"><span class="lineno"> 73</span> <span class="keywordflow">if</span> (discriminant > 0) {</div>
|
||||
<div class="line"><span class="lineno"> 74</span> <span class="comment">// Since discriminant > 0, there are only real roots. Therefore,</span></div>
|
||||
<div class="line"><span class="lineno"> 75</span> <span class="comment">// imaginary component = 0.</span></div>
|
||||
<div class="line"><span class="lineno"> 76</span> solutions[0] = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/complex.html">std::complex<long double></a>{</div>
|
||||
<div class="line"><span class="lineno"> 77</span> (-b - <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a>(discriminant)) * 0.5 / a, 0};</div>
|
||||
<div class="line"><span class="lineno"> 78</span> solutions[1] = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/complex.html">std::complex<long double></a>{</div>
|
||||
<div class="line"><span class="lineno"> 79</span> (-b + <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a>(discriminant)) * 0.5 / a, 0};</div>
|
||||
<div class="line"><span class="lineno"> 80</span> <span class="keywordflow">return</span> solutions;</div>
|
||||
<div class="line"><span class="lineno"> 81</span> }</div>
|
||||
<div class="line"><span class="lineno"> 82</span> <span class="comment">// Since b^2 - 4ac is < 0, for faster computation, -discriminant is</span></div>
|
||||
<div class="line"><span class="lineno"> 83</span> <span class="comment">// enough to make it positive.</span></div>
|
||||
<div class="line"><span class="lineno"> 84</span> solutions[0] = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/complex.html">std::complex<long double></a>{</div>
|
||||
<div class="line"><span class="lineno"> 85</span> -b * 0.5 / a, -<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a>(-discriminant) * 0.5 / a};</div>
|
||||
<div class="line"><span class="lineno"> 86</span> solutions[1] = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/complex.html">std::complex<long double></a>{</div>
|
||||
<div class="line"><span class="lineno"> 87</span> -b * 0.5 / a, <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a>(-discriminant) * 0.5 / a};</div>
|
||||
<div class="line"><span class="lineno"> 88</span> </div>
|
||||
<div class="line"><span class="lineno"> 89</span> <span class="keywordflow">return</span> solutions;</div>
|
||||
<div class="line"><span class="lineno"> 90</span>}</div>
|
||||
<div class="ttc" id="aarray_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a></div></div>
|
||||
<div class="ttc" id="acomplex_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/complex.html">std::complex</a></div></div>
|
||||
<div class="ttc" id="ainvalid_argument_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a></div></div>
|
||||
<div class="ttc" id="asqrt_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a></div><div class="ttdeci">T sqrt(T... args)</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.svg" width="291" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ab31d141f7c5b551746b1eee0eb4dedca" name="ab31d141f7c5b551746b1eee0eb4dedca"></a>
|
||||
|
||||
@@ -25,6 +25,7 @@ var namespacemath =
|
||||
[ "power_of_two", "dd/d47/namespacemath.html#a8a48be4d7f14e34c5c92925bc1cbf3bb", null ],
|
||||
[ "print_primes", "dd/d47/namespacemath.html#ad09d59850865012a6fd95d89954c82e4", null ],
|
||||
[ "pyramid_volume", "dd/d47/namespacemath.html#a94db02b3c9e55a69ac1696f30e2f761c", null ],
|
||||
[ "quadraticEquation", "dd/d47/namespacemath.html#aacb1411ef2029e81f249c21e17c96fdb", null ],
|
||||
[ "rect_area", "dd/d47/namespacemath.html#ab31d141f7c5b551746b1eee0eb4dedca", null ],
|
||||
[ "rect_perimeter", "dd/d47/namespacemath.html#a428769a16e9525e56588d7c7709d25a6", null ],
|
||||
[ "rect_prism_volume", "dd/d47/namespacemath.html#a3fdc74c24697ec5bb5c3698c96117c12", null ],
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<map id="math::quadraticEquation" name="math::quadraticEquation">
|
||||
<area shape="rect" id="node1" title="Quadratic equation calculator." alt="" coords="5,5,168,31"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/sqrt.html#" title=" " alt="" coords="216,5,285,31"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
dd24a2d6daec40a8c64c7af07100daa6
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 8.0.4 (20230421.1958)
|
||||
-->
|
||||
<!-- Title: math::quadraticEquation Pages: 1 -->
|
||||
<svg width="218pt" height="27pt"
|
||||
viewBox="0.00 0.00 217.75 27.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 23.25)">
|
||||
<title>math::quadraticEquation</title>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Quadratic equation calculator.">
|
||||
<polygon fill="#999999" stroke="#666666" points="121.75,-19.25 0,-19.25 0,0 121.75,0 121.75,-19.25"/>
|
||||
<text text-anchor="middle" x="60.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">math::quadraticEquation</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="#666666" points="209.75,-19.25 157.75,-19.25 157.75,0 209.75,0 209.75,-19.25"/>
|
||||
<text text-anchor="middle" x="183.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::sqrt</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="#63b8ff" d="M121.96,-9.62C130.4,-9.62 138.85,-9.62 146.65,-9.62"/>
|
||||
<polygon fill="#63b8ff" stroke="#63b8ff" points="146.53,-13.13 156.53,-9.62 146.53,-6.13 146.53,-13.13"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
Reference in New Issue
Block a user