OpenCores
URL https://opencores.org/ocsvn/quark/quark/trunk

Subversion Repositories quark

[/] [quark/] [trunk/] [01_SysRequirements/] [03_InternalRequirements/] [01_MatlabAlgorithmDesign/] [DIV.m] - Rev 18

Go to most recent revision | Compare with Previous | Blame | View Log

 
function [answer,zero] = DIV(dividend,divisor)
	denom = divisor;
	current = 1;
    answer = 0;
    zero = 0;
 
    if (divisor == 0)
        zero = 1;
        return;
    end
 
	% METHOD 1
    %while (dividend >= divisor)
    %    dividend = dividend - divisor;
    %    answer = answer + 1;
    %end
	%
 
	while (denom <= dividend)
		denom = fix(bitsll(denom, 1));
		current = fix(bitsll(current, 1));
	end
 
	denom = fix(bitsra(denom, 1));
	current = fix(bitsra(current, 1));
 
	while (current~=0)
		if (dividend >= denom)
			dividend = int16(dividend - denom);
			answer = bitor(answer, current);
        end
 
		current = fix(bitsra(current, 1));
		denom = fix(bitsra(denom, 1));
    end
end

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.