// FUNCIONES MATEMATICAS

// funcion auxiliar para generar un número aleatorio entre los valores especificados
function aleatorio(inferior,superior){ 
	numPosibilidades = superior - inferior;
	aleat = Math.random() * numPosibilidades; 
	aleat = Math.round(aleat);
	return parseInt(inferior) + aleat;
} 

// 
function mcd(a, b){
	if (a%b == 0) {return b;} 
	return mcd(b, a%b);
}

function mcm(a,b) {
	return a*b/mcd(a,b);
}

function esIrreducible(a,b){
	if (mcd(a,b) == 1) {return 1; } else {return 0;}
}

	
function simplifica(a,b) { 
	var respuesta = new Array(3) ;
	m = mcd(a,b);
	respuesta[0] = a/m;
	respuesta[1] = b/m;
	return respuesta;
}

function opera(a, b, c, d, op){ //recibe las fraccionas a/b y b/c y operacion y devuelve la fracción resultante
	var fraccion=new Array(1,1);
	if (op <2) {sol_den = mcm(b, d); }
	switch (op){
		case 0: //suma
			sol_num = a*(sol_den/b) + c*(sol_den/d);
		break;
		case 1: //resta
			sol_num = a*(sol_den/b) - c*(sol_den/d);
		break;
		case 2: //mult
			sol_num = a*c;
			sol_den = b*d;
		break;
		case 3: //divi
			sol_num = a*d;
			sol_den = b*c;
		break;
	}
	fraccion = simplifica(sol_num, sol_den);
	//alert (fraccion[0] + " entre " + fraccion[1]);
	return fraccion;
}

function equivalentes (numer1, denom1, numer2, denom2){
	if (denom2 != 0 && denom1 !=0 && (numer1 * denom2 == denom1*numer2)) {return 1;} else {return 0;}
}

// OTRAS FUNCIONES AUXILIARES