/*
* $Id$
*/
package edu.jas.gb;
import java.io.Serializable;
import edu.jas.poly.GenPolynomial;
import edu.jas.structure.RingElem;
/**
* Distributed GB transport message. This class and its subclasses are used for
* transport of polynomials and pairs and as markers in distributed GB
* algorithms.
*/
public class GBTransportMess implements Serializable {
public GBTransportMess() {
}
/**
* toString.
*/
@Override
public String toString() {
return this.getClass().getName();
}
}
/**
* Distributed GB transport message for requests.
*/
final class GBTransportMessReq extends GBTransportMess {
public GBTransportMessReq() {
}
}
/**
* Distributed GB transport message for termination.
*/
final class GBTransportMessEnd extends GBTransportMess {
public GBTransportMessEnd() {
}
}
/**
* Distributed GB transport message for polynomial.
*/
final class GBTransportMessPoly> extends GBTransportMess {
/**
* The polynomial to transport.
*/
public final GenPolynomial pol;
/**
* GBTransportMessPoly.
* @param p polynomial to transfered.
*/
public GBTransportMessPoly(GenPolynomial p) {
this.pol = p;
}
/**
* toString.
*/
@Override
public String toString() {
return super.toString() + "( " + pol + " )";
}
}
/**
* Distributed GB transport message for pairs.
*/
final class GBTransportMessPair> extends GBTransportMess {
public final Pair pair;
/**
* GBTransportMessPair.
* @param p pair for transfer.
*/
public GBTransportMessPair(Pair p) {
this.pair = p;
}
/**
* toString.
*/
@Override
public String toString() {
return super.toString() + "( " + pair + " )";
}
}
/**
* Distributed GB transport message for index pairs.
*/
final class GBTransportMessPairIndex extends GBTransportMess {
public final int i;
public final int j;
public final int s;
/**
* GBTransportMessPairIndex.
* @param p pair for transport.
*/
public GBTransportMessPairIndex(Pair p) {
this(p.i, p.j, p.s);
}
/**
* GBTransportMessPairIndex.
* @param i first index.
* @param j second index.
*/
@Deprecated
public GBTransportMessPairIndex(int i, int j) {
this(i, j, 0);
}
/**
* GBTransportMessPairIndex.
* @param i first index.
* @param j second index.
* @param s maximal index.
*/
public GBTransportMessPairIndex(int i, int j, int s) {
this.i = i;
this.j = j;
s = Math.max(this.i, s);
s = Math.max(this.j, s);
this.s = s;
}
/**
* GBTransportMessPairIndex.
* @param i first index.
* @param j second index.
* @param s maximal index.
*/
public GBTransportMessPairIndex(Integer i, Integer j, Integer s) {
this(i.intValue(), j.intValue(), s.intValue());
}
/**
* toString.
*/
@Override
public String toString() {
return super.toString() + "( " + i + "," + j + "," + s + ")";
}
}
Ads help maintain this website.