mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2024-12-23 01:30:25 +00:00
changed setValue() to calculateValue()
This commit is contained in:
parent
4ce850a4de
commit
adeab79258
@ -9,8 +9,8 @@ public class Abs extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
void setValue ()
|
||||
double calculateValue ()
|
||||
{
|
||||
value = Math.abs (source.getValue ());
|
||||
return Math.abs (source.getValue ());
|
||||
}
|
||||
}
|
@ -1,9 +1,10 @@
|
||||
package com.bytezone.diskbrowser.visicalc;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class AbstractValue implements Value
|
||||
public abstract class AbstractValue implements Value, Iterable<Value>
|
||||
{
|
||||
protected final String typeText;
|
||||
protected double value;
|
||||
@ -71,6 +72,12 @@ public abstract class AbstractValue implements Value
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<Value> iterator ()
|
||||
{
|
||||
return values.iterator ();
|
||||
}
|
||||
|
||||
// for debugging
|
||||
String getValueText (int depth)
|
||||
{
|
||||
|
@ -5,13 +5,12 @@ public class Acos extends ValueFunction
|
||||
Acos (Cell cell, String text)
|
||||
{
|
||||
super (cell, text);
|
||||
|
||||
assert text.startsWith ("@ACOS(") : text;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public double calculateValue ()
|
||||
{
|
||||
value = Math.acos (source.getValue ());
|
||||
return Math.acos (source.getValue ());
|
||||
}
|
||||
}
|
@ -9,8 +9,8 @@ public class Asin extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public double calculateValue ()
|
||||
{
|
||||
value = Math.asin (source.getValue ());
|
||||
return Math.asin (source.getValue ());
|
||||
}
|
||||
}
|
@ -9,8 +9,8 @@ public class Atan extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public double calculateValue ()
|
||||
{
|
||||
value = Math.atan (source.getValue ());
|
||||
return Math.atan (source.getValue ());
|
||||
}
|
||||
}
|
@ -96,7 +96,7 @@ class Condition extends AbstractValue implements Iterable<Value>
|
||||
@Override
|
||||
public String toString ()
|
||||
{
|
||||
return String.format ("[cond=%s, op=%s, value=%s]", conditionText, comparator,
|
||||
return String.format ("[cond=%s, op:%s, value=%s]", conditionText, comparator,
|
||||
valueText);
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,9 @@
|
||||
package com.bytezone.diskbrowser.visicalc;
|
||||
|
||||
public abstract class ConstantFunction extends Function
|
||||
{
|
||||
public ConstantFunction (Cell cell, String text)
|
||||
{
|
||||
super (cell, text);
|
||||
}
|
||||
}
|
@ -9,8 +9,8 @@ public class Cos extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public double calculateValue ()
|
||||
{
|
||||
value = Math.cos (source.getValue ());
|
||||
return Math.cos (source.getValue ());
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package com.bytezone.diskbrowser.visicalc;
|
||||
|
||||
class Error extends Function
|
||||
class Error extends ConstantFunction
|
||||
{
|
||||
public Error (Cell cell, String text)
|
||||
{
|
||||
|
@ -9,8 +9,8 @@ public class Exp extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public double calculateValue ()
|
||||
{
|
||||
value = Math.exp (source.getValue ());
|
||||
return Math.exp (source.getValue ());
|
||||
}
|
||||
}
|
@ -1,10 +1,9 @@
|
||||
package com.bytezone.diskbrowser.visicalc;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
class Expression extends AbstractValue implements Iterable<Value>
|
||||
class Expression extends AbstractValue //implements Iterable<Value>
|
||||
{
|
||||
// Expressions:
|
||||
// number
|
||||
@ -386,11 +385,11 @@ class Expression extends AbstractValue implements Iterable<Value>
|
||||
return text.toString ();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<Value> iterator ()
|
||||
{
|
||||
return values.iterator ();
|
||||
}
|
||||
// @Override
|
||||
// public Iterator<Value> iterator ()
|
||||
// {
|
||||
// return values.iterator ();
|
||||
// }
|
||||
|
||||
@Override
|
||||
public String toString ()
|
||||
|
@ -1,6 +1,6 @@
|
||||
package com.bytezone.diskbrowser.visicalc;
|
||||
|
||||
public class False extends Function
|
||||
public class False extends ConstantFunction
|
||||
{
|
||||
False (Cell cell, String text)
|
||||
{
|
||||
|
@ -1,8 +1,6 @@
|
||||
package com.bytezone.diskbrowser.visicalc;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
abstract class Function extends AbstractValue implements Iterable<Value>
|
||||
abstract class Function extends AbstractValue
|
||||
{
|
||||
static final String[] functionList =
|
||||
{ "@ABS(", "@ACOS(", "@AND(", "@ASIN(", "@ATAN(", "@AVERAGE(", "@COUNT(",
|
||||
@ -11,13 +9,10 @@ abstract class Function extends AbstractValue implements Iterable<Value>
|
||||
"@PI", "@SIN(", "@SUM(", "@SQRT(", "@TAN(", "@TRUE" };
|
||||
|
||||
protected final Cell cell;
|
||||
protected final String fullText;
|
||||
|
||||
protected String functionName;
|
||||
protected String functionText;
|
||||
protected String fullText;
|
||||
|
||||
protected Value source;
|
||||
protected Range range;
|
||||
protected final String functionName;
|
||||
protected final String functionText;
|
||||
|
||||
Function (Cell cell, String text)
|
||||
{
|
||||
@ -35,17 +30,11 @@ abstract class Function extends AbstractValue implements Iterable<Value>
|
||||
}
|
||||
else
|
||||
{
|
||||
functionName = "";
|
||||
functionName = text;
|
||||
functionText = "";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<Value> iterator ()
|
||||
{
|
||||
return values.iterator ();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString ()
|
||||
{
|
||||
|
@ -9,8 +9,8 @@ public class Int extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public double calculateValue ()
|
||||
{
|
||||
value = (int) source.getValue ();
|
||||
return (int) source.getValue ();
|
||||
}
|
||||
}
|
@ -15,8 +15,16 @@ class IsError extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public void calculate ()
|
||||
{
|
||||
value = source.isValueType (ValueType.ERROR) ? 1 : 0;
|
||||
source.calculate ();
|
||||
value = calculateValue ();
|
||||
valueType = ValueType.VALUE; // do not use source.getValueType()
|
||||
}
|
||||
|
||||
@Override
|
||||
public double calculateValue ()
|
||||
{
|
||||
return source.isValueType (ValueType.ERROR) ? 1 : 0;
|
||||
}
|
||||
}
|
@ -15,8 +15,16 @@ public class IsNa extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public void calculate ()
|
||||
{
|
||||
value = source.isValueType (ValueType.NA) ? 1 : 0;
|
||||
source.calculate ();
|
||||
value = calculateValue ();
|
||||
valueType = ValueType.VALUE; // do not use source.getValueType()
|
||||
}
|
||||
|
||||
@Override
|
||||
public double calculateValue ()
|
||||
{
|
||||
return source.isValueType (ValueType.NA) ? 1 : 0;
|
||||
}
|
||||
}
|
@ -9,8 +9,8 @@ public class Ln extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public double calculateValue ()
|
||||
{
|
||||
value = Math.log (source.getValue ());
|
||||
return Math.log (source.getValue ());
|
||||
}
|
||||
}
|
@ -9,8 +9,8 @@ public class Log10 extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public double calculateValue ()
|
||||
{
|
||||
value = Math.log10 (source.getValue ());
|
||||
return Math.log10 (source.getValue ());
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package com.bytezone.diskbrowser.visicalc;
|
||||
|
||||
public class Na extends Function
|
||||
public class Na extends ConstantFunction
|
||||
{
|
||||
public Na (Cell cell, String text)
|
||||
{
|
||||
|
@ -2,7 +2,7 @@ package com.bytezone.diskbrowser.visicalc;
|
||||
|
||||
class Or extends Function
|
||||
{
|
||||
ConditionList conditions;
|
||||
private final ConditionList conditions;
|
||||
|
||||
public Or (Cell cell, String text)
|
||||
{
|
||||
|
@ -1,15 +1,14 @@
|
||||
package com.bytezone.diskbrowser.visicalc;
|
||||
|
||||
class Pi extends Function
|
||||
class Pi extends ConstantFunction
|
||||
{
|
||||
Pi (Cell cell, String text)
|
||||
{
|
||||
super (cell, text);
|
||||
|
||||
value = Math.PI;
|
||||
|
||||
assert text.equals ("@PI") : text;
|
||||
|
||||
value = Math.PI;
|
||||
valueType = ValueType.VALUE;
|
||||
}
|
||||
}
|
@ -9,8 +9,8 @@ public class Sin extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public double calculateValue ()
|
||||
{
|
||||
value = Math.sin (source.getValue ());
|
||||
return Math.sin (source.getValue ());
|
||||
}
|
||||
}
|
@ -9,8 +9,8 @@ public class Sqrt extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public double calculateValue ()
|
||||
{
|
||||
value = Math.sqrt (source.getValue ());
|
||||
return Math.sqrt (source.getValue ());
|
||||
}
|
||||
}
|
@ -9,8 +9,8 @@ public class Tan extends ValueFunction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue ()
|
||||
public double calculateValue ()
|
||||
{
|
||||
value = Math.tan (source.getValue ());
|
||||
return Math.tan (source.getValue ());
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package com.bytezone.diskbrowser.visicalc;
|
||||
|
||||
public class True extends Function
|
||||
public class True extends ConstantFunction
|
||||
{
|
||||
True (Cell cell, String text)
|
||||
{
|
||||
|
@ -2,6 +2,8 @@ package com.bytezone.diskbrowser.visicalc;
|
||||
|
||||
public abstract class ValueFunction extends Function
|
||||
{
|
||||
protected Value source;
|
||||
|
||||
ValueFunction (Cell cell, String text)
|
||||
{
|
||||
super (cell, text);
|
||||
@ -21,10 +23,9 @@ public abstract class ValueFunction extends Function
|
||||
return;
|
||||
}
|
||||
|
||||
// value = Math.abs (source.getValue ());
|
||||
setValue ();
|
||||
value = calculateValue ();
|
||||
valueType = Double.isNaN (value) ? ValueType.ERROR : ValueType.VALUE;
|
||||
}
|
||||
|
||||
abstract void setValue ();
|
||||
abstract double calculateValue ();
|
||||
}
|
@ -15,5 +15,4 @@ public abstract class ValueListFunction extends Function
|
||||
for (Value v : list)
|
||||
values.add (v);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user