pub fn iso_3_eb_basis(e: MontCurve, abasis: Basis, s: Point, eb: usize) -> (MontCurve, Basis) {
    let (p, q) = abasis;
    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..(eb + 1) {
	_t = tpl_k(e_mut, s_mut, EB - i);
	e_mut = curve_3_iso(_t, e_mut);
	s_mut = eval_3_iso(_t, s_mut);
	p_mut = eval_3_iso(_t, p_mut);
	q_mut = eval_3_iso(_t, q_mut);
    }

    (e_mut, (p_mut, q_mut))
}
/// Input: curve e with basis for the 2^EA torsion  and point s of order 3^EB
/// Output: codomain of the 3^EB-isogeny corresponding to s and the image of the basis points
curve e with basis for the 2^EA torsion  and point s of order 3^EB
Output: codomain of the 3^EB-isogeny corresponding to s and the image of the basis points
curve e with basis for the 2^EA torsion and point s of order 3^EB Output : codomain of the 3^EB - isogeny corresponding to s and the image of the basis points
pub fn iso_3_eb_basis(e: MontCurve, abasis: Basis, s: Point, eb: usize) -> (MontCurve, Basis) {
    let (p, q) = abasis;
    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..(eb + 1) {
	_t = tpl_k(e_mut, s_mut, EB - i);
	e_mut = curve_3_iso(_t, e_mut);
	s_mut = eval_3_iso(_t, s_mut);
	p_mut = eval_3_iso(_t, p_mut);
	q_mut = eval_3_iso(_t, q_mut);
    }
    (e_mut, (p_mut, q_mut))
}
pub fn iso_3_eb_basis ( e : MontCurve , abasis : Basis , s : Point , eb : usize ) -> ( MontCurve , Basis ) { let ( p , q ) = abasis ; 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 .. ( eb + 1 ) { _t = tpl_k ( e_mut , s_mut , EB - i ) ; e_mut = curve_3_iso ( _t , e_mut ) ; s_mut = eval_3_iso ( _t , s_mut ) ; p_mut = eval_3_iso ( _t , p_mut ) ; q_mut = eval_3_iso ( _t , q_mut ) ; } ( e_mut , ( p_mut , q_mut ) ) }
Input: curve e with basis for the 2^EA torsion  and point s of order 3^EB
Output: codomain of the 3^EB-isogeny corresponding to s and the image of the basis points
Input : curve e with basis for the 2^EA torsion and point s of order 3^EB Output : codomain of the 3^EB - isogeny corresponding to s and the image of the basis points
e
MontCurve
abasis
Basis
s
Point
eb
usize
e
MontCurve
abasis
Basis
s
Point
eb
usize