Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
Add declarations for cpdef arithmetic functions in .pxd files
Browse files Browse the repository at this point in the history
  • Loading branch information
roed314 authored and jdemeyer committed Aug 8, 2017
1 parent e77531e commit 919de01
Show file tree
Hide file tree
Showing 36 changed files with 69 additions and 2 deletions.
Expand Up @@ -13,3 +13,5 @@ from sage.algebras.letterplace.free_algebra_letterplace cimport FreeAlgebra_lett

cdef class FreeAlgebraElement_letterplace(AlgebraElement):
cdef MPolynomial_libsingular _poly
cpdef _add_(self, other)
cpdef _mul_(self, other)
1 change: 1 addition & 0 deletions src/sage/groups/libgap_wrapper.pxd
Expand Up @@ -5,3 +5,4 @@ from sage.libs.gap.element cimport GapElement
cdef class ElementLibGAP(MultiplicativeGroupElement):
cdef GapElement _libgap
cpdef GapElement gap(self)
cpdef _mul_(self, other)
1 change: 1 addition & 0 deletions src/sage/groups/matrix_gps/group_element.pxd
Expand Up @@ -7,6 +7,7 @@ cdef class MatrixGroupElement_generic(MultiplicativeGroupElement):
cdef public Matrix _matrix

cpdef _act_on_(self, x, bint self_on_left)
cpdef _mul_(self, other)
cpdef list list(self)

cdef class MatrixGroupElement_gap(ElementLibGAP):
Expand Down
1 change: 1 addition & 0 deletions src/sage/groups/perm_gps/permgroup_element.pxd
Expand Up @@ -9,6 +9,7 @@ cdef class PermutationGroupElement(MultiplicativeGroupElement):
cdef Element _gap_element
cdef __tuple
cdef PermutationGroupElement _new_c(self)
cpdef _mul_(self, other)
cpdef _gap_list(self)
cpdef domain(self)
cdef public __custom_name
Expand Down
Expand Up @@ -5,3 +5,4 @@ cdef class SemimonomialTransformation(MultiplicativeGroupElement):
cdef object perm, alpha

cdef _new_c(self)
cpdef _mul_(self, other)
4 changes: 3 additions & 1 deletion src/sage/libs/gap/element.pxd
Expand Up @@ -44,7 +44,9 @@ cdef class GapElement(RingElement):
cdef _initialize(self, parent, libGAP_Obj obj)
cpdef _type_number(self)
cpdef is_bool(self)

cpdef _add_(self, other)
cpdef _mul_(self, other)
cpdef _mod_(self, right)

cdef class GapElement_Integer(GapElement):
pass
Expand Down
1 change: 1 addition & 0 deletions src/sage/numerical/linear_functions.pxd
Expand Up @@ -13,6 +13,7 @@ cdef class LinearFunctionsParent_class(Parent):

cdef class LinearFunction(LinearFunctionOrConstraint):
cdef dict _f
cpdef _add_(self, other)
cpdef iteritems(self)
cpdef _acted_upon_(self, x, bint self_on_left)
cpdef is_zero(self)
Expand Down
1 change: 1 addition & 0 deletions src/sage/numerical/linear_tensor_element.pxd
Expand Up @@ -2,3 +2,4 @@ from sage.structure.element cimport Element, ModuleElement

cdef class LinearTensor(ModuleElement):
cpdef dict _f
cpdef _add_(self, other)
2 changes: 2 additions & 0 deletions src/sage/quivers/algebra_elements.pxd
Expand Up @@ -83,6 +83,8 @@ cdef class PathAlgebraElement(RingElement):
# functions.
cdef path_order_t cmp_terms
cdef long _hash
cpdef _add_(self, other)
cpdef _mul_(self, other)
cpdef ssize_t degree(self) except -2
cpdef dict monomial_coefficients(self)
cpdef list coefficients(self)
Expand Down
2 changes: 2 additions & 0 deletions src/sage/quivers/paths.pxd
Expand Up @@ -5,6 +5,8 @@ cdef class QuiverPath(MonoidElement):
cdef biseq_t _path
cdef int _start, _end
cdef QuiverPath _new_(self, int start, int end)
cpdef _mul_(self, other)
cpdef _mod_(self, right)
cpdef tuple complement(self, QuiverPath subpath)
cpdef bint has_subpath(self, QuiverPath subpath) except -1
cpdef bint has_prefix(self, QuiverPath subpath) except -1
Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/complex_arb.pxd
Expand Up @@ -14,6 +14,8 @@ cdef int acb_to_ComplexIntervalFieldElement(
cdef class ComplexBall(RingElement):
cdef acb_t value
cdef ComplexBall _new(self)
cpdef _add_(self, other)
cpdef _mul_(self, other)
cpdef ComplexIntervalFieldElement _complex_mpfi_(self, parent)
cpdef RealBall real(self)
cpdef RealBall imag(self)
2 changes: 2 additions & 0 deletions src/sage/rings/complex_double.pxd
Expand Up @@ -13,5 +13,7 @@ cdef class ComplexDoubleField_class(sage.rings.ring.Field):
cdef class ComplexDoubleElement(sage.structure.element.FieldElement):
cdef gsl_complex _complex
cdef ComplexDoubleElement _new_c(self, gsl_complex x)
cpdef _add_(self, other)
cpdef _mul_(self, other)

cdef ComplexDoubleElement new_ComplexDoubleElement()
2 changes: 2 additions & 0 deletions src/sage/rings/complex_interval.pxd
Expand Up @@ -8,6 +8,8 @@ cdef class ComplexIntervalFieldElement(sage.structure.element.FieldElement):
cdef mpfi_t __im
cdef mp_prec_t _prec

cpdef _add_(self, other)
cpdef _mul_(self, other)
cdef RealIntervalFieldElement abs_c(ComplexIntervalFieldElement self)
cdef RealIntervalFieldElement norm_c(ComplexIntervalFieldElement self)

Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/complex_mpc.pxd
Expand Up @@ -7,6 +7,8 @@ cdef class MPComplexNumber(sage.structure.element.FieldElement):
cdef mpc_t value
cdef char init
cdef MPComplexNumber _new(self)
cpdef _add_(self, other)
cpdef _mul_(self, other)

cdef class MPComplexField_class(sage.rings.ring.Field):
cdef readonly int __prec
Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/complex_number.pxd
Expand Up @@ -9,6 +9,8 @@ cdef class ComplexNumber(sage.structure.element.FieldElement):
cdef object _multiplicative_order
cdef int _prec

cpdef _add_(self, other)
cpdef _mul_(self, other)
cdef RealNumber abs_c(ComplexNumber self)
cdef RealNumber norm_c(ComplexNumber self)

Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/fraction_field_FpT.pxd
Expand Up @@ -11,6 +11,8 @@ cdef class FpTElement(RingElement):
cdef long p

cdef FpTElement _new_c(self)
cpdef _add_(self, other)
cpdef _mul_(self, other)
cdef FpTElement _copy_c(self)
cpdef numerator(self)
cpdef denominator(self)
Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/integer.pxd
Expand Up @@ -14,6 +14,8 @@ cdef class Integer(EuclideanDomainElement):
cpdef __pari__(self)

cpdef _shift_helper(Integer self, y, int sign)
cpdef _add_(self, other)
cpdef _mul_(self, other)
cdef _and(Integer self, Integer other)
cdef _or(Integer self, Integer other)
cdef _xor(Integer self, Integer other)
Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/laurent_series_ring_element.pxd
Expand Up @@ -5,4 +5,6 @@ cdef class LaurentSeries(AlgebraElement):
cdef long __n

cdef __normalize(self)
cpdef _add_(self, other)
cpdef _mul_(self, other)

2 changes: 2 additions & 0 deletions src/sage/rings/number_field/number_field_element.pxd
Expand Up @@ -20,6 +20,8 @@ cdef class NumberFieldElement(FieldElement):
cdef object __matrix

cdef _new(self)
cpdef _add_(self, other)
cpdef _mul_(self, other)

cdef number_field(self)

Expand Down
1 change: 1 addition & 0 deletions src/sage/rings/polynomial/multi_polynomial.pxd
Expand Up @@ -2,3 +2,4 @@ from sage.structure.element cimport CommutativeRingElement

cdef class MPolynomial(CommutativeRingElement):
cdef long _hash_c(self) except -1
cpdef _mod_(self, right)
3 changes: 3 additions & 0 deletions src/sage/rings/polynomial/multi_polynomial_libsingular.pxd
Expand Up @@ -8,6 +8,9 @@ cdef class MPolynomialRing_libsingular
cdef class MPolynomial_libsingular(MPolynomial):
cdef poly *_poly
cdef ring *_parent_ring
cpdef _add_(self, other)
cpdef _mul_(self, other)
cpdef _floordiv_(self, right)
cpdef _repr_short_(self)
cpdef is_constant(self)
cpdef _homogenize(self, int var)
Expand Down
3 changes: 3 additions & 0 deletions src/sage/rings/polynomial/pbori.pxd
Expand Up @@ -18,6 +18,8 @@ cdef class BooleanPolynomialRing(MPolynomialRing_generic):

cdef class BooleanPolynomial(MPolynomial):
cdef PBPoly _pbpoly
cpdef _add_(self, other)
cpdef _mul_(self, other)

cdef class BooleSet:
cdef BooleanPolynomialRing _ring
Expand All @@ -30,6 +32,7 @@ cdef class CCuddNavigator:
cdef class BooleanMonomial(MonoidElement):
cdef PBMonom _pbmonom
cdef BooleanPolynomialRing _ring
cpdef _mul_(self, other)

cdef class BooleanMonomialVariableIterator:
cdef object parent
Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/polynomial/plural.pxd
Expand Up @@ -32,6 +32,8 @@ cdef class ExteriorAlgebra_plural(NCPolynomialRing_plural):

cdef class NCPolynomial_plural(RingElement):
cdef poly *_poly
cpdef _add_(self, other)
cpdef _mul_(self, other)
cpdef _repr_short_(self)
cdef long _hash_c(self)
cpdef is_constant(self)
Expand Down
3 changes: 3 additions & 0 deletions src/sage/rings/polynomial/polynomial_element.pxd
Expand Up @@ -21,6 +21,9 @@ cdef class Polynomial(CommutativeAlgebraElement):
cpdef bint is_zero(self)
cpdef bint is_one(self)

cpdef _add_(self, other)
cpdef _mul_(self, other)
cpdef _floordiv_(self, right)
cpdef Polynomial _mul_trunc_(self, Polynomial right, long n)
cpdef Polynomial _power_trunc(self, unsigned long n, long prec)

Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/polynomial/polynomial_modn_dense_ntl.pxd
Expand Up @@ -23,11 +23,13 @@ cdef class Polynomial_dense_modn_ntl_zz(Polynomial_dense_mod_n):
cdef zz_pX_c x
cdef ntl_zz_pContext_class c
cdef Polynomial_dense_modn_ntl_zz _new(self)
cpdef _mod_(self, right)

cdef class Polynomial_dense_modn_ntl_ZZ(Polynomial_dense_mod_n):
cdef ZZ_pX_c x
cdef ntl_ZZ_pContext_class c
cdef Polynomial_dense_modn_ntl_ZZ _new(self)
cpdef _mod_(self, right)

cdef class Polynomial_dense_mod_p(Polynomial_dense_mod_n):
pass
1 change: 1 addition & 0 deletions src/sage/rings/polynomial/polynomial_rational_flint.pxd
Expand Up @@ -14,6 +14,7 @@ cdef class Polynomial_rational_flint(Polynomial):
cdef fmpq_poly_t __poly

cdef Polynomial_rational_flint _new(self)
cpdef _mod_(self, right)
cpdef _unsafe_mutate(self, unsigned long n, value)
cpdef Polynomial truncate(self, long n)

1 change: 1 addition & 0 deletions src/sage/rings/polynomial/polynomial_template_header.pxi
Expand Up @@ -7,3 +7,4 @@ from sage.rings.polynomial.polynomial_element cimport Polynomial
cdef class Polynomial_template(Polynomial):
cdef celement x
cdef cparent _cparent
cpdef _mod_(self, right)
4 changes: 4 additions & 0 deletions src/sage/rings/polynomial/skew_polynomial_element.pxd
Expand Up @@ -11,6 +11,8 @@ cdef class SkewPolynomial(AlgebraElement):
cdef SkewPolynomial _new_c(self,list coeffs,Parent P,char check=*)
cpdef SkewPolynomial _new_constant_poly(self,RingElement a,Parent P,char check=*)
cpdef _neg_(self)
cpdef _floordiv_(self, right)
cpdef _mod_(self, right)

cpdef bint is_zero(self)
cpdef bint is_one(self)
Expand All @@ -27,6 +29,8 @@ cdef class SkewPolynomial_generic_dense(SkewPolynomial):
cdef list _coeffs

cdef void __normalize(self)
cpdef _add_(self, other)
cpdef _mul_(self, other)

cpdef dict dict(self)
cpdef list list(self, bint copy=*)
Expand Down
2 changes: 1 addition & 1 deletion src/sage/rings/power_series_ring_element.pxd
Expand Up @@ -8,4 +8,4 @@ cdef class PowerSeries(AlgebraElement):

# UNSAFE, only call from an inplace operator
# may return a new element if not possible to modify inplace
cdef _inplace_truncate(self, long prec)
cdef _inplace_truncate(self, long prec)
2 changes: 2 additions & 0 deletions src/sage/rings/rational.pxd
Expand Up @@ -8,6 +8,8 @@ cpdef rational_power_parts(a, b, factor_limit=?)
cdef class Rational(sage.structure.element.FieldElement):
cdef mpq_t value

cpdef _add_(self, other)
cpdef _mul_(self, other)
cdef __set_value(self, x, unsigned int base)
cdef void set_from_mpq(Rational self, mpq_t value)
cdef _lshift(self, long int exp)
Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/real_arb.pxd
Expand Up @@ -13,5 +13,7 @@ cdef int real_part_of_quadratic_element_to_arb(arb_t res, nfeq.NumberFieldElemen
cdef class RealBall(RingElement):
cdef arb_t value
cdef RealBall _new(self)
cpdef _add_(self, other)
cpdef _mul_(self, other)
cpdef RealIntervalFieldElement _real_mpfi_(self, RealIntervalField_class parent)
cpdef RealBall psi(self)
2 changes: 2 additions & 0 deletions src/sage/rings/real_double.pxd
Expand Up @@ -11,6 +11,8 @@ cdef class RealDoubleField_class(Field):
cdef class RealDoubleElement(FieldElement):
cdef double _value
cdef _new_c(self, double value)
cpdef _add_(self, other)
cpdef _mul_(self, other)
cpdef RealDoubleElement abs(RealDoubleElement self)
cdef RealDoubleElement __pow_float(self, double exponent)
cdef RealDoubleElement __pow_int(self, int exponent)
Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/real_lazy.pxd
Expand Up @@ -5,6 +5,8 @@ cdef class LazyField(Field):
cpdef interval_field(self, prec=*)

cdef class LazyFieldElement(FieldElement):
cpdef _add_(self, other)
cpdef _mul_(self, other)
cdef LazyFieldElement _new_wrapper(self, value)
cdef LazyFieldElement _new_binop(self, LazyFieldElement left, LazyFieldElement right, op)
cdef LazyFieldElement _new_unop(self, LazyFieldElement arg, op)
Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/real_mpfi.pxd
Expand Up @@ -40,6 +40,8 @@ cdef class RealIntervalFieldElement(RingElement):
cdef inline RealIntervalFieldElement _new(self):
"""Return a new real interval with same parent as ``self``."""
return RealIntervalFieldElement.__new__(RealIntervalFieldElement, self._parent)
cpdef _add_(self, other)
cpdef _mul_(self, other)
cdef RealIntervalFieldElement abs(RealIntervalFieldElement self)
cdef Rational _simplest_rational_helper(self)
cpdef _str_question_style(self, int base, int error_digits, e, bint prefer_sci)
3 changes: 3 additions & 0 deletions src/sage/rings/real_mpfr.pxd
Expand Up @@ -21,6 +21,9 @@ cdef class RealNumber(sage.structure.element.RingElement):
cdef inline RealNumber _new(self):
"""Return a new real number with same parent as ``self``."""
return <RealNumber>(RealNumber.__new__(RealNumber, self._parent))
cpdef _add_(self, other)
cpdef _mul_(self, other)
cpdef _mod_(self, right)
cdef _set(self, x, int base)
cdef _set_from_GEN_REAL(self, GEN g)
cdef RealNumber abs(RealNumber self)
Expand Down
2 changes: 2 additions & 0 deletions src/sage/symbolic/expression.pxd
Expand Up @@ -3,6 +3,8 @@ from sage.structure.element cimport CommutativeRingElement

cdef class Expression(CommutativeRingElement):
cdef GEx _gobj
cpdef _add_(self, other)
cpdef _mul_(self, other)
cdef Expression coerce_in(self, z)
cpdef object _eval_self(self, R)
cpdef object _convert(self, R)
Expand Down

0 comments on commit 919de01

Please sign in to comment.