<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
  Class: MDArray::Counter
  
    &mdash; Documentation by YARD 0.8.7.6
  
</title>

  <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />

  <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />

<script type="text/javascript" charset="utf-8">
  hasFrames = window.top.frames.main ? true : false;
  relpath = '../';
  framesUrl = "../frames.html#!MDArray/Counter.html";
</script>


  <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>

  <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>


  </head>
  <body>
    <div id="header">
      <div id="menu">
  
    <a href="../_index.html">Index (C)</a> &raquo;
    <span class='title'><span class='object_link'><a href="../MDArray.html" title="MDArray (class)">MDArray</a></span></span>
     &raquo; 
    <span class="title">Counter</span>
  

  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
</div>

      <div id="search">
  
    <a class="full_list_link" id="class_list_link"
        href="../class_list.html">
      Class List
    </a>
  
    <a class="full_list_link" id="method_list_link"
        href="../method_list.html">
      Method List
    </a>
  
    <a class="full_list_link" id="file_list_link"
        href="../file_list.html">
      File List
    </a>
  
</div>
      <div class="clear"></div>
    </div>

    <iframe id="search_frame"></iframe>

    <div id="content"><h1>Class: MDArray::Counter
  
  
  
</h1>

<dl class="box">
  
    <dt class="r1">Inherits:</dt>
    <dd class="r1">
      <span class="inheritName">Object</span>
      
        <ul class="fullTree">
          <li>Object</li>
          
            <li class="next">MDArray::Counter</li>
          
        </ul>
        <a href="#" class="inheritanceTree">show all</a>
      
      </dd>
    
  
  
    
  
    
      <dt class="r2">Includes:</dt>
      <dd class="r2">Enumerable</dd>
      
    
  
  
  
    <dt class="r1 last">Defined in:</dt>
    <dd class="r1 last">lib/mdarray/counter.rb</dd>
  
</dl>
<div class="clear"></div>

<h2>Overview</h2><div class="docstring">
  <div class="discussion">
    <hr>

<p>Counters for Multidimensional arrays. A Counter refers to a particular
element of an  array. This is a generalization of index as int[].</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div>



  <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
  <ul class="summary">
    
      <li class="public ">
  <span class="summary_signature">
    
      <a href="#counter-instance_method" title="#counter (instance method)">- (Object) <strong>counter</strong> </a>
    

    
  </span>
  
  
  
    
      <span class="note title readonly">readonly</span>
    
    
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute counter.</p>
</div></span>
  
</li>

    
      <li class="public ">
  <span class="summary_signature">
    
      <a href="#finish-instance_method" title="#finish (instance method)">- (Object) <strong>finish</strong> </a>
    

    
  </span>
  
  
  
    
      <span class="note title readonly">readonly</span>
    
    
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute finish.</p>
</div></span>
  
</li>

    
      <li class="public ">
  <span class="summary_signature">
    
      <a href="#mdarray-instance_method" title="#mdarray (instance method)">- (Object) <strong>mdarray</strong> </a>
    

    
  </span>
  
  
  
    
      <span class="note title readonly">readonly</span>
    
    
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute mdarray.</p>
</div></span>
  
</li>

    
      <li class="public ">
  <span class="summary_signature">
    
      <a href="#nc_index-instance_method" title="#nc_index (instance method)">- (Object) <strong>nc_index</strong> </a>
    

    
  </span>
  
  
  
    
      <span class="note title readonly">readonly</span>
    
    
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute nc_index.</p>
</div></span>
  
</li>

    
      <li class="public ">
  <span class="summary_signature">
    
      <a href="#shape-instance_method" title="#shape (instance method)">- (Object) <strong>shape</strong> </a>
    

    
  </span>
  
  
  
    
      <span class="note title readonly">readonly</span>
    
    
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute shape.</p>
</div></span>
  
</li>

    
      <li class="public ">
  <span class="summary_signature">
    
      <a href="#start-instance_method" title="#start (instance method)">- (Object) <strong>start</strong> </a>
    

    
  </span>
  
  
  
    
      <span class="note title readonly">readonly</span>
    
    
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>-------------------------------------------------------------------------------------
Accessor methods for start, finish and position.</p>
</div></span>
  
</li>

    
  </ul>




  
    <h2>
      Instance Method Summary
      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
    </h2>

    <ul class="summary">
      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#%5B%5D-instance_method" title="#[] (instance method)">- (Object) <strong>[]</strong>(*counter) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>------------------------------------------------------------------------------------
Gets the element at the given counter.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#%5B%5D%3D-instance_method" title="#[]= (instance method)">- (Object) <strong>[]=</strong>(counter, value) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>------------------------------------------------------------------------------------
Sets the value of counter.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#each-instance_method" title="#each (instance method)">- (Object) <strong>each</strong> </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>-------------------------------------------------------------------------------------.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#each_along_axes-instance_method" title="#each_along_axes (instance method)">- (Object) <strong>each_along_axes</strong>(axes) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>-------------------------------------------------------------------------------------
Walks the counter along each of the axes.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#get-instance_method" title="#get (instance method)">- (Object) <strong>get</strong>(counter) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>------------------------------------------------------------------------------------
Gets the element at the given counter.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#get_as-instance_method" title="#get_as (instance method)">- (Object) <strong>get_as</strong>(type, count = nil) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>------------------------------------------------------------------------------------
Gets the element at the courrent counter with the given type
------------------------------------------------------------------------------------.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#get_current-instance_method" title="#get_current (instance method)">- (Object) <strong>get_current</strong> </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>------------------------------------------------------------------------------------
Gets element at current counter.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#get_scalar-instance_method" title="#get_scalar (instance method)">- (Object) <strong>get_scalar</strong> </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>---------------------------------------------------------------------------------------.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#initialize-instance_method" title="#initialize (instance method)">- (Counter) <strong>initialize</strong>(mdarray) </a>
    

    
  </span>
  
  
    <span class="note title constructor">constructor</span>
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>------------------------------------------------------------------------------------.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#jget-instance_method" title="#jget (instance method)">- (Object) <strong>jget</strong>(counter) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>------------------------------------------------------------------------------------
Gets the element at the given counter.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#reset_counter-instance_method" title="#reset_counter (instance method)">- (Object) <strong>reset_counter</strong> </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>------------------------------------------------------------------------------------
Reset the counter to the defined start value
------------------------------------------------------------------------------------.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#set-instance_method" title="#set (instance method)">- (Object) <strong>set</strong>(counter, value) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>------------------------------------------------------------------------------------
Sets the value of counter.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#set_current-instance_method" title="#set_current (instance method)">- (Object) <strong>set_current</strong>(value) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>------------------------------------------------------------------------------------
Sets value of current counter.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#set_finish-instance_method" title="#set_finish (instance method)">- (Object) <strong>set_finish</strong>(finish) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>-------------------------------------------------------------------------------------
Sets the finishing position of the index
-------------------------------------------------------------------------------------.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#set_scalar-instance_method" title="#set_scalar (instance method)">- (Object) <strong>set_scalar</strong>(value) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>---------------------------------------------------------------------------------------.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#set_start-instance_method" title="#set_start (instance method)">- (Object) <strong>set_start</strong>(start) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>-------------------------------------------------------------------------------------
Sets the starting position of the index
-------------------------------------------------------------------------------------.</p>
</div></span>
  
</li>

      
    </ul>
  


  <div id="constructor_details" class="method_details_list">
  <h2>Constructor Details</h2>
  
    <div class="method_details first">
  <h3 class="signature first" id="initialize-instance_method">
  
    - (<tt><span class='object_link'><a href="" title="MDArray::Counter (class)">Counter</a></span></tt>) <strong>initialize</strong>(mdarray) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 56</span>

<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_mdarray'>mdarray</span><span class='rparen'>)</span>

  <span class='ivar'>@mdarray</span> <span class='op'>=</span> <span class='id identifier rubyid_mdarray'>mdarray</span>
  <span class='ivar'>@nc_index</span> <span class='op'>=</span> <span class='id identifier rubyid_mdarray'>mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_getIndex'>getIndex</span><span class='lparen'>(</span><span class='rparen'>)</span>
  <span class='ivar'>@shape</span> <span class='op'>=</span> <span class='ivar'>@nc_index</span><span class='period'>.</span><span class='id identifier rubyid_getShape'>getShape</span><span class='lparen'>(</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span>

  <span class='comment'># by default the starting index is the [0] index (first element)
</span>  <span class='id identifier rubyid_shape'>shape</span> <span class='op'>=</span> <span class='ivar'>@shape</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
  <span class='id identifier rubyid_set_start'>set_start</span><span class='lparen'>(</span><span class='id identifier rubyid_shape'>shape</span><span class='period'>.</span><span class='id identifier rubyid_fill'>fill</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span><span class='rparen'>)</span>
  <span class='comment'># by default the finish index is the last element of the array
</span>  <span class='id identifier rubyid_finish'>finish</span> <span class='op'>=</span> <span class='const'>Array</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
  <span class='ivar'>@shape</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_val'>val</span><span class='op'>|</span>
    <span class='id identifier rubyid_finish'>finish</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_val'>val</span> <span class='op'>-</span> <span class='int'>1</span>
  <span class='kw'>end</span>

  <span class='id identifier rubyid_set_finish'>set_finish</span><span class='lparen'>(</span><span class='id identifier rubyid_finish'>finish</span><span class='rparen'>)</span>

<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
  
</div>

  <div id="instance_attr_details" class="attr_details">
    <h2>Instance Attribute Details</h2>
    
      
      <span id=""></span>
      <div class="method_details first">
  <h3 class="signature first" id="counter-instance_method">
  
    - (<tt>Object</tt>) <strong>counter</strong>  <span class="extras">(readonly)</span>
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns the value of attribute counter</p>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


50
51
52</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 50</span>

<span class='kw'>def</span> <span class='id identifier rubyid_counter'>counter</span>
  <span class='ivar'>@counter</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      
      <span id=""></span>
      <div class="method_details ">
  <h3 class="signature " id="finish-instance_method">
  
    - (<tt>Object</tt>) <strong>finish</strong>  <span class="extras">(readonly)</span>
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns the value of attribute finish</p>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


49
50
51</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 49</span>

<span class='kw'>def</span> <span class='id identifier rubyid_finish'>finish</span>
  <span class='ivar'>@finish</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      
      <span id=""></span>
      <div class="method_details ">
  <h3 class="signature " id="mdarray-instance_method">
  
    - (<tt>Object</tt>) <strong>mdarray</strong>  <span class="extras">(readonly)</span>
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns the value of attribute mdarray</p>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


45
46
47</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 45</span>

<span class='kw'>def</span> <span class='id identifier rubyid_mdarray'>mdarray</span>
  <span class='ivar'>@mdarray</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      
      <span id=""></span>
      <div class="method_details ">
  <h3 class="signature " id="nc_index-instance_method">
  
    - (<tt>Object</tt>) <strong>nc_index</strong>  <span class="extras">(readonly)</span>
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns the value of attribute nc_index</p>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


46
47
48</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 46</span>

<span class='kw'>def</span> <span class='id identifier rubyid_nc_index'>nc_index</span>
  <span class='ivar'>@nc_index</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      
      <span id=""></span>
      <div class="method_details ">
  <h3 class="signature " id="shape-instance_method">
  
    - (<tt>Object</tt>) <strong>shape</strong>  <span class="extras">(readonly)</span>
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns the value of attribute shape</p>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


47
48
49</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 47</span>

<span class='kw'>def</span> <span class='id identifier rubyid_shape'>shape</span>
  <span class='ivar'>@shape</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      
      <span id=""></span>
      <div class="method_details ">
  <h3 class="signature " id="start-instance_method">
  
    - (<tt>Object</tt>) <strong>start</strong>  <span class="extras">(readonly)</span>
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Accessor methods for start, finish and position.</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


110
111
112</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 110</span>

<span class='kw'>def</span> <span class='id identifier rubyid_start'>start</span>
  <span class='ivar'>@start</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
  </div>


  <div id="instance_method_details" class="method_details_list">
    <h2>Instance Method Details</h2>

    
      <div class="method_details first">
  <h3 class="signature first" id="[]-instance_method">
  
    - (<tt>Object</tt>) <strong>[]</strong>(*counter) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Gets the element at the given counter.  If counter is not basic, try to fix
it to its basic form.</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


166
167
168
169</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 166</span>

<span class='kw'>def</span> <span class='op'>[]</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_counter'>counter</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_set_counter'>set_counter</span><span class='lparen'>(</span><span class='id identifier rubyid_counter'>counter</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_get_at_counter'>get_at_counter</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="[]=-instance_method">
  
    - (<tt>Object</tt>) <strong>[]=</strong>(counter, value) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Sets the value of counter.  If counter is not basic, try to fix it to its
basic form.</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


251
252
253
254</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 251</span>

<span class='kw'>def</span> <span class='op'>[]=</span> <span class='lparen'>(</span><span class='id identifier rubyid_counter'>counter</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_set_counter'>set_counter</span><span class='lparen'>(</span><span class='id identifier rubyid_counter'>counter</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_set_at_counter'>set_at_counter</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="each-instance_method">
  
    - (<tt>Object</tt>) <strong>each</strong> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


134
135
136
137
138
139
140
141</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 134</span>

<span class='kw'>def</span> <span class='id identifier rubyid_each'>each</span>

  <span class='id identifier rubyid_reset_counter'>reset_counter</span>
  <span class='kw'>begin</span>
    <span class='kw'>yield</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_counter'>counter</span> <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
  <span class='kw'>end</span> <span class='kw'>while</span><span class='lparen'>(</span><span class='id identifier rubyid_get_next_counter'>get_next_counter</span><span class='rparen'>)</span>

<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="each_along_axes-instance_method">
  
    - (<tt>Object</tt>) <strong>each_along_axes</strong>(axes) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Walks the counter along each of the axes.  For instance if given axes [0,
2] and the array shape is [4, 3, 2], then the counter will be [0, 0, 0],
[0, 0, 1],</p>
<dl class="rdoc-list label-list"><dt>1, 0, 1], [1, 0, 1], [2, 0, 0], ... [3, 0, 1
<dd><hr>
</dd></dl>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


149
150
151
152
153
154
155
156
157
158
159</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 149</span>

<span class='kw'>def</span> <span class='id identifier rubyid_each_along_axes'>each_along_axes</span><span class='lparen'>(</span><span class='id identifier rubyid_axes'>axes</span><span class='rparen'>)</span>

  <span class='id identifier rubyid_reset_counter'>reset_counter</span>
  <span class='ivar'>@axes</span> <span class='op'>=</span> <span class='id identifier rubyid_axes'>axes</span>

  <span class='id identifier rubyid_axis'>axis</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_counter'>counter</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>-</span> <span class='int'>2</span><span class='rbracket'>]</span>
  <span class='kw'>begin</span>
    <span class='kw'>yield</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_counter'>counter</span><span class='comma'>,</span> <span class='id identifier rubyid_axis'>axis</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
  <span class='kw'>end</span> <span class='kw'>while</span> <span class='lparen'>(</span><span class='id identifier rubyid_axis'>axis</span> <span class='op'>=</span> <span class='id identifier rubyid_walk_along_axes'>walk_along_axes</span><span class='rparen'>)</span>
  
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="get-instance_method">
  
    - (<tt>Object</tt>) <strong>get</strong>(counter) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Gets the element at the given counter.  Assumes that the counter is of the
proper shape.</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


176
177
178
179</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 176</span>

<span class='kw'>def</span> <span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_counter'>counter</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_set_counter_fast'>set_counter_fast</span><span class='lparen'>(</span><span class='id identifier rubyid_counter'>counter</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_get_at_counter'>get_at_counter</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="get_as-instance_method">
  
    - (<tt>Object</tt>) <strong>get_as</strong>(type, count = nil) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Gets the element at the courrent counter with the given type</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 185</span>

<span class='kw'>def</span> <span class='id identifier rubyid_get_as'>get_as</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_count'>count</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>

  <span class='id identifier rubyid_count'>count</span> <span class='op'>?</span> <span class='id identifier rubyid_set_counter_fast'>set_counter_fast</span><span class='lparen'>(</span><span class='id identifier rubyid_count'>count</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_set_counter_fast'>set_counter_fast</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_counter'>counter</span><span class='rparen'>)</span>

  <span class='kw'>begin</span>
    <span class='kw'>case</span> <span class='id identifier rubyid_type'>type</span>
    <span class='kw'>when</span> <span class='symbol'>:boolean</span>
      <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_getBoolean'>getBoolean</span><span class='lparen'>(</span><span class='ivar'>@nc_index</span><span class='rparen'>)</span>
    <span class='kw'>when</span> <span class='symbol'>:byte</span>
      <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_getByte'>getByte</span><span class='lparen'>(</span><span class='ivar'>@nc_index</span><span class='rparen'>)</span>
    <span class='kw'>when</span> <span class='symbol'>:char</span>
      <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_getChar'>getChar</span><span class='lparen'>(</span><span class='ivar'>@nc_index</span><span class='rparen'>)</span>
    <span class='kw'>when</span> <span class='symbol'>:short</span>
      <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_getShort'>getShort</span><span class='lparen'>(</span><span class='ivar'>@nc_index</span><span class='rparen'>)</span>
    <span class='kw'>when</span> <span class='symbol'>:int</span>
      <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_getInt'>getInt</span><span class='lparen'>(</span><span class='ivar'>@nc_index</span><span class='rparen'>)</span>
    <span class='kw'>when</span> <span class='symbol'>:long</span>
      <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_getLong'>getLong</span><span class='lparen'>(</span><span class='ivar'>@nc_index</span><span class='rparen'>)</span>
    <span class='kw'>when</span> <span class='symbol'>:float</span> 
      <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_getFloat'>getFloat</span><span class='lparen'>(</span><span class='ivar'>@nc_index</span><span class='rparen'>)</span>
    <span class='kw'>when</span> <span class='symbol'>:double</span>
      <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_getDouble'>getDouble</span><span class='lparen'>(</span><span class='ivar'>@nc_index</span><span class='rparen'>)</span>
    <span class='kw'>when</span> <span class='symbol'>:string</span>
      <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_getObject'>getObject</span><span class='lparen'>(</span><span class='ivar'>@nc_index</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
    <span class='kw'>else</span> 
      <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_getObject'>getObject</span><span class='lparen'>(</span><span class='ivar'>@nc_index</span><span class='rparen'>)</span>
    <span class='kw'>end</span>
  <span class='kw'>rescue</span> <span class='const'>Java</span><span class='op'>::</span><span class='const'>UcarMa2</span><span class='op'>::</span><span class='const'>ForbiddenConversionException</span>
    <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>cannot convert to type </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
  <span class='kw'>end</span>

<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="get_current-instance_method">
  
    - (<tt>Object</tt>) <strong>get_current</strong> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Gets element at current counter.  Can be done fast, as counter is always of
the  proper shape.</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


241
242
243
244</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 241</span>

<span class='kw'>def</span> <span class='id identifier rubyid_get_current'>get_current</span>
  <span class='id identifier rubyid_set_counter_fast'>set_counter_fast</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_counter'>counter</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_get_at_counter'>get_at_counter</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="get_scalar-instance_method">
  
    - (<tt>Object</tt>) <strong>get_scalar</strong> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


222
223
224</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 222</span>

<span class='kw'>def</span> <span class='id identifier rubyid_get_scalar'>get_scalar</span>
  <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="jget-instance_method">
  
    - (<tt>Object</tt>) <strong>jget</strong>(counter) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Gets the element at the given counter.  Assumes that the counter is of the
proper shape. Also, counter should be an int java array</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


231
232
233
234</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 231</span>

<span class='kw'>def</span> <span class='id identifier rubyid_jget'>jget</span><span class='lparen'>(</span><span class='id identifier rubyid_counter'>counter</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_jset_counter_fast'>jset_counter_fast</span><span class='lparen'>(</span><span class='id identifier rubyid_counter'>counter</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_get_at_counter'>get_at_counter</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="reset_counter-instance_method">
  
    - (<tt>Object</tt>) <strong>reset_counter</strong> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Reset the counter to the defined start value</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


126
127
128</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 126</span>

<span class='kw'>def</span> <span class='id identifier rubyid_reset_counter'>reset_counter</span>
  <span class='ivar'>@counter</span> <span class='op'>=</span> <span class='ivar'>@start</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="set-instance_method">
  
    - (<tt>Object</tt>) <strong>set</strong>(counter, value) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Sets the value of counter.  Assume that counter is on its basic form.</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


260
261
262
263</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 260</span>

<span class='kw'>def</span> <span class='id identifier rubyid_set'>set</span><span class='lparen'>(</span><span class='id identifier rubyid_counter'>counter</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_set_counter_fast'>set_counter_fast</span><span class='lparen'>(</span><span class='id identifier rubyid_counter'>counter</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_set_at_counter'>set_at_counter</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="set_current-instance_method">
  
    - (<tt>Object</tt>) <strong>set_current</strong>(value) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Sets value of current counter.  Can be done fast, as the current counter is
always in its basic shape.</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


278
279
280
281</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 278</span>

<span class='kw'>def</span> <span class='id identifier rubyid_set_current'>set_current</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_set_counter_fast'>set_counter_fast</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_counter'>counter</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_set_at_counter'>set_at_counter</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="set_finish-instance_method">
  
    - (<tt>Object</tt>) <strong>set_finish</strong>(finish) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Sets the finishing position of the index</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


95
96
97
98
99
100
101
102
103
104</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 95</span>

<span class='kw'>def</span> <span class='id identifier rubyid_set_finish'>set_finish</span><span class='lparen'>(</span><span class='id identifier rubyid_finish'>finish</span><span class='rparen'>)</span>

  <span class='id identifier rubyid_finish'>finish</span> <span class='op'>=</span> <span class='id identifier rubyid_reshape'>reshape</span><span class='lparen'>(</span><span class='id identifier rubyid_finish'>finish</span><span class='rparen'>)</span>
  <span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_finish'>finish</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rparen'>)</span>
    <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Cannot set index finish position to an array section</span><span class='tstring_end'>&quot;</span></span>
  <span class='kw'>else</span>
    <span class='ivar'>@finish</span> <span class='op'>=</span> <span class='id identifier rubyid_finish'>finish</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_reverse'>reverse</span>
  <span class='kw'>end</span>

<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="set_scalar-instance_method">
  
    - (<tt>Object</tt>) <strong>set_scalar</strong>(value) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


269
270
271</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 269</span>

<span class='kw'>def</span> <span class='id identifier rubyid_set_scalar'>set_scalar</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
  <span class='ivar'>@mdarray</span><span class='period'>.</span><span class='id identifier rubyid_nc_array'>nc_array</span><span class='period'>.</span><span class='id identifier rubyid_set'>set</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="set_start-instance_method">
  
    - (<tt>Object</tt>) <strong>set_start</strong>(start) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <hr>

<p>Sets the starting position of the index</p>
<hr>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


79
80
81
82
83
84
85
86
87
88
89</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/mdarray/counter.rb', line 79</span>

<span class='kw'>def</span> <span class='id identifier rubyid_set_start'>set_start</span><span class='lparen'>(</span><span class='id identifier rubyid_start'>start</span><span class='rparen'>)</span>

  <span class='id identifier rubyid_start'>start</span> <span class='op'>=</span> <span class='id identifier rubyid_reshape'>reshape</span><span class='lparen'>(</span><span class='id identifier rubyid_start'>start</span><span class='rparen'>)</span>
  <span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_start'>start</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rparen'>)</span>
    <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Cannot set index starting position to an array section</span><span class='tstring_end'>&quot;</span></span>
  <span class='kw'>else</span>
    <span class='ivar'>@start</span> <span class='op'>=</span> <span class='id identifier rubyid_start'>start</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_reverse'>reverse</span>
    <span class='id identifier rubyid_reset_counter'>reset_counter</span>
  <span class='kw'>end</span>

<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
  </div>

</div>

    <div id="footer">
  Generated on Tue Jul 14 18:08:59 2015 by
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
  0.8.7.6 (ruby-1.9.3).
</div>

  </body>
</html>