class JLB_IkenagaContraction(mmf.ulb:Contraction) {
; The Ikenaga formula as a Contraction.
public:
; @param pz
; @param pc
; @return the new pz
complex func Iterate(complex pz, complex pc)
if (@p_std)
return pz*pz*pz + pz*pc - pz - pc
else
complex tz = pz-@p_zoffset
complex tc = pc-@p_coffset
return tz^@p_power + tz*tc - tz - tc
endif
endfunc
private:
default:
title = "Ikenaga"
int param v_Ikenagacontraction
caption = "Version (Ikenaga_Contraction)"
default = 100
hint = "This version parameter is used to detect when a change has \
been made to the formula that is incompatible with the \
previous version. When that happens, this field will reflect \
the old version number to alert you to the fact that an \
alternate rendering is being used."
visible = @v_Ikenagacontraction < 100
endparam
bool param p_std
caption = "Standard"
default = true
endparam
complex param p_power
caption = "Power"
default = (3,0)
visible = !@p_std
endparam
complex param p_zoffset
caption = "pz offset"
default = (0,0)
visible = !@p_std
endparam
complex param p_coffset
caption = "pc offset"
default = (0,0)
visible = !@p_std
endparam
}