samples/apifest1/day2/welltestedsolution/src/org/netbeans/apifest/custom/Gte.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 09:52:45 +0200
changeset 52 4257f4cf226b
permissions -rw-r--r--
Adding samples from API fest to the repository, including pieces of their code in the document, not just links
     1 /*
     2  * The contents of this file are subject to the terms of the Common Development
     3  * and Distribution License (the License). You may not use this file except in
     4  * compliance with the License.
     5  *
     6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
     7  * or http://www.netbeans.org/cddl.txt.
     8  *
     9  * When distributing Covered Code, include this CDDL Header Notice in each file
    10  * and include the License file at http://www.netbeans.org/cddl.txt.
    11  * If applicable, add the following below the CDDL Header, with the fields
    12  * enclosed by brackets [] replaced by your own identifying information:
    13  * "Portions Copyrighted [year] [name of copyright owner]"
    14  *
    15  * The Original Software is NetBeans. The Initial Developer of the Original
    16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
    17  * Microsystems, Inc. All Rights Reserved.
    18  */
    19 
    20 package org.netbeans.apifest.custom;
    21 
    22 import org.netbeans.apifest.boolcircuit.Circuit;
    23 
    24 /**
    25  */
    26 public class Gte extends Circuit{
    27 
    28     private Circuit in1;
    29     private Circuit in2;
    30     
    31     public Gte (Circuit in1, Circuit in2) {
    32         if (in1 == null || in2 == null)
    33             throw new IllegalArgumentException();
    34         this.in1 = in1;
    35         this.in2 = in2;
    36     }
    37     
    38     protected double doEvaluate(double... inputs) {
    39         return (in1.evaluateFuzzy(inputs) >= in2.evaluateFuzzy(inputs))? 1.0: 0.0;
    40     }
    41 
    42     public int maxInputs() {
    43         return Math.max(in1.maxInputs(), in2.maxInputs());
    44     }
    45     
    46 }