Commit 6e2b548a authored by Falko Schumann's avatar Falko Schumann
Browse files

Abhängigkeit zu Funclib BitCtrl beseitigt

parent 5890ddbb
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -27,8 +27,5 @@ nerzswe {

String kernsoftware_version = '3.9.7'
dependencies {
//  api group: 'de.bsvrz.sys', name: 'de.bsvrz.sys.funclib.bitctrl', version: '1.5.3'
    api project(':de.bsvrz.sys.funclib.bitctrl:subprojects:de.bsvrz.sys.funclib.bitctrl')

    testImplementation group: 'junit', name: 'junit', version: '4.12'
}
+45 −0
Original line number Diff line number Diff line
/*
 * Segment 5 Intelligente Analyseverfahren, SWE 5.4 Funktionen Fuzzy
 * Copyright (C) 2007-2015 BitCtrl Systems GmbH
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this library; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
 *
 * Contact Information:
 * BitCtrl Systems GmbH
 * Weißenfelser Straße 67
 * 04229 Leipzig
 * Phone: +49 341-490670
 * mailto: info@bitctrl.de
 */

package de.bsvrz.iav.fuzzylib.fuzzylib;

/**
 * Bestimmt das algebraische Produkt zweier Gleitkommazahlen.
 *
 * @author BitCtrl Systems GmbH, Falko Schumann
 */
public final class AlgebraischesProdukt extends BiOperation {

    public AlgebraischesProdukt(Ausdruck<Double> a, Ausdruck<Double> b) {
        super(Funktionen::algebraischesProdukt, a, b);
    }

    @Override
    public String toString() {
        return "produkt(" + getA() + ", " + getB() + ")";
    }

}
+45 −0
Original line number Diff line number Diff line
/*
 * Segment 5 Intelligente Analyseverfahren, SWE 5.4 Funktionen Fuzzy
 * Copyright (C) 2007-2015 BitCtrl Systems GmbH
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this library; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
 *
 * Contact Information:
 * BitCtrl Systems GmbH
 * Weißenfelser Straße 67
 * 04229 Leipzig
 * Phone: +49 341-490670
 * mailto: info@bitctrl.de
 */

package de.bsvrz.iav.fuzzylib.fuzzylib;

/**
 * Bestimmt die algebraische Summe zweier Gleitkommazahlen.
 *
 * @author BitCtrl Systems GmbH, Falko Schumann
 */
public final class AlgebraischesSumme extends BiOperation {

    public AlgebraischesSumme(Ausdruck<Double> a, Ausdruck<Double> b) {
        super(Funktionen::algebraischesSumme, a, b);
    }

    @Override
    public String toString() {
        return "summe(" + getA() + ", " + getB() + ")";
    }

}
+35 −0
Original line number Diff line number Diff line
/*
 * Segment 5 Intelligente Analyseverfahren, SWE 5.4 Funktionen Fuzzy
 * Copyright (C) 2007-2015 BitCtrl Systems GmbH
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this library; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
 *
 * Contact Information:
 * BitCtrl Systems GmbH
 * Weißenfelser Straße 67
 * 04229 Leipzig
 * Phone: +49 341-490670
 * mailto: info@bitctrl.de
 */

package de.bsvrz.iav.fuzzylib.fuzzylib;

import java.util.*;

public interface Ausdruck<T> {

    T interpretiere(Map<String, ?> kontext);

}
+62 −0
Original line number Diff line number Diff line
/*
 * Segment 5 Intelligente Analyseverfahren, SWE 5.4 Funktionen Fuzzy
 * Copyright (C) 2007-2015 BitCtrl Systems GmbH
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this library; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
 *
 * Contact Information:
 * BitCtrl Systems GmbH
 * Weißenfelser Straße 67
 * 04229 Leipzig
 * Phone: +49 341-490670
 * mailto: info@bitctrl.de
 */

package de.bsvrz.iav.fuzzylib.fuzzylib;

import java.util.*;
import java.util.function.*;

/**
 * Definiert eine Operation auf zwei Gleitkommazahlen.
 *
 * @author BitCtrl Systems GmbH, Falko Schumann
 */
public class BiOperation implements Ausdruck<Double> {

    private BiFunction<Double, Double, Double> operation;
    private final Ausdruck<Double> a;
    private final Ausdruck<Double> b;

    public BiOperation(BiFunction<Double, Double, Double> operation, Ausdruck<Double> a, Ausdruck<Double> b) {
        this.operation = Objects.requireNonNull(operation, "operation");
        this.a = Objects.requireNonNull(a, "a");
        this.b = Objects.requireNonNull(b, "b");
    }

    public Ausdruck<Double> getA() {
        return a;
    }

    public Ausdruck<Double> getB() {
        return b;
    }

    @Override
    public Double interpretiere(Map<String, ?> kontext) {
        return operation.apply(a.interpretiere(kontext), b.interpretiere(kontext));
    }

}
Loading