Changeset 8474:b6a95e027144
- Timestamp:
- 01/27/08 16:19:35 (5 years ago)
- Branch:
- default
- File:
-
- 1 edited
-
sage/rings/padics/padic_ext_element.pyx (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
sage/rings/padics/padic_ext_element.pyx
r8434 r8474 1 from sage.rings.padics.pow_computer cimport PowComputer_class 2 from sage.rings.integer import Integer 3 4 1 5 cdef class pAdicExtElement(pAdicGenericElement): 6 cdef int _set_from_list(self, L) except -1: 7 """ 8 Sets self from a list. 9 10 The list should either be uniform in type, or all of the entries should be coercible to integers. 11 If any of the entries in L is a list, L will be cast to a ZZ_pEX 12 13 INPUT: 14 L -- a list. 15 """ 16 raise NotImplementedError 17 18 cdef int _set_from_list_rel(self, L, long relprec) except -1: 19 raise NotImplementedError 20 21 cdef int _set_from_list_abs(self, L, long absprec) except -1: 22 raise NotImplementedError 23 24 cdef int _set_from_list_both(self, L, long absprec, long relprec) except -1: 25 raise NotImplementedError 26 27 cdef int _set_from_ZZX(self, ZZX_c poly) except -1: 28 if self.parent().is_capped_relative(): 29 self._set_from_ZZX_rel(poly, (<PowComputer_class>self.parent().prime_pow).prec_cap) 30 elif self.parent().is_capped_absolute(): 31 self._set_from_ZZX_abs(poly, (<PowComputer_class>self.parent().prime_pow).prec_cap) 32 else: 33 raise RuntimeError, "_set_from_ZZX should have been overridden" 34 35 cdef int _set_from_ZZX_rel(self, ZZX_c poly, long relprec) except -1: 36 """ 37 Set from a ZZX_c with bounded relative precision. 38 39 Capped relative rings should override this function, so the default implementation is 40 for capped absolute. 41 """ 42 self._set_from_ZZX_both(poly, (<PowComputer_class>self.parent().prime_pow).prec_cap, relprec) 43 44 cdef int _set_from_ZZX_abs(self, ZZX_c poly, long absprec) except -1: 45 """ 46 Set from a ZZX_c with bounded absolute precision. 47 48 Capped absolute rings should override this function, so the default implementation is 49 for capped relative. 50 """ 51 self._set_from_ZZX_both(poly, absprec, (<PowComputer_class>self.parent().prime_pow).prec_cap) 52 53 cdef int _set_from_ZZX_both(self, ZZX_c poly, long absprec, long relprec) except -1: 54 if self.parent().is_fixed_mod(): 55 self._set_from_ZZX(poly) 56 else: 57 raise RuntimeError, "_set_from_ZZX_both should have been overridden" 58 59 cdef int _set_from_ZZ_pX(self, ZZ_pX_c* poly, ntl_ZZ_pContext_class ctx) except -1: 60 if self.parent().is_capped_relative(): 61 self._set_from_ZZ_pX_rel(poly, ctx, (<PowComputer_class>self.parent().prime_pow).prec_cap) 62 elif self.parent().is_capped_absolute(): 63 self._set_from_ZZ_pX_abs(poly, ctx, (<PowComputer_class>self.parent().prime_pow).prec_cap) 64 else: 65 raise RuntimeError, "_set_from_ZZ_pX should have been overridden" 66 67 cdef int _set_from_ZZ_pX_rel(self, ZZ_pX_c* poly, ntl_ZZ_pContext_class ctx, long relprec) except -1: 68 """ 69 Set from a ZZ_pX_c with bounded relative precision. 70 71 Capped relative rings should override this function, so the default implementation is 72 for capped absolute. 73 """ 74 self._set_from_ZZ_pX_both(poly, ctx, (<PowComputer_class>self.parent().prime_pow).prec_cap, relprec) 75 76 cdef int _set_from_ZZ_pX_abs(self, ZZ_pX_c* poly, ntl_ZZ_pContext_class ctx, long absprec) except -1: 77 """ 78 Set from a ZZ_pX_c with bounded absolute precision. 79 80 Capped absolute rings should override this function, so the default implementation is 81 for capped relative. 82 """ 83 self._set_from_ZZ_pX_both(poly, ctx, absprec, (<PowComputer_class>self.parent().prime_pow).prec_cap) 84 85 cdef int _set_from_ZZ_pX_both(self, ZZ_pX_c* poly, ntl_ZZ_pContext_class ctx, long absprec, long relprec) except -1: 86 if self.parent().is_fixed_mod(): 87 self._set_from_ZZ_pX(poly, ctx) 88 else: 89 raise RuntimeError, "_set_from_ZZ_pX_both should have been overridden" 90 91 cdef int _set_from_ZZ_pE(self, ZZ_pE_c* poly, ntl_ZZ_pEContext_class ctx) except -1: 92 if self.parent().is_capped_relative(): 93 self._set_from_ZZ_pE_rel(poly, ctx, (<PowComputer_class>self.parent().prime_pow).prec_cap) 94 elif self.parent().is_capped_absolute(): 95 self._set_from_ZZ_pE_abs(poly, ctx, (<PowComputer_class>self.parent().prime_pow).prec_cap) 96 else: 97 raise RuntimeError, "_set_from_ZZ_pE should have been overridden" 98 99 cdef int _set_from_ZZ_pE_rel(self, ZZ_pE_c* poly, ntl_ZZ_pEContext_class ctx, long relprec) except -1: 100 """ 101 Set from a ZZ_pE_c with bounded relative precision. 102 103 Capped relative rings should override this function, so the default implementation is 104 for capped absolute. 105 """ 106 self._set_from_ZZ_pE_both(poly, ctx, (<PowComputer_class>self.parent().prime_pow).prec_cap, relprec) 107 108 cdef int _set_from_ZZ_pE_abs(self, ZZ_pE_c* poly, ntl_ZZ_pEContext_class ctx, long absprec) except -1: 109 """ 110 Set from a ZZ_pE_c with bounded absolute precision. 111 112 Capped absolute rings should override this function, so the default implementation is 113 for capped relative. 114 """ 115 self._set_from_ZZ_pE_both(poly, ctx, absprec, (<PowComputer_class>self.parent().prime_pow).prec_cap) 116 117 cdef int _set_from_ZZ_pE_both(self, ZZ_pE_c* poly, ntl_ZZ_pEContext_class ctx, long absprec, long relprec) except -1: 118 if self.parent().is_fixed_mod(): 119 self._set_from_ZZ_pE(poly, ctx) 120 else: 121 raise RuntimeError, "_set_from_ZZ_pE_both should have been overridden" 122 123 cdef int _set_from_ZZ_pEX(self, ZZ_pEX_c* poly, ntl_ZZ_pEContext_class ctx) except -1: 124 if self.parent().is_capped_relative(): 125 self._set_from_ZZ_pEX_rel(poly, ctx, (<PowComputer_class>self.parent().prime_pow).prec_cap) 126 elif self.parent().is_capped_absolute(): 127 self._set_from_ZZ_pEX_abs(poly, ctx, (<PowComputer_class>self.parent().prime_pow).prec_cap) 128 else: 129 raise RuntimeError, "_set_from_ZZ_pEX should have been overridden" 130 131 cdef int _set_from_ZZ_pEX_rel(self, ZZ_pEX_c* poly, ntl_ZZ_pEContext_class ctx, long relprec) except -1: 132 """ 133 Set from a ZZ_pEX_c with bounded relative precision. 134 135 Capped relative rings should override this function, so the default implementation is 136 for capped absolute. 137 """ 138 self._set_from_ZZ_pEX_both(poly, ctx, (<PowComputer_class>self.parent().prime_pow).prec_cap, relprec) 139 140 cdef int _set_from_ZZ_pEX_abs(self, ZZ_pEX_c* poly, ntl_ZZ_pEContext_class ctx, long absprec) except -1: 141 """ 142 Set from a ZZ_pEX_c with bounded absolute precision. 143 144 Capped absolute rings should override this function, so the default implementation is 145 for capped relative. 146 """ 147 self._set_from_ZZ_pEX_both(poly, ctx, absprec, (<PowComputer_class>self.parent().prime_pow).prec_cap) 148 149 cdef int _set_from_ZZ_pEX_both(self, ZZ_pEX_c* poly, ntl_ZZ_pEContext_class ctx, long absprec, long relprec) except -1: 150 if self.parent().is_fixed_mod(): 151 self._set_from_ZZ_pEX(poly, ctx) 152 else: 153 raise RuntimeError, "_set_from_ZZ_pEX_both should have been overridden" 154 155 cdef long _check_ZZ_pContext(self, ntl_ZZ_pContext_class ctx) except -1: 156 raise NotImplementedError 157 158 cdef long _check_ZZ_pEContext(self, ntl_ZZ_pEContext_class ctx) except -1: 159 raise NotImplementedError 160 2 161 cdef ext_p_list(self, bint pos): 3 162 raise NotImplementedError 4 163 5 def _ext_p_list(self, pos): 6 return self.ext_p_list(pos) 7 8 cdef int _set_from_mpz(self, mpz_t x) except -1: 164 cdef ext_p_list_precs(self, bint pos, long prec): 9 165 raise NotImplementedError 10 166 11 cdef int _set_from_mpq(self, mpq_t x) except -1:167 cdef ZZ_p_c _const_term(self): 12 168 raise NotImplementedError 169 170 def _ext_p_list(self, pos): 171 return self.ext_p_list(pos)
Note: See TracChangeset
for help on using the changeset viewer.
