// Path: src/fdt/utils/Tuple.java
// public class Tuple<T1, T2> {
//     private T1 first;
//     private T2 second;
// 
//     /**
//      *
//      */
//     public Tuple() {
//     }
// 
//     /**
//      *
//      * @param first
//      * @param second
//      */
//     public Tuple(T1 first, T2 second) {
//         this.first = first;
//         this.second = second;
//     }
// 
//     /**
//      *
//      * @return
//      */
//     public T1 getFirst() {
//         return first;
//     }
// 
//     /**
//      *
//      * @return
//      */
//     public T2 getSecond() {
//         return second;
//     }
// 
//     /**
//      *
//      * @param first
//      */
//     public void setFirst(T1 first) {
//         this.first = first;
//     }
// 
//     /**
//      *
//      * @param second
//      */
//     public void setSecond(T2 second) {
//         this.second = second;
//     }
// 
//     /**
//      *
//      * @return
//      */
//     @Override
//     public String toString() {
//         return String.format("(%s, %s)", first, second);
//     }
//     
//     
// }


import fdt.utils.Tuple;

package fdt.fuzzy;


/**
 *
 * @author Mohammed Jabreel
 * 
 */ 

public class TrapezoidalFuzzySet extends PiecewiseLinearFunction {

    /**
     *
     * @param size
     */
    public TrapezoidalFuzzySet(int size) {
// Path: src/fdt/utils/Tuple.java
// public class Tuple<T1, T2> {
//     private T1 first;
//     private T2 second;
// 
//     /**
//      *
//      */
//     public Tuple() {
//     }
// 
//     /**
//      *
//      * @param first
//      * @param second
//      */
//     public Tuple(T1 first, T2 second) {
//         this.first = first;
//         this.second = second;
//     }
// 
//     /**
//      *
//      * @return
//      */
//     public T1 getFirst() {
//         return first;
//     }
// 
//     /**
//      *
//      * @return
//      */
//     public T2 getSecond() {
//         return second;
//     }
// 
//     /**
//      *
//      * @param first
//      */
//     public void setFirst(T1 first) {
//         this.first = first;
//     }
// 
//     /**
//      *
//      * @param second
//      */
//     public void setSecond(T2 second) {
//         this.second = second;
//     }
// 
//     /**
//      *
//      * @return
//      */
//     @Override
//     public String toString() {
//         return String.format("(%s, %s)", first, second);
//     }
//     
//     
// }


// Path: src/fdt/fuzzy/TrapezoidalFuzzySet.java
import fdt.utils.Tuple;


package fdt.fuzzy;


/**
 *
 * @author Mohammed Jabreel
 * 
 */ 

public class TrapezoidalFuzzySet extends PiecewiseLinearFunction {

    /**
     *
     * @param size
     */
    public TrapezoidalFuzzySet(int size) {
        this.points = new Tuple[size];