2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 * Created on May 30, 2005
21 package org
.apache
.poi
.hssf
.record
.formula
.functions
;
25 * @author Amol S. Deshmukh < amolweb at ya hoo dot com >
28 public class TestStatsLib
extends AbstractNumericTestCase
{
30 public void testDevsq() {
34 v
= new double[] {1,2,3,4,5,6,7,8,9,10};
35 d
= StatsLib
.devsq(v
);
37 assertEquals("devsq ", x
, d
);
39 v
= new double[] {1,1,1,1,1,1,1,1,1,1};
40 d
= StatsLib
.devsq(v
);
42 assertEquals("devsq ", x
, d
);
44 v
= new double[] {0,0,0,0,0,0,0,0,0,0};
45 d
= StatsLib
.devsq(v
);
47 assertEquals("devsq ", x
, d
);
49 v
= new double[] {1,2,1,2,1,2,1,2,1,2};
50 d
= StatsLib
.devsq(v
);
52 assertEquals("devsq ", x
, d
);
54 v
= new double[] {123.12,33.3333,2d
/3d
,5.37828,0.999};
55 d
= StatsLib
.devsq(v
);
57 assertEquals("devsq ", x
, d
);
59 v
= new double[] {-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};
60 d
= StatsLib
.devsq(v
);
62 assertEquals("devsq ", x
, d
);
65 public void testKthLargest() {
69 v
= new double[] {1,2,3,4,5,6,7,8,9,10};
70 d
= StatsLib
.kthLargest(v
, 3);
72 assertEquals("kthLargest ", x
, d
);
74 v
= new double[] {1,1,1,1,1,1,1,1,1,1};
75 d
= StatsLib
.kthLargest(v
, 3);
77 assertEquals("kthLargest ", x
, d
);
79 v
= new double[] {0,0,0,0,0,0,0,0,0,0};
80 d
= StatsLib
.kthLargest(v
, 3);
82 assertEquals("kthLargest ", x
, d
);
84 v
= new double[] {1,2,1,2,1,2,1,2,1,2};
85 d
= StatsLib
.kthLargest(v
, 3);
87 assertEquals("kthLargest ", x
, d
);
89 v
= new double[] {123.12,33.3333,2d
/3d
,5.37828,0.999};
90 d
= StatsLib
.kthLargest(v
, 3);
92 assertEquals("kthLargest ", x
, d
);
94 v
= new double[] {-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};
95 d
= StatsLib
.kthLargest(v
, 3);
97 assertEquals("kthLargest ", x
, d
);
100 public void testKthSmallest() {
103 public void testAvedev() {
107 v
= new double[] {1,2,3,4,5,6,7,8,9,10};
108 d
= StatsLib
.avedev(v
);
110 assertEquals("avedev ", x
, d
);
112 v
= new double[] {1,1,1,1,1,1,1,1,1,1};
113 d
= StatsLib
.avedev(v
);
115 assertEquals("avedev ", x
, d
);
117 v
= new double[] {0,0,0,0,0,0,0,0,0,0};
118 d
= StatsLib
.avedev(v
);
120 assertEquals("avedev ", x
, d
);
122 v
= new double[] {1,2,1,2,1,2,1,2,1,2};
123 d
= StatsLib
.avedev(v
);
125 assertEquals("avedev ", x
, d
);
127 v
= new double[] {123.12,33.3333,2d
/3d
,5.37828,0.999};
128 d
= StatsLib
.avedev(v
);
130 assertEquals("avedev ", x
, d
);
132 v
= new double[] {-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};
133 d
= StatsLib
.avedev(v
);
135 assertEquals("avedev ", x
, d
);
138 public void testMedian() {
142 v
= new double[] {1,2,3,4,5,6,7,8,9,10};
143 d
= StatsLib
.median(v
);
145 assertEquals("median ", x
, d
);
147 v
= new double[] {1,1,1,1,1,1,1,1,1,1};
148 d
= StatsLib
.median(v
);
150 assertEquals("median ", x
, d
);
152 v
= new double[] {0,0,0,0,0,0,0,0,0,0};
153 d
= StatsLib
.median(v
);
155 assertEquals("median ", x
, d
);
157 v
= new double[] {1,2,1,2,1,2,1,2,1,2};
158 d
= StatsLib
.median(v
);
160 assertEquals("median ", x
, d
);
162 v
= new double[] {123.12,33.3333,2d
/3d
,5.37828,0.999};
163 d
= StatsLib
.median(v
);
165 assertEquals("median ", x
, d
);
167 v
= new double[] {-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};
168 d
= StatsLib
.median(v
);
170 assertEquals("median ", x
, d
);
172 v
= new double[] {-2,-3,-4,-5,-6,-7,-8,-9,-10};
173 d
= StatsLib
.median(v
);
175 assertEquals("median ", x
, d
);
177 v
= new double[] {1,2,3,4,5,6,7,8,9};
178 d
= StatsLib
.median(v
);
180 assertEquals("median ", x
, d
);
183 public void testMode() {
187 v
= new double[] {1,2,3,4,5,6,7,8,9,10};
188 d
= StatsLib
.mode(v
);
190 assertEquals("mode ", x
, d
);
192 v
= new double[] {1,1,1,1,1,1,1,1,1,1};
193 d
= StatsLib
.mode(v
);
195 assertEquals("mode ", x
, d
);
197 v
= new double[] {0,0,0,0,0,0,0,0,0,0};
198 d
= StatsLib
.mode(v
);
200 assertEquals("mode ", x
, d
);
202 v
= new double[] {1,2,1,2,1,2,1,2,1,2};
203 d
= StatsLib
.mode(v
);
205 assertEquals("mode ", x
, d
);
207 v
= new double[] {123.12,33.3333,2d
/3d
,5.37828,0.999};
208 d
= StatsLib
.mode(v
);
210 assertEquals("mode ", x
, d
);
212 v
= new double[] {-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};
213 d
= StatsLib
.mode(v
);
215 assertEquals("mode ", x
, d
);
217 v
= new double[] {1,2,3,4,1,1,1,1,0,0,0,0,0};
218 d
= StatsLib
.mode(v
);
220 assertEquals("mode ", x
, d
);
222 v
= new double[] {0,1,2,3,4,1,1,1,0,0,0,0,1};
223 d
= StatsLib
.mode(v
);
225 assertEquals("mode ", x
, d
);
228 public void testStddev() {
232 v
= new double[] {1,2,3,4,5,6,7,8,9,10};
233 d
= StatsLib
.stdev(v
);
235 assertEquals("stdev ", x
, d
);
237 v
= new double[] {1,1,1,1,1,1,1,1,1,1};
238 d
= StatsLib
.stdev(v
);
240 assertEquals("stdev ", x
, d
);
242 v
= new double[] {0,0,0,0,0,0,0,0,0,0};
243 d
= StatsLib
.stdev(v
);
245 assertEquals("stdev ", x
, d
);
247 v
= new double[] {1,2,1,2,1,2,1,2,1,2};
248 d
= StatsLib
.stdev(v
);
250 assertEquals("stdev ", x
, d
);
252 v
= new double[] {123.12,33.3333,2d
/3d
,5.37828,0.999};
253 d
= StatsLib
.stdev(v
);
255 assertEquals("stdev ", x
, d
);
257 v
= new double[] {-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};
258 d
= StatsLib
.stdev(v
);
260 assertEquals("stdev ", x
, d
);