All pastes #488222 Raw Edit

Untitled

public java v1 · immutable
·published 2007-05-14 21:52 UTC
rendered paste body
// Addition of two polynomialspublic Poly polyAdd (Poly polyA, Poly polyB)	{		long denomA = polyA.denominator;		long denomB = polyB.denominator;			// For case with the same denominator		if ( denomA == denomB )		{			long denomC = denomA;			int lengthC = 0;			// Determine length of coefficient array first			int lengthA = polyA.coeffs.length;			int lengthB = polyB.coeffs.length;						if ( lengthA == lengthB )				{ lengthC = lengthA; }			else if ( lengthA > lengthB)				{ lengthC = lengthA; }			else				{ lengthC = lengthB; };						// Create return value			Poly polyC = new Poly ( variableName, new long [lengthC], denomC);						for (int i = 0; i < polyC.coeffs.length; i++)				{ polyC.coeffs[i] = polyA.coeffs[i] + polyB.coeffs[i]; };						return polyC;		}			// For case with different denominators		else		{		// Determine lowest common denominator			long denomC = denomA * denomB;					// Convert polyA to common denominator with B			Poly polyAB = new Poly ( variableName, new long [polyA.coeffs.length], denomC );				for (int i = 0; i < polyA.coeffs.length; i++)				{ polyAB.coeffs[i] = polyA.coeffs[i] * denomB; };		//		return polyAB;								// Convert polyB to common denominator with A			Poly polyBA = new Poly ( variableName, new long [polyB.coeffs.length], denomC );				for (int i = 0; i < polyB.coeffs.length; i++)				{ polyBA.coeffs[i] = polyB.coeffs[i] * denomA; };		//		return polyBA;					// Now add the normalised polynomials			// Determine length of coefficient array first			int lengthAB = polyAB.coeffs.length;			int lengthBA = polyBA.coeffs.length;			                        int lengthC = 0;			if ( lengthAB == lengthBA )				{ lengthC = lengthAB; }			else if ( lengthAB > lengthBA)				{ lengthC = lengthAB; }			else				{ lengthC = lengthBA; };					// Create return value			Poly polyC = new Poly ( variableName, new long [lengthC], denomC );						for (int i = 0; i < coeffs.length; i++)				{ polyC.coeffs[i] = polyA.coeffs[i] + polyB.coeffs[i]; };						return polyC;				}	}