All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.io.github.moonlightsuite.moonlight.domain.PairDistance Maven / Gradle / Ivy

Go to download

MoonLight is a light-weight Java-tool for monitoring temporal, spatial and spatio-temporal properties of distributed complex systems, such as Cyber-Physical Systems and Collective Adaptive Systems.

The newest version!
package io.github.moonlightsuite.moonlight.domain;

import io.github.moonlightsuite.moonlight.core.space.DistanceDomain;
import io.github.moonlightsuite.moonlight.core.base.Pair;

public class PairDistance implements DistanceDomain> {

    private final DistanceDomain firstDomain;
    private final DistanceDomain secondDomain;

    public PairDistance(DistanceDomain firstDomain, DistanceDomain secondDomain) {
        this.firstDomain = firstDomain;
        this.secondDomain = secondDomain;
    }

    @Override
    public Pair zero() {
        return new Pair<>(firstDomain.zero(),secondDomain.zero());
    }

    @Override
    public Pair infinity() {
        return new Pair<>(firstDomain.infinity(),secondDomain.infinity());
    }

    @Override
    public boolean lessOrEqual(Pair x, Pair y) {
        return firstDomain.lessOrEqual(x.getFirst(),y.getFirst())&&secondDomain.lessOrEqual(x.getSecond(), y.getSecond());
    }

    @Override
    public boolean less(Pair x, Pair y) {
        return firstDomain.less(x.getFirst(),y.getFirst())&&secondDomain.less(x.getSecond(), y.getSecond());
    }

    @Override
    public Pair sum(Pair x, Pair y) {
        return new Pair<>(firstDomain.sum(x.getFirst(),y.getFirst()),secondDomain.sum(x.getSecond(),y.getSecond()));
    }

    @Override
    public boolean equalTo(Pair x, Pair y) {
        return firstDomain.equalTo(x.getFirst(),y.getFirst())&&secondDomain.equalTo(x.getSecond(), y.getSecond());
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy