mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-22 04:42:10 +08:00
561 lines
40 KiB
HTML
561 lines
40 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Algorithms_in_C++: Complex Class Reference</title>
|
|
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="../../jquery.js"></script>
|
|
<script type="text/javascript" src="../../dynsections.js"></script>
|
|
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="../../resize.js"></script>
|
|
<script type="text/javascript" src="../../navtreedata.js"></script>
|
|
<script type="text/javascript" src="../../navtree.js"></script>
|
|
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="../../search/searchdata.js"></script>
|
|
<script type="text/javascript" src="../../search/search.js"></script>
|
|
<script type="text/x-mathjax-config">
|
|
MathJax.Hub.Config({
|
|
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
|
|
jax: ["input/TeX","output/HTML-CSS"],
|
|
});
|
|
</script>
|
|
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
|
|
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">Algorithms_in_C++
|
|
 <span id="projectnumber">1.0.0</span>
|
|
</div>
|
|
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.20 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="../../menudata.js"></script>
|
|
<script type="text/javascript" src="../../menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('../../',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(function(){initNavTree('da/d5a/class_complex.html','../../'); initResizable(); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pri-attribs">Private Attributes</a> |
|
|
<a href="../../d6/d1f/class_complex-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">Complex Class Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Class <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> to represent complex numbers as a field.
|
|
<a href="../../da/d5a/class_complex.html#details">More...</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a3cfc522c782726f49ee20af17b77f867"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">Complex</a> (double x=0.f, double y=0.f, bool is_polar=false)</td></tr>
|
|
<tr class="memdesc:a3cfc522c782726f49ee20af17b77f867"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> Constructor which initialises our complex number. <a href="../../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">More...</a><br /></td></tr>
|
|
<tr class="separator:a3cfc522c782726f49ee20af17b77f867"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a466cd7b664cc6a864937ceb3dead1323"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a466cd7b664cc6a864937ceb3dead1323">Complex</a> (const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> &other)</td></tr>
|
|
<tr class="memdesc:a466cd7b664cc6a864937ceb3dead1323"><td class="mdescLeft"> </td><td class="mdescRight">Copy Constructor. <a href="../../da/d5a/class_complex.html#a466cd7b664cc6a864937ceb3dead1323">More...</a><br /></td></tr>
|
|
<tr class="separator:a466cd7b664cc6a864937ceb3dead1323"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a312e4b19146128408fb06e0150b0faf6"><td class="memItemLeft" align="right" valign="top"><a id="a312e4b19146128408fb06e0150b0faf6"></a>
|
|
double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a> () const</td></tr>
|
|
<tr class="memdesc:a312e4b19146128408fb06e0150b0faf6"><td class="mdescLeft"> </td><td class="mdescRight">Member function to get real value of our complex number. Member function (getter) to access the class' re value. <br /></td></tr>
|
|
<tr class="separator:a312e4b19146128408fb06e0150b0faf6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af8aacf982e2e6c142921bc850f6dc974"><td class="memItemLeft" align="right" valign="top"><a id="af8aacf982e2e6c142921bc850f6dc974"></a>
|
|
double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a> () const</td></tr>
|
|
<tr class="memdesc:af8aacf982e2e6c142921bc850f6dc974"><td class="mdescLeft"> </td><td class="mdescRight">Member function to get imaginary value of our complex number. Member function (getter) to access the class' im value. <br /></td></tr>
|
|
<tr class="separator:af8aacf982e2e6c142921bc850f6dc974"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae5b51b749ea4964104b9527af9d8f556"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#ae5b51b749ea4964104b9527af9d8f556">abs</a> () const</td></tr>
|
|
<tr class="memdesc:ae5b51b749ea4964104b9527af9d8f556"><td class="mdescLeft"> </td><td class="mdescRight">Member function to give the modulus of our complex number. Member function to which gives the absolute value (modulus) of our complex number. <a href="../../da/d5a/class_complex.html#ae5b51b749ea4964104b9527af9d8f556">More...</a><br /></td></tr>
|
|
<tr class="separator:ae5b51b749ea4964104b9527af9d8f556"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae1e03712837450549e0c9b4017533a41"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#ae1e03712837450549e0c9b4017533a41">arg</a> () const</td></tr>
|
|
<tr class="memdesc:ae1e03712837450549e0c9b4017533a41"><td class="mdescLeft"> </td><td class="mdescRight">Member function to give the argument of our complex number. <a href="../../da/d5a/class_complex.html#ae1e03712837450549e0c9b4017533a41">More...</a><br /></td></tr>
|
|
<tr class="separator:ae1e03712837450549e0c9b4017533a41"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a820afcbb330df716577459d7a3aa3a1c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d5a/class_complex.html">Complex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a820afcbb330df716577459d7a3aa3a1c">operator+</a> (const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> &other)</td></tr>
|
|
<tr class="memdesc:a820afcbb330df716577459d7a3aa3a1c"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload of '+' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to add two complex numbers. <a href="../../da/d5a/class_complex.html#a820afcbb330df716577459d7a3aa3a1c">More...</a><br /></td></tr>
|
|
<tr class="separator:a820afcbb330df716577459d7a3aa3a1c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a36739619a07b5478bcd8a28ad2f8b7da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d5a/class_complex.html">Complex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a36739619a07b5478bcd8a28ad2f8b7da">operator-</a> (const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> &other)</td></tr>
|
|
<tr class="memdesc:a36739619a07b5478bcd8a28ad2f8b7da"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload of '-' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to subtract two complex numbers. <a href="../../da/d5a/class_complex.html#a36739619a07b5478bcd8a28ad2f8b7da">More...</a><br /></td></tr>
|
|
<tr class="separator:a36739619a07b5478bcd8a28ad2f8b7da"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa9b4a7d6083ca7040ddd4fe93db5c19d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d5a/class_complex.html">Complex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#aa9b4a7d6083ca7040ddd4fe93db5c19d">operator*</a> (const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> &other)</td></tr>
|
|
<tr class="memdesc:aa9b4a7d6083ca7040ddd4fe93db5c19d"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload of '*' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to multiple two complex numbers. <a href="../../da/d5a/class_complex.html#aa9b4a7d6083ca7040ddd4fe93db5c19d">More...</a><br /></td></tr>
|
|
<tr class="separator:aa9b4a7d6083ca7040ddd4fe93db5c19d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8d5427f6c42c15283031d73e1418c59d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d5a/class_complex.html">Complex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a8d5427f6c42c15283031d73e1418c59d">operator~</a> () const</td></tr>
|
|
<tr class="memdesc:a8d5427f6c42c15283031d73e1418c59d"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload of '~' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload of the BITWISE NOT which gives us the conjugate of our complex number. NOTE: This is overloading the BITWISE operator but its not a BITWISE operation in this definition. <a href="../../da/d5a/class_complex.html#a8d5427f6c42c15283031d73e1418c59d">More...</a><br /></td></tr>
|
|
<tr class="separator:a8d5427f6c42c15283031d73e1418c59d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac38437c10eb798f176c384a695171b90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d5a/class_complex.html">Complex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#ac38437c10eb798f176c384a695171b90">operator/</a> (const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> &other)</td></tr>
|
|
<tr class="memdesc:ac38437c10eb798f176c384a695171b90"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload of '/' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to divide two complex numbers. This function would throw an exception if the other number is zero. <a href="../../da/d5a/class_complex.html#ac38437c10eb798f176c384a695171b90">More...</a><br /></td></tr>
|
|
<tr class="separator:ac38437c10eb798f176c384a695171b90"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a889215b7b004a3e7ec4d785ca5e7a2ba"><td class="memItemLeft" align="right" valign="top"><a id="a889215b7b004a3e7ec4d785ca5e7a2ba"></a>
|
|
const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a889215b7b004a3e7ec4d785ca5e7a2ba">operator=</a> (const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> &other)</td></tr>
|
|
<tr class="memdesc:a889215b7b004a3e7ec4d785ca5e7a2ba"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload of '=' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to copy RHS instance of <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> to LHS instance of <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a>. <br /></td></tr>
|
|
<tr class="separator:a889215b7b004a3e7ec4d785ca5e7a2ba"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
|
|
Private Attributes</h2></td></tr>
|
|
<tr class="memitem:a843ce2f85af4c57db9063c86f3cd9607"><td class="memItemLeft" align="right" valign="top"><a id="a843ce2f85af4c57db9063c86f3cd9607"></a>
|
|
double </td><td class="memItemRight" valign="bottom"><b>re</b></td></tr>
|
|
<tr class="separator:a843ce2f85af4c57db9063c86f3cd9607"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a776d595d5a1b576e9136cbc6bac0589c"><td class="memItemLeft" align="right" valign="top"><a id="a776d595d5a1b576e9136cbc6bac0589c"></a>
|
|
double </td><td class="memItemRight" valign="bottom"><b>im</b></td></tr>
|
|
<tr class="separator:a776d595d5a1b576e9136cbc6bac0589c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Class <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> to represent complex numbers as a field. </p>
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a3cfc522c782726f49ee20af17b77f867"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3cfc522c782726f49ee20af17b77f867">◆ </a></span>Complex() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Complex::Complex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>x</em> = <code>0.f</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>y</em> = <code>0.f</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>is_polar</em> = <code>false</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> Constructor which initialises our complex number. </p>
|
|
<p><a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> Constructor which initialises the complex number which takes three arguments. </p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">x</td><td>If the third parameter is 'true' then this x is the absolute value of the complex number, if the third parameter is 'false' then this x is the real value of the complex number (optional). </td></tr>
|
|
<tr><td class="paramname">y</td><td>If the third parameter is 'true' then this y is the argument of the complex number, if the third parameter is 'false' then this y is the imaginary value of the complex number (optional). </td></tr>
|
|
<tr><td class="paramname">is_polar</td><td>'false' by default. If we want to initialise our complex number using polar form then set this to true, otherwise set it to false to use initialiser which initialises real and imaginary values using the first two parameters (optional). </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  {</div>
|
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">if</span> (!is_polar) {</div>
|
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  re = x;</div>
|
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  im = y;</div>
|
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span>;</div>
|
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  }</div>
|
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  </div>
|
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  re = x * <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/cos.html">std::cos</a>(y);</div>
|
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  im = x * <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sin.html">std::sin</a>(y);</div>
|
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  }</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="../../da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.svg" width="263" height="88"><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="a466cd7b664cc6a864937ceb3dead1323"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a466cd7b664cc6a864937ceb3dead1323">◆ </a></span>Complex() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Complex::Complex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> & </td>
|
|
<td class="paramname"><em>other</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Copy Constructor. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">other</td><td>The other number to equate our number to. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> : re(other.<a class="code" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a>()), im(other.<a class="code" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a>()) {}</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="ae5b51b749ea4964104b9527af9d8f556"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae5b51b749ea4964104b9527af9d8f556">◆ </a></span>abs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double Complex::abs </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Member function to give the modulus of our complex number. Member function to which gives the absolute value (modulus) of our complex number. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>\( \sqrt{z \bar{z}} \) where \( z \) is our complex number. </dd></dl>
|
|
<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  {</div>
|
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a>(this->re * this->re + this->im * this->im);</div>
|
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  }</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="../../da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.svg" width="232" height="38"><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="ae1e03712837450549e0c9b4017533a41"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae1e03712837450549e0c9b4017533a41">◆ </a></span>arg()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double Complex::arg </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Member function to give the argument of our complex number. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Argument of our <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> number in radians. </dd></dl>
|
|
<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> { <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/atan2.html">std::atan2</a>(this->im, this->re); }</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="../../da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.svg" width="239" height="38"><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="aa9b4a7d6083ca7040ddd4fe93db5c19d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa9b4a7d6083ca7040ddd4fe93db5c19d">◆ </a></span>operator*()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../da/d5a/class_complex.html">Complex</a> Complex::operator* </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> & </td>
|
|
<td class="paramname"><em>other</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Operator overload of '*' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to multiple two complex numbers. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">other</td><td>The other number to multiply the current number to. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>result current number times other number. </dd></dl>
|
|
<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div>
|
|
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="../../da/d5a/class_complex.html">Complex</a> result(this->re * other.re - this->im * other.im,</div>
|
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  this->re * other.im + this->im * other.re);</div>
|
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">return</span> result;</div>
|
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  }</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="a820afcbb330df716577459d7a3aa3a1c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a820afcbb330df716577459d7a3aa3a1c">◆ </a></span>operator+()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../da/d5a/class_complex.html">Complex</a> Complex::operator+ </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> & </td>
|
|
<td class="paramname"><em>other</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Operator overload of '+' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to add two complex numbers. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">other</td><td>The other number that is added to the current number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>result current number plus other number </dd></dl>
|
|
<div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div>
|
|
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="../../da/d5a/class_complex.html">Complex</a> result(this->re + other.re, this->im + other.im);</div>
|
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> result;</div>
|
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="a36739619a07b5478bcd8a28ad2f8b7da"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a36739619a07b5478bcd8a28ad2f8b7da">◆ </a></span>operator-()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../da/d5a/class_complex.html">Complex</a> Complex::operator- </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> & </td>
|
|
<td class="paramname"><em>other</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Operator overload of '-' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to subtract two complex numbers. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">other</td><td>The other number being subtracted from the current number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>result current number subtract other number </dd></dl>
|
|
<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div>
|
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="../../da/d5a/class_complex.html">Complex</a> result(this->re - other.re, this->im - other.im);</div>
|
|
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> result;</div>
|
|
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="ac38437c10eb798f176c384a695171b90"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac38437c10eb798f176c384a695171b90">◆ </a></span>operator/()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../da/d5a/class_complex.html">Complex</a> Complex::operator/ </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> & </td>
|
|
<td class="paramname"><em>other</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Operator overload of '/' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to divide two complex numbers. This function would throw an exception if the other number is zero. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">other</td><td>The other number we divide our number by. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>result Current number divided by other number. </dd></dl>
|
|
<div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  {</div>
|
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="../../da/d5a/class_complex.html">Complex</a> result = *<span class="keyword">this</span> * ~other;</div>
|
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordtype">double</span> denominator =</div>
|
|
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  other.<a class="code" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a>() * other.<a class="code" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a>() + other.<a class="code" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a>() * other.<a class="code" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a>();</div>
|
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">if</span> (denominator != 0) {</div>
|
|
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  result = <a class="code" href="../../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">Complex</a>(result.<a class="code" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a>() / denominator,</div>
|
|
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  result.<a class="code" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a>() / denominator);</div>
|
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> result;</div>
|
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  } <span class="keywordflow">else</span> {</div>
|
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">throw</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">"Undefined Value"</span>);</div>
|
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div>
|
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</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="../../da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.svg" width="444" height="164"><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="a8d5427f6c42c15283031d73e1418c59d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8d5427f6c42c15283031d73e1418c59d">◆ </a></span>operator~()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../da/d5a/class_complex.html">Complex</a> Complex::operator~ </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Operator overload of '~' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload of the BITWISE NOT which gives us the conjugate of our complex number. NOTE: This is overloading the BITWISE operator but its not a BITWISE operation in this definition. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>result The conjugate of our complex number. </dd></dl>
|
|
<div class="fragment"><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  {</div>
|
|
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="../../da/d5a/class_complex.html">Complex</a> result(this->re, -(this->im));</div>
|
|
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> result;</div>
|
|
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  }</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li>math/<a class="el" href="../../d5/d67/complex__numbers_8cpp.html">complex_numbers.cpp</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<div class="ttc" id="aclass_complex_html"><div class="ttname"><a href="../../da/d5a/class_complex.html">Complex</a></div><div class="ttdoc">Class Complex to represent complex numbers as a field.</div><div class="ttdef"><b>Definition:</b> complex_numbers.cpp:20</div></div>
|
|
<div class="ttc" id="aatan2_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/atan2.html">std::atan2</a></div><div class="ttdeci">T atan2(T... args)</div></div>
|
|
<div class="ttc" id="acos_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/cos.html">std::cos</a></div><div class="ttdeci">T cos(T... args)</div></div>
|
|
<div class="ttc" id="aclass_complex_html_a3cfc522c782726f49ee20af17b77f867"><div class="ttname"><a href="../../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">Complex::Complex</a></div><div class="ttdeci">Complex(double x=0.f, double y=0.f, bool is_polar=false)</div><div class="ttdoc">Complex Constructor which initialises our complex number.</div><div class="ttdef"><b>Definition:</b> complex_numbers.cpp:43</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 class="ttc" id="aclass_complex_html_a312e4b19146128408fb06e0150b0faf6"><div class="ttname"><a href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">Complex::real</a></div><div class="ttdeci">double real() const</div><div class="ttdoc">Member function to get real value of our complex number. Member function (getter) to access the class...</div><div class="ttdef"><b>Definition:</b> complex_numbers.cpp:64</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 class="ttdoc">STL class.</div></div>
|
|
<div class="ttc" id="asin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/sin.html">std::sin</a></div><div class="ttdeci">T sin(T... args)</div></div>
|
|
<div class="ttc" id="aclass_complex_html_af8aacf982e2e6c142921bc850f6dc974"><div class="ttname"><a href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">Complex::imag</a></div><div class="ttdeci">double imag() const</div><div class="ttdoc">Member function to get imaginary value of our complex number. Member function (getter) to access the ...</div><div class="ttdef"><b>Definition:</b> complex_numbers.cpp:70</div></div>
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="../../da/d5a/class_complex.html">Complex</a></li>
|
|
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|