Documentation for 53a6c16730

This commit is contained in:
github-actions
2022-01-16 16:05:19 +00:00
parent 778f1be9e5
commit 2cab28c905
3620 changed files with 52045 additions and 41188 deletions

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: cpu_scheduling_algorithms/fcfs_scheduling.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -30,8 +30,8 @@ MathJax.Hub.Config({
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
@@ -41,7 +41,7 @@ MathJax.Hub.Config({
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<!-- Generated by Doxygen 1.9.3 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
@@ -171,31 +171,31 @@ template&lt;typename S , typename T , typename E &gt; </div>
</dd>
</dl>
<p>Sorts the input vector according to arrival time. Processes whose arrival times are same get sorted according to process ID For each process, completion time, turnaround time and completion time are calculated, inserted in a tuple, which is added to the vector result. </p><dl class="section return"><dt>Returns</dt><dd>A vector of tuples consisting of process ID, arrival time, burst time, completion time, turnaround time and waiting time for each process. </dd></dl>
<div class="fragment"><div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> {</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/sort.html">sort</a>(input.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), input.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(), sortcol&lt;S, T, E&gt;);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector&lt;tuple&lt;S, T, E, double, double, double&gt;</a>&gt; <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>(input.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">double</span> timeElapsed = 0;</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i{}; i &lt; input.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) {</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> T arrival = get&lt;1&gt;(input[i]);</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> E burst = get&lt;2&gt;(input[i]);</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span> (arrival &gt; timeElapsed) {</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> timeElapsed += arrival - timeElapsed;</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> }</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> timeElapsed += burst;</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">double</span> completion = timeElapsed;</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">double</span> turnaround = completion - arrival;</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">double</span> waiting = turnaround - burst;</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> </div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> get&lt;0&gt;(result[i]) = get&lt;0&gt;(input[i]);</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> get&lt;1&gt;(result[i]) = arrival;</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> get&lt;2&gt;(result[i]) = burst;</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> get&lt;3&gt;(result[i]) = completion;</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> get&lt;4&gt;(result[i]) = turnaround;</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> get&lt;5&gt;(result[i]) = waiting;</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> }</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 226</span> {</div>
<div class="line"><span class="lineno"> 227</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/sort.html">sort</a>(input.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), input.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(), sortcol&lt;S, T, E&gt;);</div>
<div class="line"><span class="lineno"> 228</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector&lt;tuple&lt;S, T, E, double, double, double&gt;</a>&gt; <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>(input.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
<div class="line"><span class="lineno"> 229</span> <span class="keywordtype">double</span> timeElapsed = 0;</div>
<div class="line"><span class="lineno"> 230</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i{}; i &lt; input.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) {</div>
<div class="line"><span class="lineno"> 231</span> T arrival = get&lt;1&gt;(input[i]);</div>
<div class="line"><span class="lineno"> 232</span> E burst = get&lt;2&gt;(input[i]);</div>
<div class="line"><span class="lineno"> 233</span> </div>
<div class="line"><span class="lineno"> 234</span> <span class="keywordflow">if</span> (arrival &gt; timeElapsed) {</div>
<div class="line"><span class="lineno"> 235</span> timeElapsed += arrival - timeElapsed;</div>
<div class="line"><span class="lineno"> 236</span> }</div>
<div class="line"><span class="lineno"> 237</span> timeElapsed += burst;</div>
<div class="line"><span class="lineno"> 238</span> <span class="keywordtype">double</span> completion = timeElapsed;</div>
<div class="line"><span class="lineno"> 239</span> <span class="keywordtype">double</span> turnaround = completion - arrival;</div>
<div class="line"><span class="lineno"> 240</span> <span class="keywordtype">double</span> waiting = turnaround - burst;</div>
<div class="line"><span class="lineno"> 241</span> </div>
<div class="line"><span class="lineno"> 242</span> get&lt;0&gt;(result[i]) = get&lt;0&gt;(input[i]);</div>
<div class="line"><span class="lineno"> 243</span> get&lt;1&gt;(result[i]) = arrival;</div>
<div class="line"><span class="lineno"> 244</span> get&lt;2&gt;(result[i]) = burst;</div>
<div class="line"><span class="lineno"> 245</span> get&lt;3&gt;(result[i]) = completion;</div>
<div class="line"><span class="lineno"> 246</span> get&lt;4&gt;(result[i]) = turnaround;</div>
<div class="line"><span class="lineno"> 247</span> get&lt;5&gt;(result[i]) = waiting;</div>
<div class="line"><span class="lineno"> 248</span> }</div>
<div class="line"><span class="lineno"> 249</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
<div class="line"><span class="lineno"> 250</span>}</div>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/end.html">std::vector::end</a></div><div class="ttdeci">T end(T... args)</div></div>
<div class="ttc" id="afibonacci__sum_8cpp_html_aadb40ac4c74a7efc0680b83eeee138aa"><div class="ttname"><a href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">math::fibonacci_sum::result</a></div><div class="ttdeci">uint64_t result(uint64_t n)</div><div class="ttdef"><b>Definition:</b> fibonacci_sum.cpp:76</div></div>
@@ -223,15 +223,15 @@ template&lt;typename S , typename T , typename E &gt; </div>
<p>Entry point of the program. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
<div class="fragment"><div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> {</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> <a class="code hl_function" href="../../df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 287</span> {</div>
<div class="line"><span class="lineno"> 288</span> <a class="code hl_function" href="../../df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
<div class="line"><span class="lineno"> 289</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><span class="lineno"> 290</span>}</div>
<div class="ttc" id="afcfs__scheduling_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Self-test implementations.</div><div class="ttdef"><b>Definition:</b> fcfs_scheduling.cpp:256</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="../../df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="571" height="170"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="571" height="402"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
@@ -284,14 +284,14 @@ template&lt;typename S , typename T , typename E &gt; </div>
<dl class="section return"><dt>Returns</dt><dd>true if t1 and t2 are in the CORRECT order </dd>
<dd>
false if t1 and t2 are in the INCORRECT order </dd></dl>
<div class="fragment"><div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> {</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">if</span> (get&lt;1&gt;(t1) &lt; get&lt;1&gt;(t2)) {</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (get&lt;1&gt;(t1) == get&lt;1&gt;(t2) &amp;&amp; get&lt;0&gt;(t1) &lt; get&lt;0&gt;(t2)) {</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> }</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 45</span> {</div>
<div class="line"><span class="lineno"> 46</span> <span class="keywordflow">if</span> (get&lt;1&gt;(t1) &lt; get&lt;1&gt;(t2)) {</div>
<div class="line"><span class="lineno"> 47</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 48</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (get&lt;1&gt;(t1) == get&lt;1&gt;(t2) &amp;&amp; get&lt;0&gt;(t1) &lt; get&lt;0&gt;(t2)) {</div>
<div class="line"><span class="lineno"> 49</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 50</span> }</div>
<div class="line"><span class="lineno"> 51</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 52</span>}</div>
</div><!-- fragment -->
</div>
</div>
@@ -320,32 +320,32 @@ false if t1 and t2 are in the INCORRECT order </dd></dl>
<p>Self-test implementations. </p>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
<div class="fragment"><div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> {</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i{}; i &lt; 1000; i++) {</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">srand</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> uint32_t n = 1 + <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">rand</a>() % 1000;</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <a class="code hl_class" href="../../dd/dca/class_f_c_f_s.html">FCFS&lt;uint32_t, uint32_t, uint32_t&gt;</a> readyQueue;</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector&lt;tuple&lt;uint32_t, uint32_t, uint32_t&gt;</a>&gt; input(n);</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> </div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">for</span> (uint32_t i{}; i &lt; n; i++) {</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> get&lt;0&gt;(input[i]) = i;</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">srand</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> get&lt;1&gt;(input[i]) = 1 + <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">rand</a>() % 10000;</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">srand</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> get&lt;2&gt;(input[i]) = 1 + <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">rand</a>() % 10000;</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> }</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> </div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">for</span> (uint32_t i{}; i &lt; n; i++) {</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> readyQueue.<a class="code hl_function" href="../../dd/dca/class_f_c_f_s.html#a8fbfe4d85f7576b4a7aade07d29fbd69">addProcess</a>(get&lt;0&gt;(input[i]), get&lt;1&gt;(input[i]),</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> get&lt;2&gt;(input[i]));</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> }</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector&lt;tuple&lt;uint32_t, uint32_t, uint32_t, double, double, double&gt;</a>&gt;</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> res = get_final_status&lt;uint32_t, uint32_t, uint32_t&gt;(input);</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> assert(res == readyQueue.<a class="code hl_function" href="../../dd/dca/class_f_c_f_s.html#aa25dbe30ba9930b5a7c1a6d11758bd91">scheduleForFcfs</a>());</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> <span class="comment">// readyQueue.printResult();</span></div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> }</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;All the tests have successfully passed!&quot;</span> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 256</span> {</div>
<div class="line"><span class="lineno"> 257</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i{}; i &lt; 1000; i++) {</div>
<div class="line"><span class="lineno"> 258</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">srand</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><span class="lineno"> 259</span> uint32_t n = 1 + <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">rand</a>() % 1000;</div>
<div class="line"><span class="lineno"> 260</span> <a class="code hl_class" href="../../dd/dca/class_f_c_f_s.html">FCFS&lt;uint32_t, uint32_t, uint32_t&gt;</a> readyQueue;</div>
<div class="line"><span class="lineno"> 261</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector&lt;tuple&lt;uint32_t, uint32_t, uint32_t&gt;</a>&gt; input(n);</div>
<div class="line"><span class="lineno"> 262</span> </div>
<div class="line"><span class="lineno"> 263</span> <span class="keywordflow">for</span> (uint32_t i{}; i &lt; n; i++) {</div>
<div class="line"><span class="lineno"> 264</span> get&lt;0&gt;(input[i]) = i;</div>
<div class="line"><span class="lineno"> 265</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">srand</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><span class="lineno"> 266</span> get&lt;1&gt;(input[i]) = 1 + <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">rand</a>() % 10000;</div>
<div class="line"><span class="lineno"> 267</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">srand</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><span class="lineno"> 268</span> get&lt;2&gt;(input[i]) = 1 + <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">rand</a>() % 10000;</div>
<div class="line"><span class="lineno"> 269</span> }</div>
<div class="line"><span class="lineno"> 270</span> </div>
<div class="line"><span class="lineno"> 271</span> <span class="keywordflow">for</span> (uint32_t i{}; i &lt; n; i++) {</div>
<div class="line"><span class="lineno"> 272</span> readyQueue.<a class="code hl_function" href="../../dd/dca/class_f_c_f_s.html#a8fbfe4d85f7576b4a7aade07d29fbd69">addProcess</a>(get&lt;0&gt;(input[i]), get&lt;1&gt;(input[i]),</div>
<div class="line"><span class="lineno"> 273</span> get&lt;2&gt;(input[i]));</div>
<div class="line"><span class="lineno"> 274</span> }</div>
<div class="line"><span class="lineno"> 275</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector&lt;tuple&lt;uint32_t, uint32_t, uint32_t, double, double, double&gt;</a>&gt;</div>
<div class="line"><span class="lineno"> 276</span> res = get_final_status&lt;uint32_t, uint32_t, uint32_t&gt;(input);</div>
<div class="line"><span class="lineno"> 277</span> assert(res == readyQueue.<a class="code hl_function" href="../../dd/dca/class_f_c_f_s.html#aa25dbe30ba9930b5a7c1a6d11758bd91">scheduleForFcfs</a>());</div>
<div class="line"><span class="lineno"> 278</span> <span class="comment">// readyQueue.printResult();</span></div>
<div class="line"><span class="lineno"> 279</span> }</div>
<div class="line"><span class="lineno"> 280</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;All the tests have successfully passed!&quot;</span> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><span class="lineno"> 281</span>}</div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="aclass_f_c_f_s_html"><div class="ttname"><a href="../../dd/dca/class_f_c_f_s.html">FCFS</a></div><div class="ttdoc">Class which implements the FCFS scheduling algorithm.</div><div class="ttdef"><b>Definition:</b> fcfs_scheduling.cpp:97</div></div>
<div class="ttc" id="aclass_f_c_f_s_html_a8fbfe4d85f7576b4a7aade07d29fbd69"><div class="ttname"><a href="../../dd/dca/class_f_c_f_s.html#a8fbfe4d85f7576b4a7aade07d29fbd69">FCFS::addProcess</a></div><div class="ttdeci">void addProcess(S id, T arrival, E burst)</div><div class="ttdoc">Adds the process to the ready queue if it isn't already there.</div><div class="ttdef"><b>Definition:</b> fcfs_scheduling.cpp:129</div></div>
@@ -357,7 +357,7 @@ false if t1 and t2 are in the INCORRECT order </dd></dl>
</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="../../df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg" width="472" height="170"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg" width="472" height="402"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
@@ -369,7 +369,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_cc8e79ed9d2b7756c78e8d0c87c6c0c7.html">cpu_scheduling_algorithms</a></li><li class="navelem"><a class="el" href="../../df/d47/fcfs__scheduling_8cpp.html">fcfs_scheduling.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3 </li>
</ul>
</div>
</body>