Changeset 229 for trunk/sources/HeuristicLab.Functions/Or.cs
- Timestamp:
- 05/11/08 08:55:19 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Functions/Or.cs
r192 r229 28 28 29 29 namespace HeuristicLab.Functions { 30 public class Or : FunctionBase {30 public sealed class Or : FunctionBase { 31 31 public override string Description { 32 32 get { … … 41 41 } 42 42 43 public override IFunctionTree GetTreeNode() {44 return new OrFunctionTree(this);45 }46 // or is a special form and can't be applied47 public override double Apply(Dataset dataset, int sampleIndex, double[] args) {48 throw new NotImplementedException();49 }50 43 public override void Accept(IFunctionVisitor visitor) { 51 44 visitor.Visit(this); 52 45 } 53 46 } 54 55 class OrFunctionTree : FunctionTree {56 public OrFunctionTree() : base() { }57 public OrFunctionTree(Or or) : base(or) { }58 59 public override double Evaluate(Dataset dataset, int sampleIndex) {60 foreach(IFunctionTree subTree in SubTrees) {61 double result = Math.Round(subTree.Evaluate(dataset, sampleIndex));62 if(result == 1.0) return 1.0; // sub-tree evaluates to 1.0 (true) return 1.063 else if(result != 0.0) return double.NaN;64 }65 // all sub-trees evaluated to 0.0 (false) return false66 return 0.0;67 }68 69 public override object Clone(IDictionary<Guid, object> clonedObjects) {70 OrFunctionTree clone = new OrFunctionTree();71 clonedObjects.Add(clone.Guid, clone);72 FillClone(clone, clonedObjects);73 return clone;74 }75 }76 47 }
Note: See TracChangeset
for help on using the changeset viewer.