comparison libs/commons-math-2.1/docs/apidocs/src-html/org/apache/commons/math/stat/descriptive/moment/StandardDeviation.html @ 13:cbf34dd4d7e6

commons-math-2.1 added
author dwinter
date Tue, 04 Jan 2011 10:02:07 +0100
parents
children
comparison
equal deleted inserted replaced
12:970d26a94fb7 13:cbf34dd4d7e6
1 <HTML>
2 <BODY BGCOLOR="white">
3 <PRE>
4 <FONT color="green">001</FONT> /*<a name="line.1"></a>
5 <FONT color="green">002</FONT> * Licensed to the Apache Software Foundation (ASF) under one or more<a name="line.2"></a>
6 <FONT color="green">003</FONT> * contributor license agreements. See the NOTICE file distributed with<a name="line.3"></a>
7 <FONT color="green">004</FONT> * this work for additional information regarding copyright ownership.<a name="line.4"></a>
8 <FONT color="green">005</FONT> * The ASF licenses this file to You under the Apache License, Version 2.0<a name="line.5"></a>
9 <FONT color="green">006</FONT> * (the "License"); you may not use this file except in compliance with<a name="line.6"></a>
10 <FONT color="green">007</FONT> * the License. You may obtain a copy of the License at<a name="line.7"></a>
11 <FONT color="green">008</FONT> *<a name="line.8"></a>
12 <FONT color="green">009</FONT> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
13 <FONT color="green">010</FONT> *<a name="line.10"></a>
14 <FONT color="green">011</FONT> * Unless required by applicable law or agreed to in writing, software<a name="line.11"></a>
15 <FONT color="green">012</FONT> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.12"></a>
16 <FONT color="green">013</FONT> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.13"></a>
17 <FONT color="green">014</FONT> * See the License for the specific language governing permissions and<a name="line.14"></a>
18 <FONT color="green">015</FONT> * limitations under the License.<a name="line.15"></a>
19 <FONT color="green">016</FONT> */<a name="line.16"></a>
20 <FONT color="green">017</FONT> package org.apache.commons.math.stat.descriptive.moment;<a name="line.17"></a>
21 <FONT color="green">018</FONT> <a name="line.18"></a>
22 <FONT color="green">019</FONT> import java.io.Serializable;<a name="line.19"></a>
23 <FONT color="green">020</FONT> <a name="line.20"></a>
24 <FONT color="green">021</FONT> import org.apache.commons.math.stat.descriptive.AbstractStorelessUnivariateStatistic;<a name="line.21"></a>
25 <FONT color="green">022</FONT> <a name="line.22"></a>
26 <FONT color="green">023</FONT> /**<a name="line.23"></a>
27 <FONT color="green">024</FONT> * Computes the sample standard deviation. The standard deviation<a name="line.24"></a>
28 <FONT color="green">025</FONT> * is the positive square root of the variance. This implementation wraps a<a name="line.25"></a>
29 <FONT color="green">026</FONT> * {@link Variance} instance. The &lt;code&gt;isBiasCorrected&lt;/code&gt; property of the<a name="line.26"></a>
30 <FONT color="green">027</FONT> * wrapped Variance instance is exposed, so that this class can be used to<a name="line.27"></a>
31 <FONT color="green">028</FONT> * compute both the "sample standard deviation" (the square root of the<a name="line.28"></a>
32 <FONT color="green">029</FONT> * bias-corrected "sample variance") or the "population standard deviation"<a name="line.29"></a>
33 <FONT color="green">030</FONT> * (the square root of the non-bias-corrected "population variance"). See<a name="line.30"></a>
34 <FONT color="green">031</FONT> * {@link Variance} for more information.<a name="line.31"></a>
35 <FONT color="green">032</FONT> * &lt;p&gt;<a name="line.32"></a>
36 <FONT color="green">033</FONT> * &lt;strong&gt;Note that this implementation is not synchronized.&lt;/strong&gt; If<a name="line.33"></a>
37 <FONT color="green">034</FONT> * multiple threads access an instance of this class concurrently, and at least<a name="line.34"></a>
38 <FONT color="green">035</FONT> * one of the threads invokes the &lt;code&gt;increment()&lt;/code&gt; or<a name="line.35"></a>
39 <FONT color="green">036</FONT> * &lt;code&gt;clear()&lt;/code&gt; method, it must be synchronized externally.&lt;/p&gt;<a name="line.36"></a>
40 <FONT color="green">037</FONT> *<a name="line.37"></a>
41 <FONT color="green">038</FONT> * @version $Revision: 811685 $ $Date: 2009-09-05 13:36:48 -0400 (Sat, 05 Sep 2009) $<a name="line.38"></a>
42 <FONT color="green">039</FONT> */<a name="line.39"></a>
43 <FONT color="green">040</FONT> public class StandardDeviation extends AbstractStorelessUnivariateStatistic<a name="line.40"></a>
44 <FONT color="green">041</FONT> implements Serializable {<a name="line.41"></a>
45 <FONT color="green">042</FONT> <a name="line.42"></a>
46 <FONT color="green">043</FONT> /** Serializable version identifier */<a name="line.43"></a>
47 <FONT color="green">044</FONT> private static final long serialVersionUID = 5728716329662425188L;<a name="line.44"></a>
48 <FONT color="green">045</FONT> <a name="line.45"></a>
49 <FONT color="green">046</FONT> /** Wrapped Variance instance */<a name="line.46"></a>
50 <FONT color="green">047</FONT> private Variance variance = null;<a name="line.47"></a>
51 <FONT color="green">048</FONT> <a name="line.48"></a>
52 <FONT color="green">049</FONT> /**<a name="line.49"></a>
53 <FONT color="green">050</FONT> * Constructs a StandardDeviation. Sets the underlying {@link Variance}<a name="line.50"></a>
54 <FONT color="green">051</FONT> * instance's &lt;code&gt;isBiasCorrected&lt;/code&gt; property to true.<a name="line.51"></a>
55 <FONT color="green">052</FONT> */<a name="line.52"></a>
56 <FONT color="green">053</FONT> public StandardDeviation() {<a name="line.53"></a>
57 <FONT color="green">054</FONT> variance = new Variance();<a name="line.54"></a>
58 <FONT color="green">055</FONT> }<a name="line.55"></a>
59 <FONT color="green">056</FONT> <a name="line.56"></a>
60 <FONT color="green">057</FONT> /**<a name="line.57"></a>
61 <FONT color="green">058</FONT> * Constructs a StandardDeviation from an external second moment.<a name="line.58"></a>
62 <FONT color="green">059</FONT> *<a name="line.59"></a>
63 <FONT color="green">060</FONT> * @param m2 the external moment<a name="line.60"></a>
64 <FONT color="green">061</FONT> */<a name="line.61"></a>
65 <FONT color="green">062</FONT> public StandardDeviation(final SecondMoment m2) {<a name="line.62"></a>
66 <FONT color="green">063</FONT> variance = new Variance(m2);<a name="line.63"></a>
67 <FONT color="green">064</FONT> }<a name="line.64"></a>
68 <FONT color="green">065</FONT> <a name="line.65"></a>
69 <FONT color="green">066</FONT> /**<a name="line.66"></a>
70 <FONT color="green">067</FONT> * Copy constructor, creates a new {@code StandardDeviation} identical<a name="line.67"></a>
71 <FONT color="green">068</FONT> * to the {@code original}<a name="line.68"></a>
72 <FONT color="green">069</FONT> *<a name="line.69"></a>
73 <FONT color="green">070</FONT> * @param original the {@code StandardDeviation} instance to copy<a name="line.70"></a>
74 <FONT color="green">071</FONT> */<a name="line.71"></a>
75 <FONT color="green">072</FONT> public StandardDeviation(StandardDeviation original) {<a name="line.72"></a>
76 <FONT color="green">073</FONT> copy(original, this);<a name="line.73"></a>
77 <FONT color="green">074</FONT> }<a name="line.74"></a>
78 <FONT color="green">075</FONT> <a name="line.75"></a>
79 <FONT color="green">076</FONT> /**<a name="line.76"></a>
80 <FONT color="green">077</FONT> * Contructs a StandardDeviation with the specified value for the<a name="line.77"></a>
81 <FONT color="green">078</FONT> * &lt;code&gt;isBiasCorrected&lt;/code&gt; property. If this property is set to<a name="line.78"></a>
82 <FONT color="green">079</FONT> * &lt;code&gt;true&lt;/code&gt;, the {@link Variance} used in computing results will<a name="line.79"></a>
83 <FONT color="green">080</FONT> * use the bias-corrected, or "sample" formula. See {@link Variance} for<a name="line.80"></a>
84 <FONT color="green">081</FONT> * details.<a name="line.81"></a>
85 <FONT color="green">082</FONT> *<a name="line.82"></a>
86 <FONT color="green">083</FONT> * @param isBiasCorrected whether or not the variance computation will use<a name="line.83"></a>
87 <FONT color="green">084</FONT> * the bias-corrected formula<a name="line.84"></a>
88 <FONT color="green">085</FONT> */<a name="line.85"></a>
89 <FONT color="green">086</FONT> public StandardDeviation(boolean isBiasCorrected) {<a name="line.86"></a>
90 <FONT color="green">087</FONT> variance = new Variance(isBiasCorrected);<a name="line.87"></a>
91 <FONT color="green">088</FONT> }<a name="line.88"></a>
92 <FONT color="green">089</FONT> <a name="line.89"></a>
93 <FONT color="green">090</FONT> /**<a name="line.90"></a>
94 <FONT color="green">091</FONT> * Contructs a StandardDeviation with the specified value for the<a name="line.91"></a>
95 <FONT color="green">092</FONT> * &lt;code&gt;isBiasCorrected&lt;/code&gt; property and the supplied external moment.<a name="line.92"></a>
96 <FONT color="green">093</FONT> * If &lt;code&gt;isBiasCorrected&lt;/code&gt; is set to &lt;code&gt;true&lt;/code&gt;, the<a name="line.93"></a>
97 <FONT color="green">094</FONT> * {@link Variance} used in computing results will use the bias-corrected,<a name="line.94"></a>
98 <FONT color="green">095</FONT> * or "sample" formula. See {@link Variance} for details.<a name="line.95"></a>
99 <FONT color="green">096</FONT> *<a name="line.96"></a>
100 <FONT color="green">097</FONT> * @param isBiasCorrected whether or not the variance computation will use<a name="line.97"></a>
101 <FONT color="green">098</FONT> * the bias-corrected formula<a name="line.98"></a>
102 <FONT color="green">099</FONT> * @param m2 the external moment<a name="line.99"></a>
103 <FONT color="green">100</FONT> */<a name="line.100"></a>
104 <FONT color="green">101</FONT> public StandardDeviation(boolean isBiasCorrected, SecondMoment m2) {<a name="line.101"></a>
105 <FONT color="green">102</FONT> variance = new Variance(isBiasCorrected, m2);<a name="line.102"></a>
106 <FONT color="green">103</FONT> }<a name="line.103"></a>
107 <FONT color="green">104</FONT> <a name="line.104"></a>
108 <FONT color="green">105</FONT> /**<a name="line.105"></a>
109 <FONT color="green">106</FONT> * {@inheritDoc}<a name="line.106"></a>
110 <FONT color="green">107</FONT> */<a name="line.107"></a>
111 <FONT color="green">108</FONT> @Override<a name="line.108"></a>
112 <FONT color="green">109</FONT> public void increment(final double d) {<a name="line.109"></a>
113 <FONT color="green">110</FONT> variance.increment(d);<a name="line.110"></a>
114 <FONT color="green">111</FONT> }<a name="line.111"></a>
115 <FONT color="green">112</FONT> <a name="line.112"></a>
116 <FONT color="green">113</FONT> /**<a name="line.113"></a>
117 <FONT color="green">114</FONT> * {@inheritDoc}<a name="line.114"></a>
118 <FONT color="green">115</FONT> */<a name="line.115"></a>
119 <FONT color="green">116</FONT> public long getN() {<a name="line.116"></a>
120 <FONT color="green">117</FONT> return variance.getN();<a name="line.117"></a>
121 <FONT color="green">118</FONT> }<a name="line.118"></a>
122 <FONT color="green">119</FONT> <a name="line.119"></a>
123 <FONT color="green">120</FONT> /**<a name="line.120"></a>
124 <FONT color="green">121</FONT> * {@inheritDoc}<a name="line.121"></a>
125 <FONT color="green">122</FONT> */<a name="line.122"></a>
126 <FONT color="green">123</FONT> @Override<a name="line.123"></a>
127 <FONT color="green">124</FONT> public double getResult() {<a name="line.124"></a>
128 <FONT color="green">125</FONT> return Math.sqrt(variance.getResult());<a name="line.125"></a>
129 <FONT color="green">126</FONT> }<a name="line.126"></a>
130 <FONT color="green">127</FONT> <a name="line.127"></a>
131 <FONT color="green">128</FONT> /**<a name="line.128"></a>
132 <FONT color="green">129</FONT> * {@inheritDoc}<a name="line.129"></a>
133 <FONT color="green">130</FONT> */<a name="line.130"></a>
134 <FONT color="green">131</FONT> @Override<a name="line.131"></a>
135 <FONT color="green">132</FONT> public void clear() {<a name="line.132"></a>
136 <FONT color="green">133</FONT> variance.clear();<a name="line.133"></a>
137 <FONT color="green">134</FONT> }<a name="line.134"></a>
138 <FONT color="green">135</FONT> <a name="line.135"></a>
139 <FONT color="green">136</FONT> /**<a name="line.136"></a>
140 <FONT color="green">137</FONT> * Returns the Standard Deviation of the entries in the input array, or<a name="line.137"></a>
141 <FONT color="green">138</FONT> * &lt;code&gt;Double.NaN&lt;/code&gt; if the array is empty.<a name="line.138"></a>
142 <FONT color="green">139</FONT> * &lt;p&gt;<a name="line.139"></a>
143 <FONT color="green">140</FONT> * Returns 0 for a single-value (i.e. length = 1) sample.&lt;/p&gt;<a name="line.140"></a>
144 <FONT color="green">141</FONT> * &lt;p&gt;<a name="line.141"></a>
145 <FONT color="green">142</FONT> * Throws &lt;code&gt;IllegalArgumentException&lt;/code&gt; if the array is null.&lt;/p&gt;<a name="line.142"></a>
146 <FONT color="green">143</FONT> * &lt;p&gt;<a name="line.143"></a>
147 <FONT color="green">144</FONT> * Does not change the internal state of the statistic.&lt;/p&gt;<a name="line.144"></a>
148 <FONT color="green">145</FONT> *<a name="line.145"></a>
149 <FONT color="green">146</FONT> * @param values the input array<a name="line.146"></a>
150 <FONT color="green">147</FONT> * @return the standard deviation of the values or Double.NaN if length = 0<a name="line.147"></a>
151 <FONT color="green">148</FONT> * @throws IllegalArgumentException if the array is null<a name="line.148"></a>
152 <FONT color="green">149</FONT> */<a name="line.149"></a>
153 <FONT color="green">150</FONT> @Override<a name="line.150"></a>
154 <FONT color="green">151</FONT> public double evaluate(final double[] values) {<a name="line.151"></a>
155 <FONT color="green">152</FONT> return Math.sqrt(variance.evaluate(values));<a name="line.152"></a>
156 <FONT color="green">153</FONT> }<a name="line.153"></a>
157 <FONT color="green">154</FONT> <a name="line.154"></a>
158 <FONT color="green">155</FONT> /**<a name="line.155"></a>
159 <FONT color="green">156</FONT> * Returns the Standard Deviation of the entries in the specified portion of<a name="line.156"></a>
160 <FONT color="green">157</FONT> * the input array, or &lt;code&gt;Double.NaN&lt;/code&gt; if the designated subarray<a name="line.157"></a>
161 <FONT color="green">158</FONT> * is empty.<a name="line.158"></a>
162 <FONT color="green">159</FONT> * &lt;p&gt;<a name="line.159"></a>
163 <FONT color="green">160</FONT> * Returns 0 for a single-value (i.e. length = 1) sample. &lt;/p&gt;<a name="line.160"></a>
164 <FONT color="green">161</FONT> * &lt;p&gt;<a name="line.161"></a>
165 <FONT color="green">162</FONT> * Throws &lt;code&gt;IllegalArgumentException&lt;/code&gt; if the array is null.&lt;/p&gt;<a name="line.162"></a>
166 <FONT color="green">163</FONT> * &lt;p&gt;<a name="line.163"></a>
167 <FONT color="green">164</FONT> * Does not change the internal state of the statistic.&lt;/p&gt;<a name="line.164"></a>
168 <FONT color="green">165</FONT> *<a name="line.165"></a>
169 <FONT color="green">166</FONT> * @param values the input array<a name="line.166"></a>
170 <FONT color="green">167</FONT> * @param begin index of the first array element to include<a name="line.167"></a>
171 <FONT color="green">168</FONT> * @param length the number of elements to include<a name="line.168"></a>
172 <FONT color="green">169</FONT> * @return the standard deviation of the values or Double.NaN if length = 0<a name="line.169"></a>
173 <FONT color="green">170</FONT> * @throws IllegalArgumentException if the array is null or the array index<a name="line.170"></a>
174 <FONT color="green">171</FONT> * parameters are not valid<a name="line.171"></a>
175 <FONT color="green">172</FONT> */<a name="line.172"></a>
176 <FONT color="green">173</FONT> @Override<a name="line.173"></a>
177 <FONT color="green">174</FONT> public double evaluate(final double[] values, final int begin, final int length) {<a name="line.174"></a>
178 <FONT color="green">175</FONT> return Math.sqrt(variance.evaluate(values, begin, length));<a name="line.175"></a>
179 <FONT color="green">176</FONT> }<a name="line.176"></a>
180 <FONT color="green">177</FONT> <a name="line.177"></a>
181 <FONT color="green">178</FONT> /**<a name="line.178"></a>
182 <FONT color="green">179</FONT> * Returns the Standard Deviation of the entries in the specified portion of<a name="line.179"></a>
183 <FONT color="green">180</FONT> * the input array, using the precomputed mean value. Returns<a name="line.180"></a>
184 <FONT color="green">181</FONT> * &lt;code&gt;Double.NaN&lt;/code&gt; if the designated subarray is empty.<a name="line.181"></a>
185 <FONT color="green">182</FONT> * &lt;p&gt;<a name="line.182"></a>
186 <FONT color="green">183</FONT> * Returns 0 for a single-value (i.e. length = 1) sample.&lt;/p&gt;<a name="line.183"></a>
187 <FONT color="green">184</FONT> * &lt;p&gt;<a name="line.184"></a>
188 <FONT color="green">185</FONT> * The formula used assumes that the supplied mean value is the arithmetic<a name="line.185"></a>
189 <FONT color="green">186</FONT> * mean of the sample data, not a known population parameter. This method<a name="line.186"></a>
190 <FONT color="green">187</FONT> * is supplied only to save computation when the mean has already been<a name="line.187"></a>
191 <FONT color="green">188</FONT> * computed.&lt;/p&gt;<a name="line.188"></a>
192 <FONT color="green">189</FONT> * &lt;p&gt;<a name="line.189"></a>
193 <FONT color="green">190</FONT> * Throws &lt;code&gt;IllegalArgumentException&lt;/code&gt; if the array is null.&lt;/p&gt;<a name="line.190"></a>
194 <FONT color="green">191</FONT> * &lt;p&gt;<a name="line.191"></a>
195 <FONT color="green">192</FONT> * Does not change the internal state of the statistic.&lt;/p&gt;<a name="line.192"></a>
196 <FONT color="green">193</FONT> *<a name="line.193"></a>
197 <FONT color="green">194</FONT> * @param values the input array<a name="line.194"></a>
198 <FONT color="green">195</FONT> * @param mean the precomputed mean value<a name="line.195"></a>
199 <FONT color="green">196</FONT> * @param begin index of the first array element to include<a name="line.196"></a>
200 <FONT color="green">197</FONT> * @param length the number of elements to include<a name="line.197"></a>
201 <FONT color="green">198</FONT> * @return the standard deviation of the values or Double.NaN if length = 0<a name="line.198"></a>
202 <FONT color="green">199</FONT> * @throws IllegalArgumentException if the array is null or the array index<a name="line.199"></a>
203 <FONT color="green">200</FONT> * parameters are not valid<a name="line.200"></a>
204 <FONT color="green">201</FONT> */<a name="line.201"></a>
205 <FONT color="green">202</FONT> public double evaluate(final double[] values, final double mean,<a name="line.202"></a>
206 <FONT color="green">203</FONT> final int begin, final int length) {<a name="line.203"></a>
207 <FONT color="green">204</FONT> return Math.sqrt(variance.evaluate(values, mean, begin, length));<a name="line.204"></a>
208 <FONT color="green">205</FONT> }<a name="line.205"></a>
209 <FONT color="green">206</FONT> <a name="line.206"></a>
210 <FONT color="green">207</FONT> /**<a name="line.207"></a>
211 <FONT color="green">208</FONT> * Returns the Standard Deviation of the entries in the input array, using<a name="line.208"></a>
212 <FONT color="green">209</FONT> * the precomputed mean value. Returns<a name="line.209"></a>
213 <FONT color="green">210</FONT> * &lt;code&gt;Double.NaN&lt;/code&gt; if the designated subarray is empty.<a name="line.210"></a>
214 <FONT color="green">211</FONT> * &lt;p&gt;<a name="line.211"></a>
215 <FONT color="green">212</FONT> * Returns 0 for a single-value (i.e. length = 1) sample.&lt;/p&gt;<a name="line.212"></a>
216 <FONT color="green">213</FONT> * &lt;p&gt;<a name="line.213"></a>
217 <FONT color="green">214</FONT> * The formula used assumes that the supplied mean value is the arithmetic<a name="line.214"></a>
218 <FONT color="green">215</FONT> * mean of the sample data, not a known population parameter. This method<a name="line.215"></a>
219 <FONT color="green">216</FONT> * is supplied only to save computation when the mean has already been<a name="line.216"></a>
220 <FONT color="green">217</FONT> * computed.&lt;/p&gt;<a name="line.217"></a>
221 <FONT color="green">218</FONT> * &lt;p&gt;<a name="line.218"></a>
222 <FONT color="green">219</FONT> * Throws &lt;code&gt;IllegalArgumentException&lt;/code&gt; if the array is null.&lt;/p&gt;<a name="line.219"></a>
223 <FONT color="green">220</FONT> * &lt;p&gt;<a name="line.220"></a>
224 <FONT color="green">221</FONT> * Does not change the internal state of the statistic.&lt;/p&gt;<a name="line.221"></a>
225 <FONT color="green">222</FONT> *<a name="line.222"></a>
226 <FONT color="green">223</FONT> * @param values the input array<a name="line.223"></a>
227 <FONT color="green">224</FONT> * @param mean the precomputed mean value<a name="line.224"></a>
228 <FONT color="green">225</FONT> * @return the standard deviation of the values or Double.NaN if length = 0<a name="line.225"></a>
229 <FONT color="green">226</FONT> * @throws IllegalArgumentException if the array is null<a name="line.226"></a>
230 <FONT color="green">227</FONT> */<a name="line.227"></a>
231 <FONT color="green">228</FONT> public double evaluate(final double[] values, final double mean) {<a name="line.228"></a>
232 <FONT color="green">229</FONT> return Math.sqrt(variance.evaluate(values, mean));<a name="line.229"></a>
233 <FONT color="green">230</FONT> }<a name="line.230"></a>
234 <FONT color="green">231</FONT> <a name="line.231"></a>
235 <FONT color="green">232</FONT> /**<a name="line.232"></a>
236 <FONT color="green">233</FONT> * @return Returns the isBiasCorrected.<a name="line.233"></a>
237 <FONT color="green">234</FONT> */<a name="line.234"></a>
238 <FONT color="green">235</FONT> public boolean isBiasCorrected() {<a name="line.235"></a>
239 <FONT color="green">236</FONT> return variance.isBiasCorrected();<a name="line.236"></a>
240 <FONT color="green">237</FONT> }<a name="line.237"></a>
241 <FONT color="green">238</FONT> <a name="line.238"></a>
242 <FONT color="green">239</FONT> /**<a name="line.239"></a>
243 <FONT color="green">240</FONT> * @param isBiasCorrected The isBiasCorrected to set.<a name="line.240"></a>
244 <FONT color="green">241</FONT> */<a name="line.241"></a>
245 <FONT color="green">242</FONT> public void setBiasCorrected(boolean isBiasCorrected) {<a name="line.242"></a>
246 <FONT color="green">243</FONT> variance.setBiasCorrected(isBiasCorrected);<a name="line.243"></a>
247 <FONT color="green">244</FONT> }<a name="line.244"></a>
248 <FONT color="green">245</FONT> <a name="line.245"></a>
249 <FONT color="green">246</FONT> /**<a name="line.246"></a>
250 <FONT color="green">247</FONT> * {@inheritDoc}<a name="line.247"></a>
251 <FONT color="green">248</FONT> */<a name="line.248"></a>
252 <FONT color="green">249</FONT> @Override<a name="line.249"></a>
253 <FONT color="green">250</FONT> public StandardDeviation copy() {<a name="line.250"></a>
254 <FONT color="green">251</FONT> StandardDeviation result = new StandardDeviation();<a name="line.251"></a>
255 <FONT color="green">252</FONT> copy(this, result);<a name="line.252"></a>
256 <FONT color="green">253</FONT> return result;<a name="line.253"></a>
257 <FONT color="green">254</FONT> }<a name="line.254"></a>
258 <FONT color="green">255</FONT> <a name="line.255"></a>
259 <FONT color="green">256</FONT> <a name="line.256"></a>
260 <FONT color="green">257</FONT> /**<a name="line.257"></a>
261 <FONT color="green">258</FONT> * Copies source to dest.<a name="line.258"></a>
262 <FONT color="green">259</FONT> * &lt;p&gt;Neither source nor dest can be null.&lt;/p&gt;<a name="line.259"></a>
263 <FONT color="green">260</FONT> *<a name="line.260"></a>
264 <FONT color="green">261</FONT> * @param source StandardDeviation to copy<a name="line.261"></a>
265 <FONT color="green">262</FONT> * @param dest StandardDeviation to copy to<a name="line.262"></a>
266 <FONT color="green">263</FONT> * @throws NullPointerException if either source or dest is null<a name="line.263"></a>
267 <FONT color="green">264</FONT> */<a name="line.264"></a>
268 <FONT color="green">265</FONT> public static void copy(StandardDeviation source, StandardDeviation dest) {<a name="line.265"></a>
269 <FONT color="green">266</FONT> dest.variance = source.variance.copy();<a name="line.266"></a>
270 <FONT color="green">267</FONT> }<a name="line.267"></a>
271 <FONT color="green">268</FONT> <a name="line.268"></a>
272 <FONT color="green">269</FONT> }<a name="line.269"></a>
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333 </PRE>
334 </BODY>
335 </HTML>