| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <title>ResizableDoubleArray</title> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="ResizableDoubleArray"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":42,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10}; |
| var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../org/apache/openejb/math/util/MathUtils.html" title="class in org.apache.openejb.math.util"><span class="typeNameLink">Prev Class</span></a></li> |
| <li>Next Class</li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/openejb/math/util/ResizableDoubleArray.html" target="_top">Frames</a></li> |
| <li><a href="ResizableDoubleArray.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle">org.apache.openejb.math.util</div> |
| <h2 title="Class ResizableDoubleArray" class="title">Class ResizableDoubleArray</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.openejb.math.util.ResizableDoubleArray</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd>java.io.Serializable, <a href="../../../../../org/apache/openejb/math/util/DoubleArray.html" title="interface in org.apache.openejb.math.util">DoubleArray</a></dd> |
| </dl> |
| <hr> |
| <br> |
| <pre>public class <span class="typeNameLabel">ResizableDoubleArray</span> |
| extends java.lang.Object |
| implements <a href="../../../../../org/apache/openejb/math/util/DoubleArray.html" title="interface in org.apache.openejb.math.util">DoubleArray</a>, java.io.Serializable</pre> |
| <div class="block"><p> |
| A variable length <a href="../../../../../org/apache/openejb/math/util/DoubleArray.html" title="interface in org.apache.openejb.math.util"><code>DoubleArray</code></a> implementation that automatically |
| handles expanding and contracting its internal storage array as elements |
| are added and removed. |
| </p> |
| <p> |
| The internal storage array starts with capacity determined by the |
| <code>initialCapacity</code> property, which can be set by the constructor. |
| The default initial capacity is 16. Adding elements using |
| <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#addElement-double-"><code>addElement(double)</code></a> appends elements to the end of the array. When |
| there are no open entries at the end of the internal storage array, the |
| array is expanded. The size of the expanded array depends on the |
| <code>expansionMode</code> and <code>expansionFactor</code> properties. |
| The <code>expansionMode</code> determines whether the size of the array is |
| multiplied by the <code>expansionFactor</code> (MULTIPLICATIVE_MODE) or if |
| the expansion is additive (ADDITIVE_MODE -- <code>expansionFactor</code> |
| storage locations added). The default <code>expansionMode</code> is |
| MULTIPLICATIVE_MODE and the default <code>expansionFactor</code> |
| is 2.0. |
| </p> |
| <p> |
| The <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#addElementRolling-double-"><code>addElementRolling(double)</code></a> method adds a new element to the end |
| of the internal storage array and adjusts the "usable window" of the |
| internal array forward by one position (effectively making what was the |
| second element the first, and so on). Repeated activations of this method |
| (or activation of <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#discardFrontElements-int-"><code>discardFrontElements(int)</code></a>) will effectively orphan |
| the storage locations at the beginning of the internal storage array. To |
| reclaim this storage, each time one of these methods is activated, the size |
| of the internal storage array is compared to the number of addressable |
| elements (the <code>numElements</code> property) and if the difference |
| is too large, the internal array is contracted to size |
| <code>numElements + 1.</code> The determination of when the internal |
| storage array is "too large" depends on the <code>expansionMode</code> and |
| <code>contractionFactor</code> properties. If the <code>expansionMode</code> |
| is <code>MULTIPLICATIVE_MODE</code>, contraction is triggered when the |
| ratio between storage array length and <code>numElements</code> exceeds |
| <code>contractionFactor.</code> If the <code>expansionMode</code> |
| is <code>ADDITIVE_MODE,</code> the number of excess storage locations |
| is compared to <code>contractionFactor.</code> |
| </p> |
| <p> |
| To avoid cycles of expansions and contractions, the |
| <code>expansionFactor</code> must not exceed the |
| <code>contractionFactor.</code> Constructors and mutators for both of these |
| properties enforce this requirement, throwing IllegalArgumentException if it |
| is violated. |
| </p></div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../serialized-form.html#org.apache.openejb.math.util.ResizableDoubleArray">Serialized Form</a></dd> |
| </dl> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field.summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Field and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#ADDITIVE_MODE">ADDITIVE_MODE</a></span></code> |
| <div class="block">additive expansion mode</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected float</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#contractionCriteria">contractionCriteria</a></span></code> |
| <div class="block">The contraction criteria determines when the internal array will be |
| contracted to fit the number of elements contained in the element |
| array + 1.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected float</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#expansionFactor">expansionFactor</a></span></code> |
| <div class="block">The expansion factor of the array.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#expansionMode">expansionMode</a></span></code> |
| <div class="block">Determines whether array expansion by <code>expansionFactor</code> |
| is additive or multiplicative.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#initialCapacity">initialCapacity</a></span></code> |
| <div class="block">The initial capacity of the array.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected double[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#internalArray">internalArray</a></span></code> |
| <div class="block">The internal storage array.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#MULTIPLICATIVE_MODE">MULTIPLICATIVE_MODE</a></span></code> |
| <div class="block">multiplicative expansion mode</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#numElements">numElements</a></span></code> |
| <div class="block">The number of addressable elements in the array.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#startIndex">startIndex</a></span></code> |
| <div class="block">The position of the first addressable element in the internal storage |
| array.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colOne" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#ResizableDoubleArray--">ResizableDoubleArray</a></span>()</code> |
| <div class="block">Create a ResizableArray with default properties.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#ResizableDoubleArray-int-">ResizableDoubleArray</a></span>(int initialCapacity)</code> |
| <div class="block">Create a ResizableArray with the specified initial capacity.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#ResizableDoubleArray-int-float-">ResizableDoubleArray</a></span>(int initialCapacity, |
| float expansionFactor)</code> |
| <div class="block"> |
| Create a ResizableArray with the specified initial capacity |
| and expansion factor.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#ResizableDoubleArray-int-float-float-">ResizableDoubleArray</a></span>(int initialCapacity, |
| float expansionFactor, |
| float contractionCriteria)</code> |
| <div class="block"> |
| Create a ResizableArray with the specified initialCapacity, |
| expansionFactor, and contractionCriteria.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#ResizableDoubleArray-int-float-float-int-">ResizableDoubleArray</a></span>(int initialCapacity, |
| float expansionFactor, |
| float contractionCriteria, |
| int expansionMode)</code> |
| <div class="block"> |
| Create a ResizableArray with the specified properties.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#ResizableDoubleArray-org.apache.openejb.math.util.ResizableDoubleArray-">ResizableDoubleArray</a></span>(<a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html" title="class in org.apache.openejb.math.util">ResizableDoubleArray</a> original)</code> |
| <div class="block">Copy constructor.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd"> </span></span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Method and Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#addElement-double-">addElement</a></span>(double value)</code> |
| <div class="block">Adds an element to the end of this expandable array.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>double</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#addElementRolling-double-">addElementRolling</a></span>(double value)</code> |
| <div class="block"> |
| Adds an element to the end of the array and removes the first |
| element in the array.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#checkContractExpand-float-float-">checkContractExpand</a></span>(float contraction, |
| float expansion)</code> |
| <div class="block">Checks the expansion factor and the contraction criteria and throws an |
| IllegalArgumentException if the contractionCriteria is less than the |
| expansionCriteria</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#clear--">clear</a></span>()</code> |
| <div class="block">Clear the array, reset the size to the initialCapacity and the number |
| of elements to zero.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#contract--">contract</a></span>()</code> |
| <div class="block">Contracts the storage array to the (size of the element set) + 1 - to |
| avoid a zero length array.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html" title="class in org.apache.openejb.math.util">ResizableDoubleArray</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#copy--">copy</a></span>()</code> |
| <div class="block">Returns a copy of the ResizableDoubleArray.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#copy-org.apache.openejb.math.util.ResizableDoubleArray-org.apache.openejb.math.util.ResizableDoubleArray-">copy</a></span>(<a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html" title="class in org.apache.openejb.math.util">ResizableDoubleArray</a> source, |
| <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html" title="class in org.apache.openejb.math.util">ResizableDoubleArray</a> dest)</code> |
| <div class="block">Copies source to dest, copying the underlying data, so dest is |
| a new, independent copy of source.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#discardFrontElements-int-">discardFrontElements</a></span>(int i)</code> |
| <div class="block">Discards the <code>i<code> initial elements of the array.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#discardMostRecentElements-int-">discardMostRecentElements</a></span>(int i)</code> |
| <div class="block">Discards the <code>i<code> last elements of the array.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object object)</code> |
| <div class="block">Returns true iff object is a ResizableDoubleArray with the same properties |
| as this and an identical internal storage array.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#expand--">expand</a></span>()</code> |
| <div class="block">Expands the internal storage array using the expansion factor.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>float</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getContractionCriteria--">getContractionCriteria</a></span>()</code> |
| <div class="block">The contraction criteria defines when the internal array will contract |
| to store only the number of elements in the element array.</div> |
| </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>double</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getElement-int-">getElement</a></span>(int index)</code> |
| <div class="block">Returns the element at the specified index</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>double[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getElements--">getElements</a></span>()</code> |
| <div class="block">Returns a double array containing the elements of this |
| <code>ResizableArray</code>.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>float</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getExpansionFactor--">getExpansionFactor</a></span>()</code> |
| <div class="block">The expansion factor controls the size of a new array when an array |
| needs to be expanded.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getExpansionMode--">getExpansionMode</a></span>()</code> |
| <div class="block">The <code>expansionMode</code> determines whether the internal storage |
| array grows additively (ADDITIVE_MODE) or multiplicatively |
| (MULTIPLICATIVE_MODE) when it is expanded.</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>double[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getInternalValues--">getInternalValues</a></span>()</code> |
| <div class="block">Returns the internal storage array.</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getNumElements--">getNumElements</a></span>()</code> |
| <div class="block">Returns the number of elements currently in the array.</div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code>double[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getValues--">getValues</a></span>()</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="block"><span class="deprecationComment">replaced by <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getInternalValues--"><code>getInternalValues()</code></a> as of 2.0</span></div> |
| </div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#hashCode--">hashCode</a></span>()</code> |
| <div class="block">Returns a hash code consistent with equals.</div> |
| </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#setContractionCriteria-float-">setContractionCriteria</a></span>(float contractionCriteria)</code> |
| <div class="block">Sets the contraction criteria for this ExpandContractDoubleArray.</div> |
| </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#setElement-int-double-">setElement</a></span>(int index, |
| double value)</code> |
| <div class="block">Sets the element at the specified index.</div> |
| </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#setExpansionFactor-float-">setExpansionFactor</a></span>(float expansionFactor)</code> |
| <div class="block">Sets the expansionFactor.</div> |
| </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#setExpansionMode-int-">setExpansionMode</a></span>(int expansionMode)</code> |
| <div class="block">Sets the <code>expansionMode</code>.</div> |
| </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#setInitialCapacity-int-">setInitialCapacity</a></span>(int initialCapacity)</code> |
| <div class="block">Sets the initial capacity.</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#setNumElements-int-">setNumElements</a></span>(int i)</code> |
| <div class="block">This function allows you to control the number of elements contained |
| in this array, and can be used to "throw out" the last n values in an |
| array.</div> |
| </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#start--">start</a></span>()</code> |
| <div class="block">Returns the starting index of the internal array.</div> |
| </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code>double</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#substituteMostRecentElement-double-">substituteMostRecentElement</a></span>(double value)</code> |
| <div class="block">Substitutes <code>value</code> for the most recently added value.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.Object</h3> |
| <code>clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait</code></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a name="ADDITIVE_MODE"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ADDITIVE_MODE</h4> |
| <pre>public static final int ADDITIVE_MODE</pre> |
| <div class="block">additive expansion mode</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../constant-values.html#org.apache.openejb.math.util.ResizableDoubleArray.ADDITIVE_MODE">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="MULTIPLICATIVE_MODE"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>MULTIPLICATIVE_MODE</h4> |
| <pre>public static final int MULTIPLICATIVE_MODE</pre> |
| <div class="block">multiplicative expansion mode</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../constant-values.html#org.apache.openejb.math.util.ResizableDoubleArray.MULTIPLICATIVE_MODE">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="contractionCriteria"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>contractionCriteria</h4> |
| <pre>protected float contractionCriteria</pre> |
| <div class="block">The contraction criteria determines when the internal array will be |
| contracted to fit the number of elements contained in the element |
| array + 1.</div> |
| </li> |
| </ul> |
| <a name="expansionFactor"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>expansionFactor</h4> |
| <pre>protected float expansionFactor</pre> |
| <div class="block">The expansion factor of the array. When the array needs to be expanded, |
| the new array size will be |
| <code>internalArray.length * expansionFactor</code> |
| if <code>expansionMode</code> is set to MULTIPLICATIVE_MODE, or |
| <code>internalArray.length + expansionFactor</code> if |
| <code>expansionMode</code> is set to ADDITIVE_MODE.</div> |
| </li> |
| </ul> |
| <a name="expansionMode"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>expansionMode</h4> |
| <pre>protected int expansionMode</pre> |
| <div class="block">Determines whether array expansion by <code>expansionFactor</code> |
| is additive or multiplicative.</div> |
| </li> |
| </ul> |
| <a name="initialCapacity"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>initialCapacity</h4> |
| <pre>protected int initialCapacity</pre> |
| <div class="block">The initial capacity of the array. Initial capacity is not exposed as a |
| property as it is only meaningful when passed to a constructor.</div> |
| </li> |
| </ul> |
| <a name="internalArray"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>internalArray</h4> |
| <pre>protected double[] internalArray</pre> |
| <div class="block">The internal storage array.</div> |
| </li> |
| </ul> |
| <a name="numElements"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>numElements</h4> |
| <pre>protected int numElements</pre> |
| <div class="block">The number of addressable elements in the array. Note that this |
| has nothing to do with the length of the internal storage array.</div> |
| </li> |
| </ul> |
| <a name="startIndex"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>startIndex</h4> |
| <pre>protected int startIndex</pre> |
| <div class="block">The position of the first addressable element in the internal storage |
| array. The addressable elements in the array are <code> |
| internalArray[startIndex],...,internalArray[startIndex + numElements -1] |
| </code></div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="ResizableDoubleArray--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ResizableDoubleArray</h4> |
| <pre>public ResizableDoubleArray()</pre> |
| <div class="block">Create a ResizableArray with default properties. |
| <ul> |
| <li><code>initialCapacity = 16</code></li> |
| <li><code>expansionMode = MULTIPLICATIVE_MODE</code></li> |
| <li><code>expansionFactor = 2.5</code></li> |
| <li><code>contractionFactor = 2.0</code></li> |
| </ul></div> |
| </li> |
| </ul> |
| <a name="ResizableDoubleArray-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ResizableDoubleArray</h4> |
| <pre>public ResizableDoubleArray(int initialCapacity)</pre> |
| <div class="block">Create a ResizableArray with the specified initial capacity. Other |
| properties take default values: |
| <ul> |
| <li><code>expansionMode = MULTIPLICATIVE_MODE</code></li> |
| <li><code>expansionFactor = 2.5</code></li> |
| <li><code>contractionFactor = 2.0</code></li> |
| </ul></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>initialCapacity</code> - The initial size of the internal storage array</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - if initialCapacity is not > 0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="ResizableDoubleArray-int-float-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ResizableDoubleArray</h4> |
| <pre>public ResizableDoubleArray(int initialCapacity, |
| float expansionFactor)</pre> |
| <div class="block"><p> |
| Create a ResizableArray with the specified initial capacity |
| and expansion factor. The remaining properties take default |
| values: |
| <ul> |
| <li><code>expansionMode = MULTIPLICATIVE_MODE</code></li> |
| <li><code>contractionFactor = 0.5 + expansionFactor</code></li> |
| </ul></p> |
| <p> |
| Throws IllegalArgumentException if the following conditions are |
| not met: |
| <ul> |
| <li><code>initialCapacity > 0</code></li> |
| <li><code>expansionFactor > 1</code></li> |
| </ul></p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>initialCapacity</code> - The initial size of the internal storage array</dd> |
| <dd><code>expansionFactor</code> - the array will be expanded based on this |
| parameter</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - if parameters are not valid</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="ResizableDoubleArray-int-float-float-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ResizableDoubleArray</h4> |
| <pre>public ResizableDoubleArray(int initialCapacity, |
| float expansionFactor, |
| float contractionCriteria)</pre> |
| <div class="block"><p> |
| Create a ResizableArray with the specified initialCapacity, |
| expansionFactor, and contractionCriteria. The <code>expansionMode</code> |
| will default to <code>MULTIPLICATIVE_MODE.</code></p> |
| <p> |
| Throws IllegalArgumentException if the following conditions are |
| not met: |
| <ul> |
| <li><code>initialCapacity > 0</code></li> |
| <li><code>expansionFactor > 1</code></li> |
| <li><code>contractionFactor >= expansionFactor</code></li> |
| </ul></p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>initialCapacity</code> - The initial size of the internal storage array</dd> |
| <dd><code>expansionFactor</code> - the array will be expanded based on this |
| parameter</dd> |
| <dd><code>contractionCriteria</code> - The contraction Criteria.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - if parameters are not valid</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="ResizableDoubleArray-int-float-float-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ResizableDoubleArray</h4> |
| <pre>public ResizableDoubleArray(int initialCapacity, |
| float expansionFactor, |
| float contractionCriteria, |
| int expansionMode)</pre> |
| <div class="block"><p> |
| Create a ResizableArray with the specified properties.</p> |
| <p> |
| Throws IllegalArgumentException if the following conditions are |
| not met: |
| <ul> |
| <li><code>initialCapacity > 0</code></li> |
| <li><code>expansionFactor > 1</code></li> |
| <li><code>contractionFactor >= expansionFactor</code></li> |
| <li><code>expansionMode in {MULTIPLICATIVE_MODE, ADDITIVE_MODE}</code> |
| </li> |
| </ul></p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>initialCapacity</code> - the initial size of the internal storage array</dd> |
| <dd><code>expansionFactor</code> - the array will be expanded based on this |
| parameter</dd> |
| <dd><code>contractionCriteria</code> - the contraction Criteria</dd> |
| <dd><code>expansionMode</code> - the expansion mode</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - if parameters are not valid</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="ResizableDoubleArray-org.apache.openejb.math.util.ResizableDoubleArray-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>ResizableDoubleArray</h4> |
| <pre>public ResizableDoubleArray(<a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html" title="class in org.apache.openejb.math.util">ResizableDoubleArray</a> original)</pre> |
| <div class="block">Copy constructor. Creates a new ResizableDoubleArray that is a deep, |
| fresh copy of the original. Needs to acquire synchronization lock |
| on original. Original may not be null; otherwise a NullPointerException |
| is thrown.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>original</code> - array to copy</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.0</dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="addElement-double-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addElement</h4> |
| <pre>public void addElement(double value)</pre> |
| <div class="block">Adds an element to the end of this expandable array.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html#addElement-double-">addElement</a></code> in interface <code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html" title="interface in org.apache.openejb.math.util">DoubleArray</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>value</code> - to be added to end of array</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="addElementRolling-double-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addElementRolling</h4> |
| <pre>public double addElementRolling(double value)</pre> |
| <div class="block"><p> |
| Adds an element to the end of the array and removes the first |
| element in the array. Returns the discarded first element. |
| The effect is similar to a push operation in a FIFO queue. |
| </p> |
| <p> |
| Example: If the array contains the elements 1, 2, 3, 4 (in that order) |
| and addElementRolling(5) is invoked, the result is an array containing |
| the entries 2, 3, 4, 5 and the value returned is 1. |
| </p></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html#addElementRolling-double-">addElementRolling</a></code> in interface <code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html" title="interface in org.apache.openejb.math.util">DoubleArray</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>value</code> - the value to be added to the array</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the value which has been discarded or "pushed" out of the array |
| by this rolling insert</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="substituteMostRecentElement-double-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>substituteMostRecentElement</h4> |
| <pre>public double substituteMostRecentElement(double value)</pre> |
| <div class="block">Substitutes <code>value</code> for the most recently added value. |
| Returns the value that has been replaced. If the array is empty (i.e. |
| if <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#numElements"><code>numElements</code></a> is zero), a MathRuntimeException is thrown.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>value</code> - new value to substitute for the most recently added value</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>value that has been replaced in the array</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="checkContractExpand-float-float-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkContractExpand</h4> |
| <pre>protected void checkContractExpand(float contraction, |
| float expansion)</pre> |
| <div class="block">Checks the expansion factor and the contraction criteria and throws an |
| IllegalArgumentException if the contractionCriteria is less than the |
| expansionCriteria</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>expansion</code> - factor to be checked</dd> |
| <dd><code>contraction</code> - criteria to be checked</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - if the contractionCriteria is less than |
| the expansionCriteria.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="clear--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>clear</h4> |
| <pre>public void clear()</pre> |
| <div class="block">Clear the array, reset the size to the initialCapacity and the number |
| of elements to zero.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html#clear--">clear</a></code> in interface <code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html" title="interface in org.apache.openejb.math.util">DoubleArray</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="contract--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>contract</h4> |
| <pre>public void contract()</pre> |
| <div class="block">Contracts the storage array to the (size of the element set) + 1 - to |
| avoid a zero length array. This function also resets the startIndex to |
| zero.</div> |
| </li> |
| </ul> |
| <a name="discardFrontElements-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>discardFrontElements</h4> |
| <pre>public void discardFrontElements(int i)</pre> |
| <div class="block">Discards the <code>i<code> initial elements of the array. For example, |
| if the array contains the elements 1,2,3,4, invoking |
| <code>discardFrontElements(2)</code> will cause the first two elements |
| to be discarded, leaving 3,4 in the array. Throws illegalArgumentException |
| if i exceeds numElements.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>i</code> - the number of elements to discard from the front of the array</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - if i is greater than numElements.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="discardMostRecentElements-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>discardMostRecentElements</h4> |
| <pre>public void discardMostRecentElements(int i)</pre> |
| <div class="block">Discards the <code>i<code> last elements of the array. For example, |
| if the array contains the elements 1,2,3,4, invoking |
| <code>discardMostRecentElements(2)</code> will cause the last two elements |
| to be discarded, leaving 1,2 in the array. Throws illegalArgumentException |
| if i exceeds numElements.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>i</code> - the number of elements to discard from the end of the array</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - if i is greater than numElements.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="expand--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>expand</h4> |
| <pre>protected void expand()</pre> |
| <div class="block">Expands the internal storage array using the expansion factor. |
| <p> |
| if <code>expansionMode</code> is set to MULTIPLICATIVE_MODE, |
| the new array size will be <code>internalArray.length * expansionFactor.</code> |
| If <code>expansionMode</code> is set to ADDITIVE_MODE, the length |
| after expansion will be <code>internalArray.length + expansionFactor</code> |
| </p></div> |
| </li> |
| </ul> |
| <a name="getContractionCriteria--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getContractionCriteria</h4> |
| <pre>public float getContractionCriteria()</pre> |
| <div class="block">The contraction criteria defines when the internal array will contract |
| to store only the number of elements in the element array. |
| If the <code>expansionMode</code> is <code>MULTIPLICATIVE_MODE</code>, |
| contraction is triggered when the ratio between storage array length |
| and <code>numElements</code> exceeds <code>contractionFactor</code>. |
| If the <code>expansionMode</code> is <code>ADDITIVE_MODE</code>, the |
| number of excess storage locations is compared to |
| <code>contractionFactor.</code></div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the contraction criteria used to reclaim memory.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getElement-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getElement</h4> |
| <pre>public double getElement(int index)</pre> |
| <div class="block">Returns the element at the specified index</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html#getElement-int-">getElement</a></code> in interface <code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html" title="interface in org.apache.openejb.math.util">DoubleArray</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>index</code> - index to fetch a value from</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>value stored at the specified index</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.ArrayIndexOutOfBoundsException</code> - if <code>index</code> is less than |
| zero or is greater than <code>getNumElements() - 1</code>.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getElements--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getElements</h4> |
| <pre>public double[] getElements()</pre> |
| <div class="block">Returns a double array containing the elements of this |
| <code>ResizableArray</code>. This method returns a copy, not a |
| reference to the underlying array, so that changes made to the returned |
| array have no effect on this <code>ResizableArray.</code></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html#getElements--">getElements</a></code> in interface <code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html" title="interface in org.apache.openejb.math.util">DoubleArray</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the double array.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getExpansionFactor--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getExpansionFactor</h4> |
| <pre>public float getExpansionFactor()</pre> |
| <div class="block">The expansion factor controls the size of a new array when an array |
| needs to be expanded. The <code>expansionMode</code> |
| determines whether the size of the array is multiplied by the |
| <code>expansionFactor</code> (MULTIPLICATIVE_MODE) or if |
| the expansion is additive (ADDITIVE_MODE -- <code>expansionFactor</code> |
| storage locations added). The default <code>expansionMode</code> is |
| MULTIPLICATIVE_MODE and the default <code>expansionFactor</code> |
| is 2.0.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the expansion factor of this expandable double array</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getExpansionMode--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getExpansionMode</h4> |
| <pre>public int getExpansionMode()</pre> |
| <div class="block">The <code>expansionMode</code> determines whether the internal storage |
| array grows additively (ADDITIVE_MODE) or multiplicatively |
| (MULTIPLICATIVE_MODE) when it is expanded.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Returns the expansionMode.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getNumElements--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getNumElements</h4> |
| <pre>public int getNumElements()</pre> |
| <div class="block">Returns the number of elements currently in the array. Please note |
| that this is different from the length of the internal storage array.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html#getNumElements--">getNumElements</a></code> in interface <code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html" title="interface in org.apache.openejb.math.util">DoubleArray</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>number of elements</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getValues--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getValues</h4> |
| <pre>@Deprecated |
| public double[] getValues()</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">replaced by <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getInternalValues--"><code>getInternalValues()</code></a> as of 2.0</span></div> |
| <div class="block">Returns the internal storage array. Note that this method returns |
| a reference to the internal storage array, not a copy, and to correctly |
| address elements of the array, the <code>startIndex</code> is |
| required (available via the <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#start--"><code>start()</code></a> method). This method should |
| only be used in cases where copying the internal array is not practical. |
| The <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getElements--"><code>getElements()</code></a> method should be used in all other cases.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the internal storage array used by this object</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getInternalValues--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getInternalValues</h4> |
| <pre>public double[] getInternalValues()</pre> |
| <div class="block">Returns the internal storage array. Note that this method returns |
| a reference to the internal storage array, not a copy, and to correctly |
| address elements of the array, the <code>startIndex</code> is |
| required (available via the <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#start--"><code>start()</code></a> method). This method should |
| only be used in cases where copying the internal array is not practical. |
| The <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html#getElements--"><code>getElements()</code></a> method should be used in all other cases.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the internal storage array used by this object</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setContractionCriteria-float-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setContractionCriteria</h4> |
| <pre>public void setContractionCriteria(float contractionCriteria)</pre> |
| <div class="block">Sets the contraction criteria for this ExpandContractDoubleArray.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>contractionCriteria</code> - contraction criteria</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setElement-int-double-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setElement</h4> |
| <pre>public void setElement(int index, |
| double value)</pre> |
| <div class="block">Sets the element at the specified index. If the specified index is greater than |
| <code>getNumElements() - 1</code>, the <code>numElements</code> property |
| is increased to <code>index +1</code> and additional storage is allocated |
| (if necessary) for the new element and all (uninitialized) elements |
| between the new element and the previous end of the array).</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html#setElement-int-double-">setElement</a></code> in interface <code><a href="../../../../../org/apache/openejb/math/util/DoubleArray.html" title="interface in org.apache.openejb.math.util">DoubleArray</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>index</code> - index to store a value in</dd> |
| <dd><code>value</code> - value to store at the specified index</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.ArrayIndexOutOfBoundsException</code> - if <code>index</code> is less than |
| zero.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setExpansionFactor-float-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setExpansionFactor</h4> |
| <pre>public void setExpansionFactor(float expansionFactor)</pre> |
| <div class="block">Sets the expansionFactor. Throws IllegalArgumentException if the |
| the following conditions are not met: |
| <ul> |
| <li><code>expansionFactor > 1</code></li> |
| <li><code>contractionFactor >= expansionFactor</code></li> |
| </ul></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>expansionFactor</code> - the new expansion factor value.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - if expansionFactor is <= 1 or greater |
| than contractionFactor</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setExpansionMode-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setExpansionMode</h4> |
| <pre>public void setExpansionMode(int expansionMode)</pre> |
| <div class="block">Sets the <code>expansionMode</code>. The specified value must be one of |
| ADDITIVE_MODE, MULTIPLICATIVE_MODE.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>expansionMode</code> - The expansionMode to set.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - if the specified mode value is not valid</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setInitialCapacity-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setInitialCapacity</h4> |
| <pre>protected void setInitialCapacity(int initialCapacity)</pre> |
| <div class="block">Sets the initial capacity. Should only be invoked by constructors.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>initialCapacity</code> - of the array</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - if <code>initialCapacity</code> is not |
| positive.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setNumElements-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setNumElements</h4> |
| <pre>public void setNumElements(int i)</pre> |
| <div class="block">This function allows you to control the number of elements contained |
| in this array, and can be used to "throw out" the last n values in an |
| array. This function will also expand the internal array as needed.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>i</code> - a new number of elements</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - if <code>i</code> is negative.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="start--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>start</h4> |
| <pre>public int start()</pre> |
| <div class="block">Returns the starting index of the internal array. The starting index is |
| the position of the first addressable element in the internal storage |
| array. The addressable elements in the array are <code> |
| internalArray[startIndex],...,internalArray[startIndex + numElements -1] |
| </code></div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>starting index</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="copy-org.apache.openejb.math.util.ResizableDoubleArray-org.apache.openejb.math.util.ResizableDoubleArray-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>copy</h4> |
| <pre>public static void copy(<a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html" title="class in org.apache.openejb.math.util">ResizableDoubleArray</a> source, |
| <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html" title="class in org.apache.openejb.math.util">ResizableDoubleArray</a> dest)</pre> |
| <div class="block"><p>Copies source to dest, copying the underlying data, so dest is |
| a new, independent copy of source. Does not contract before |
| the copy.</p> |
| <p/> |
| <p>Obtains synchronization locks on both source and dest |
| (in that order) before performing the copy.</p> |
| <p/> |
| <p>Neither source nor dest may be null; otherwise a NullPointerException |
| is thrown</p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>source</code> - ResizableDoubleArray to copy</dd> |
| <dd><code>dest</code> - ResizableArray to replace with a copy of the source array</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="copy--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>copy</h4> |
| <pre>public <a href="../../../../../org/apache/openejb/math/util/ResizableDoubleArray.html" title="class in org.apache.openejb.math.util">ResizableDoubleArray</a> copy()</pre> |
| <div class="block">Returns a copy of the ResizableDoubleArray. Does not contract before |
| the copy, so the returned object is an exact copy of this.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>a new ResizableDoubleArray with the same data and configuration |
| properties as this</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="equals-java.lang.Object-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equals</h4> |
| <pre>public boolean equals(java.lang.Object object)</pre> |
| <div class="block">Returns true iff object is a ResizableDoubleArray with the same properties |
| as this and an identical internal storage array.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code>equals</code> in class <code>java.lang.Object</code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>object</code> - object to be compared for equality with this</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true iff object is a ResizableDoubleArray with the same data and |
| properties as this</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="hashCode--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>hashCode</h4> |
| <pre>public int hashCode()</pre> |
| <div class="block">Returns a hash code consistent with equals.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code>hashCode</code> in class <code>java.lang.Object</code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>hash code representing this ResizableDoubleArray</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.0</dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../org/apache/openejb/math/util/MathUtils.html" title="class in org.apache.openejb.math.util"><span class="typeNameLink">Prev Class</span></a></li> |
| <li>Next Class</li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/openejb/math/util/ResizableDoubleArray.html" target="_top">Frames</a></li> |
| <li><a href="ResizableDoubleArray.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </body> |
| </html> |