/** * Copyright (C) 2010-2017 Gordon Fraser, Andrea Arcuri and EvoSuite * contributors * * This file is part of EvoSuite. * * EvoSuite 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 3.0 of the License, or * (at your option) any later version. * * EvoSuite 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 Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with EvoSuite. If not, see <http://www.gnu.org/licenses/>. */ package ncs; public class Remainder { public int exe(int a, int b) { int r = 0-1; int cy = 0; int ny = 0; if (a==0); else if (b==0); else if (a>0) if (b>0) while((a-ny)>=b) { ny=ny+b; r=a-ny; cy=cy+1; } else // b<0 //while((a+ny)>=Math.abs(b)) while((a+ny)>= ((b>=0) ? b : -b)) { ny=ny+b; r=a+ny; cy=cy-1; } else // a<0 if (b>0) //while(Math.abs(a+ny)>=b) while( ((a+ny)>=0 ? (a+ny) : -(a+ny)) >=b) { ny=ny+b; r=a+ny; cy=cy-1; } else while(b>=(a-ny)) { ny=ny+b; //r=Math.abs(a-ny); r= ((a-ny)>=0 ? (a-ny) : -(a-ny)); cy=cy+1; } return r; } }