cn.wensiqun.asmsupport.standard.action.ArithmeticAction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of asmsupport-standard Show documentation
Show all versions of asmsupport-standard Show documentation
This module is a standard apid definition of asmsupport, all implements of asmsupport will be following this standard api.
/**
* Asmsupport is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package cn.wensiqun.asmsupport.standard.action;
import cn.wensiqun.asmsupport.standard.def.IParam;
/**
* Indicate arithmetic action here
*
* @author wensiqun(at)163.com
*/
public interface ArithmeticAction<_P extends IParam> {
/**
* Generate addition instructions such as : leftFactor + rightFactor, seem like following
*
*
* int count = leftFactor + rightFactor;
*
*
* @param leftFactor
* @param rightFactor
* @return {@link _P}
*/
_P add(_P leftFactor, _P rightFactor);
/**
* Generate substruction instructions such as : leftFactor - rightFactor, seem like following
*
*
* int count = leftFactor - leftrightFactor;
*
*
* @param leftFactor
* @param rightFactor
* @return {@link _P}
*/
_P sub(_P leftFactor, _P rightFactor);
/**
* Generate multiplication instructions such as : leftFactor * rightFactor, seem like following
*
*
* int count = leftFactor * leftrightFactor;
*
*
* @param leftFactor
* @param rightFactor
* @return {@link _P}
*/
_P mul(_P leftFactor, _P rightFactor);
/**
* generate division instruction : leftFactor / rightFactor
*
*
* int count = leftFactor / leftrightFactor;
*
*
* @param leftFactor
* @param rightFactor
* @return {@link _P}
*/
_P div(_P leftFactor, _P rightFactor);
/**
*
* generate mod instruction : leftFactor % rightFactor, seem like following
*
*
* int count = leftFactor % leftrightFactor;
*
*
*
* @param leftFactor
* @param rightFactor
* @return {@link _P}
*/
_P mod(_P leftFactor, _P rightFactor);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy