This repository has been archived by the owner on Nov 7, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from jchristopherson/Development-v1.1.0
Development v1.1.0
- Loading branch information
Showing
298 changed files
with
3,570 additions
and
1,016 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,168 @@ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
<html xmlns="http:https://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.16"/> | ||
<meta name="viewport" content="width=device-width, initial-scale=1"/> | ||
<title>fcore: C:/Users/jchri/Documents/github/fcore/src/collections_hash.f90 Source File</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> | ||
<script type="text/javascript"> | ||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ | ||
$(document).ready(initResizable); | ||
/* @license-end */</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> | ||
<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">fcore | ||
 <span id="projectnumber">1.1.0</span> | ||
</div> | ||
<div id="projectbrief">A Fortran library containing string handling, i/o routines, etc.</div> | ||
</td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
</div> | ||
<!-- end header part --> | ||
<!-- Generated by Doxygen 1.8.16 --> | ||
<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('collections__hash_8f90_source.html','');}); | ||
/* @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="headertitle"> | ||
<div class="title">collections_hash.f90</div> </div> | ||
</div><!--header--> | ||
<div class="contents"> | ||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">! collections_hash.f90</span></div> | ||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  </div> | ||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> submodule(<a class="code" href="namespacecollections.html">collections</a>) collections_hash</div> | ||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="keyword">contains</span></div> | ||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">! ******************************************************************************</span></div> | ||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">! HASH_GENERATOR MEMBERS</span></div> | ||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">! ------------------------------------------------------------------------------</span></div> | ||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  <span class="keyword">module</span> subroutine hc_init(this)</div> | ||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  <span class="comment">! Arguments</span></div> | ||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  <span class="keywordtype">class</span>(hash_code), <span class="keywordtype">intent(inout)</span> :: this</div> | ||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  </div> | ||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  <span class="comment">! Local Variables</span></div> | ||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  <span class="keywordtype">integer(int64)</span> :: rem</div> | ||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  <span class="keywordtype">integer(int32)</span> :: i, j</div> | ||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  </div> | ||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="comment">! Process</span></div> | ||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keywordflow">if</span> (.not.this%have_table) <span class="keywordflow">then</span></div> | ||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <span class="keywordflow">do</span> i = 1, <span class="keyword">size</span>(this%table)</div> | ||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  rem = int(i - 1, int64)</div> | ||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keywordflow">do</span> j = 1, 8</div> | ||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <span class="keywordflow">if</span> (iand(rem, 1_int64) /= 0_int64) <span class="keywordflow">then</span></div> | ||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  rem = ieor(ishft(rem, -abs(1_int64)), this%crcpoly)</div> | ||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keywordflow">else</span></div> | ||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  rem = ishft(rem, -abs(1_int64))</div> | ||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keywordflow"> end if</span></div> | ||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keywordflow"> end do</span></div> | ||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  this%table(i) = rem</div> | ||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow"> end do</span></div> | ||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  this%have_table = .true.</div> | ||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow"> end if</span></div> | ||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keyword">end subroutine</span></div> | ||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  </div> | ||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">! ------------------------------------------------------------------------------</span></div> | ||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">module</span> function hc_get(this, str) result(rst)</div> | ||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="comment">! Arguments</span></div> | ||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordtype">class</span>(hash_code), <span class="keywordtype">intent(inout)</span> :: this</div> | ||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordtype">character(len = *)</span>, <span class="keywordtype">intent(in)</span> :: str</div> | ||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordtype">integer(int64)</span> :: rst</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>  <span class="comment">! Local Variables</span></div> | ||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordtype">integer(int32)</span> :: i, j, n</div> | ||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordtype">integer(int64)</span> :: crc</div> | ||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div> | ||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">! Parameters</span></div> | ||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordtype">integer(int64)</span>, <span class="keywordtype">parameter</span> :: ff = int(z<span class="stringliteral">'ff'</span>, int64)</div> | ||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div> | ||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="comment">! Ensure initialization</span></div> | ||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">if</span> (.not.this%have_table) <span class="keyword">call </span>this%initialize()</div> | ||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  </div> | ||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="comment">! Process</span></div> | ||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  crc = this%initxor</div> | ||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  n = len(str)</div> | ||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">do</span> i = 1, n</div> | ||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  j = int(iand(ieor(crc, int(iachar(str(i:i)), int64)), ff))</div> | ||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  crc = ieor(ishft(crc, -abs(8_int64)), this%table(j + 1))</div> | ||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow"> end do</span></div> | ||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  rst = ieor(crc, this%finalxor)</div> | ||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">end function</span></div> | ||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  </div> | ||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">! ------------------------------------------------------------------------------</span></div> | ||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">end </span>submodule</div> | ||
</div><!-- fragment --></div><!-- contents --> | ||
</div><!-- doc-content --> | ||
<div class="ttc" id="anamespacecollections_html"><div class="ttname"><a href="namespacecollections.html">collections</a></div><div class="ttdoc">Provides types supporting various collections of objects.</div><div class="ttdef"><b>Definition:</b> <a href="collections_8f90_source.html#l00004">collections.f90:4</a></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="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><b>collections_hash.f90</b></li> | ||
<li class="footer">Generated by | ||
<a href="http:https://www.doxygen.org/index.html"> | ||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li> | ||
</ul> | ||
</div> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.