finalmente parece que ni casteando a int servia se usaron doubles y una comparacion con margen de error de 1^-4 y revisando parece que funciona para todos los casso