rev 11782 : 8164028: Convert TestPredictions_test to GTest Reviewed-by: duke

```
1 /*
2 * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
``` 40 // it. 41 double stddev_estimate(TruncatedSeq const* seq) const { 42 double estimate = seq->dsd(); 43 int const samples = seq->num(); 44 if (samples < 5) { 45 estimate = MAX2(seq->davg() * (5 - samples) / 2.0, estimate); 46 } 47 return estimate; 48 } 49 public: 50 G1Predictions(double sigma) : _sigma(sigma) { 51 assert(sigma >= 0.0, "Confidence must be larger than or equal to zero"); 52 } 53 54 // Confidence factor. 55 double sigma() const { return _sigma; } 56 57 double get_new_prediction(TruncatedSeq const* seq) const { 58 return seq->davg() + _sigma * stddev_estimate(seq); 59 } 60 61 #ifndef PRODUCT 62 static void test(); 63 #endif 64 }; 65 66 #endif // SHARE_VM_GC_G1_G1PREDICTIONS_HPP | ```
1 /*
2 * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
``` 40 // it. 41 double stddev_estimate(TruncatedSeq const* seq) const { 42 double estimate = seq->dsd(); 43 int const samples = seq->num(); 44 if (samples < 5) { 45 estimate = MAX2(seq->davg() * (5 - samples) / 2.0, estimate); 46 } 47 return estimate; 48 } 49 public: 50 G1Predictions(double sigma) : _sigma(sigma) { 51 assert(sigma >= 0.0, "Confidence must be larger than or equal to zero"); 52 } 53 54 // Confidence factor. 55 double sigma() const { return _sigma; } 56 57 double get_new_prediction(TruncatedSeq const* seq) const { 58 return seq->davg() + _sigma * stddev_estimate(seq); 59 } 60 }; 61 62 #endif // SHARE_VM_GC_G1_G1PREDICTIONS_HPP |