1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.math;
19
20
21
22
23
24
25
26
27
28 public abstract class ConvergingAlgorithmImpl implements ConvergingAlgorithm{
29
30
31 protected double absoluteAccuracy;
32
33
34 protected double relativeAccuracy;
35
36
37 protected int maximalIterationCount;
38
39
40 protected double defaultAbsoluteAccuracy;
41
42
43 protected double defaultRelativeAccuracy;
44
45
46 protected int defaultMaximalIterationCount;
47
48
49
50 protected int iterationCount;
51
52
53
54
55
56
57
58
59
60 protected ConvergingAlgorithmImpl(final int defaultMaximalIterationCount,
61 final double defaultAbsoluteAccuracy) {
62 this.defaultAbsoluteAccuracy = defaultAbsoluteAccuracy;
63 this.defaultRelativeAccuracy = 1.0e-14;
64 this.absoluteAccuracy = defaultAbsoluteAccuracy;
65 this.relativeAccuracy = defaultRelativeAccuracy;
66 this.defaultMaximalIterationCount = defaultMaximalIterationCount;
67 this.maximalIterationCount = defaultMaximalIterationCount;
68 this.iterationCount = 0;
69 }
70
71
72 public int getIterationCount() {
73 return iterationCount;
74 }
75
76
77 public void setAbsoluteAccuracy(double accuracy) {
78 absoluteAccuracy = accuracy;
79 }
80
81
82 public double getAbsoluteAccuracy() {
83 return absoluteAccuracy;
84 }
85
86
87 public void resetAbsoluteAccuracy() {
88 absoluteAccuracy = defaultAbsoluteAccuracy;
89 }
90
91
92 public void setMaximalIterationCount(int count) {
93 maximalIterationCount = count;
94 }
95
96
97 public int getMaximalIterationCount() {
98 return maximalIterationCount;
99 }
100
101
102 public void resetMaximalIterationCount() {
103 maximalIterationCount = defaultMaximalIterationCount;
104 }
105
106
107 public void setRelativeAccuracy(double accuracy) {
108 relativeAccuracy = accuracy;
109 }
110
111
112 public double getRelativeAccuracy() {
113 return relativeAccuracy;
114 }
115
116
117 public void resetRelativeAccuracy() {
118 relativeAccuracy = defaultRelativeAccuracy;
119 }
120
121 }