/*
* This file is part of the X10 project (http://x10-lang.org).
*
* This file is licensed to You under the Eclipse Public License (EPL);
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.opensource.org/licenses/eclipse-1.0.php
*
* (C) Copyright IBM Corporation 2006-2012.
*/
package x10.core;
/*
* special dispatchers for method abstract public x10.lang.Arithmetic.operator{+,-,*,/}(T):T
*/
public interface Arithmetic {
public interface x10$lang$Byte extends x10.lang.Arithmetic<Byte> {
public byte $plus$B(java.lang.Object a1, x10.rtt.Type t1);
public byte $minus$B(java.lang.Object a1, x10.rtt.Type t1);
public byte $times$B(java.lang.Object a1, x10.rtt.Type t1);
public byte $over$B(java.lang.Object a1, x10.rtt.Type t1);
}
public interface x10$lang$Short extends x10.lang.Arithmetic<Short> {
public short $plus$S(java.lang.Object a1, x10.rtt.Type t1);
public short $minus$S(java.lang.Object a1, x10.rtt.Type t1);
public short $times$S(java.lang.Object a1, x10.rtt.Type t1);
public short $over$S(java.lang.Object a1, x10.rtt.Type t1);
}
public interface x10$lang$Int extends x10.lang.Arithmetic<Int> {
public int $plus$I(java.lang.Object a1, x10.rtt.Type t1);
public int $minus$I(java.lang.Object a1, x10.rtt.Type t1);
public int $times$I(java.lang.Object a1, x10.rtt.Type t1);
public int $over$I(java.lang.Object a1, x10.rtt.Type t1);
}
public interface x10$lang$Long extends x10.lang.Arithmetic<Long> {
public long $plus$J(java.lang.Object a1, x10.rtt.Type t1);
public long $minus$J(java.lang.Object a1, x10.rtt.Type t1);
public long $times$J(java.lang.Object a1, x10.rtt.Type t1);
public long $over$J(java.lang.Object a1, x10.rtt.Type t1);
}
public interface x10$lang$Float extends x10.lang.Arithmetic<Float> {
public float $plus$F(java.lang.Object a1, x10.rtt.Type t1);
public float $minus$F(java.lang.Object a1, x10.rtt.Type t1);
public float $times$F(java.lang.Object a1, x10.rtt.Type t1);
public float $over$F(java.lang.Object a1, x10.rtt.Type t1);
}
public interface x10$lang$Double extends x10.lang.Arithmetic<Double> {
public double $plus$D(java.lang.Object a1, x10.rtt.Type t1);
public double $minus$D(java.lang.Object a1, x10.rtt.Type t1);
public double $times$D(java.lang.Object a1, x10.rtt.Type t1);
public double $over$D(java.lang.Object a1, x10.rtt.Type t1);
}
public interface x10$lang$Char extends x10.lang.Arithmetic<Char> {
public char $plus$C(java.lang.Object a1, x10.rtt.Type t1);
public char $minus$C(java.lang.Object a1, x10.rtt.Type t1);
public char $times$C(java.lang.Object a1, x10.rtt.Type t1);
public char $over$C(java.lang.Object a1, x10.rtt.Type t1);
}
public interface x10$lang$Boolean extends x10.lang.Arithmetic<Boolean> {
public boolean $plus$Z(java.lang.Object a1, x10.rtt.Type t1);
public boolean $minus$Z(java.lang.Object a1, x10.rtt.Type t1);
public boolean $times$Z(java.lang.Object a1, x10.rtt.Type t1);
public boolean $over$Z(java.lang.Object a1, x10.rtt.Type t1);
}
public interface x10$lang$UByte extends x10.lang.Arithmetic<UByte> {
public byte $plus$b(java.lang.Object a1, x10.rtt.Type t1);
public byte $minus$b(java.lang.Object a1, x10.rtt.Type t1);
public byte $times$b(java.lang.Object a1, x10.rtt.Type t1);
public byte $over$b(java.lang.Object a1, x10.rtt.Type t1);
}
public interface x10$lang$UShort extends x10.lang.Arithmetic<UShort> {
public short $plus$s(java.lang.Object a1, x10.rtt.Type t1);
public short $minus$s(java.lang.Object a1, x10.rtt.Type t1);
public short $times$s(java.lang.Object a1, x10.rtt.Type t1);
public short $over$s(java.lang.Object a1, x10.rtt.Type t1);
}
public interface x10$lang$UInt extends x10.lang.Arithmetic<UInt> {
public int $plus$i(java.lang.Object a1, x10.rtt.Type t1);
public int $minus$i(java.lang.Object a1, x10.rtt.Type t1);
public int $times$i(java.lang.Object a1, x10.rtt.Type t1);
public int $over$i(java.lang.Object a1, x10.rtt.Type t1);
}
public interface x10$lang$ULong extends x10.lang.Arithmetic<ULong> {
public long $plus$j(java.lang.Object a1, x10.rtt.Type t1);
public long $minus$j(java.lang.Object a1, x10.rtt.Type t1);
public long $times$j(java.lang.Object a1, x10.rtt.Type t1);
public long $over$j(java.lang.Object a1, x10.rtt.Type t1);
}
}