def __init__(self, poly, prec, print_mode, names, element_class): """ Initialization EXAMPLES:: sage: R = Zp(5,5) sage: S.<x> = R[] sage: f = x^5 + 75*x^3 - 15*x^2 +125*x - 5 sage: W.<w> = R.ext(f) #indirect doctest """ #type checking done in factory self._given_poly = poly R = poly.base_ring() # We'll deal with the different names better later. # Using a tuple here is mostly needed for more general extensions # (ie not eisenstein or unramified) print_mode['unram_name'] = names[2] print_mode['ram_name'] = names[3] print_mode['var_name'] = names[0] names = names[0] pAdicGeneric.__init__(self, R, R.prime(), prec, print_mode, names, element_class) self._populate_coercion_lists_(coerce_list=[R], element_constructor=element_class)
def __init__(self, p, prec, print_mode, names, element_class): """ Initialization TESTS:: sage: R = Zp(5) #indirect doctest """ self.prime_pow = PowComputer(p, max(min(prec - 1, 30), 1), prec, self.is_field()) pAdicGeneric.__init__(self, self, p, prec, print_mode, names, element_class) if self.is_field(): coerce_list = [pAdicCoercion_ZZ_CR(self), pAdicCoercion_QQ_CR(self)] convert_list = [] elif self.is_capped_relative(): coerce_list = [pAdicCoercion_ZZ_CR(self)] convert_list = [pAdicConvert_QQ_CR(self)] elif self.is_capped_absolute(): coerce_list = [pAdicCoercion_ZZ_CA(self)] convert_list = [pAdicConvert_QQ_CA(self)] elif self.is_fixed_mod(): coerce_list = [pAdicCoercion_ZZ_FM(self)] convert_list = [pAdicConvert_QQ_FM(self)] else: raise RuntimeError self._populate_coercion_lists_( coerce_list=coerce_list, convert_list=convert_list, element_constructor=element_class )
def __init__(self, p, prec, print_mode, names, element_class): """ Initialization TESTS:: sage: R = Zp(5) #indirect doctest """ self.prime_pow = PowComputer(p, max(min(prec - 1, 30), 1), prec, self.is_field(), self._prec_type()) pAdicGeneric.__init__(self, self, p, prec, print_mode, names, element_class) if self.is_field(): coerce_list = [ pAdicCoercion_ZZ_CR(self), pAdicCoercion_QQ_CR(self) ] convert_list = [] elif self.is_capped_relative(): coerce_list = [pAdicCoercion_ZZ_CR(self)] convert_list = [pAdicConvert_QQ_CR(self)] elif self.is_capped_absolute(): coerce_list = [pAdicCoercion_ZZ_CA(self)] convert_list = [pAdicConvert_QQ_CA(self)] elif self.is_fixed_mod(): coerce_list = [pAdicCoercion_ZZ_FM(self)] convert_list = [pAdicConvert_QQ_FM(self)] else: raise RuntimeError self._populate_coercion_lists_(coerce_list=coerce_list, convert_list=convert_list, element_constructor=element_class)