pub fn iso_2_ea_basis(e: MontCurve, bbasis: Basis, s: Point, ea: usize) -> (MontCurve, Basis) {
    let (p, q) = bbasis;
    let mut e_mut = e;
    let mut s_mut = s;
    let mut p_mut = p;
    let mut q_mut = q;

    let mut _t = (fp2zero(), fp2zero());

    for i in 1..(ea + 1) {
	_t = dbl_k(e_mut, s_mut, EA - i);
	e_mut = curve_2_iso(_t, e_mut);
	s_mut = eval_2_iso(_t, s_mut);

	p_mut = eval_2_iso(_t, p_mut);
	q_mut = eval_2_iso(_t, q_mut);
    }
    (e_mut, (p_mut, q_mut))
}
/// Input: curve e with basis for the 3^EB torsion  and point s of order 2^EA
/// Output: codomain of the 2^EA-isogeny corresponding to s and the image of the basis points
curve e with basis for the 3^EB torsion  and point s of order 2^EA
Output: codomain of the 2^EA-isogeny corresponding to s and the image of the basis points
curve e with basis for the 3^EB torsion and point s of order 2^EA Output : codomain of the 2^EA - isogeny corresponding to s and the image of the basis points
pub fn iso_2_ea_basis(e: MontCurve, bbasis: Basis, s: Point, ea: usize) -> (MontCurve, Basis) {
    let (p, q) = bbasis;
    let mut e_mut = e;
    let mut s_mut = s;
    let mut p_mut = p;
    let mut q_mut = q;
    let mut _t = (fp2zero(), fp2zero());
    for i in 1..(ea + 1) {
	_t = dbl_k(e_mut, s_mut, EA - i);
	e_mut = curve_2_iso(_t, e_mut);
	s_mut = eval_2_iso(_t, s_mut);
	p_mut = eval_2_iso(_t, p_mut);
	q_mut = eval_2_iso(_t, q_mut);
    }
    (e_mut, (p_mut, q_mut))
}
pub fn iso_2_ea_basis ( e : MontCurve , bbasis : Basis , s : Point , ea : usize ) -> ( MontCurve , Basis ) { let ( p , q ) = bbasis ; let mut e_mut = e ; let mut s_mut = s ; let mut p_mut = p ; let mut q_mut = q ; let mut _t = ( fp2zero ( ) , fp2zero ( ) ) ; for i in 1 .. ( ea + 1 ) { _t = dbl_k ( e_mut , s_mut , EA - i ) ; e_mut = curve_2_iso ( _t , e_mut ) ; s_mut = eval_2_iso ( _t , s_mut ) ; p_mut = eval_2_iso ( _t , p_mut ) ; q_mut = eval_2_iso ( _t , q_mut ) ; } ( e_mut , ( p_mut , q_mut ) ) }
Input: curve e with basis for the 3^EB torsion  and point s of order 2^EA
Output: codomain of the 2^EA-isogeny corresponding to s and the image of the basis points
Input : curve e with basis for the 3^EB torsion and point s of order 2^EA Output : codomain of the 2^EA - isogeny corresponding to s and the image of the basis points
e
MontCurve
bbasis
Basis
s
Point
ea
usize
e
MontCurve
bbasis
Basis
s
Point
ea
usize