Skip to content

Commit 543d5bf

Browse files
committed
Merge branch 'u/mkoeppe/avoid_ceil__floor_from_sage_functions_other_in_non_symbolic_uses' of git://trac.sagemath.org/sage into t/32601/modularization_of_sagelib__break_out_a_separate_package_sagemath_standard_no_symbolics
2 parents 98916c6 + 33a2e7b commit 543d5bf

File tree

9 files changed

+32
-36
lines changed

9 files changed

+32
-36
lines changed

src/sage/arith/misc.py

+18
Original file line numberDiff line numberDiff line change
@@ -5031,6 +5031,24 @@ def integer_floor(x):
50315031
raise NotImplementedError("computation of floor of %s not implemented"%x)
50325032

50335033

5034+
def integer_trunc(i):
5035+
"""
5036+
Truncate to the integer closer to zero
5037+
5038+
EXAMPLES::
5039+
5040+
sage: from sage.arith.misc import integer_trunc as trunc
5041+
sage: trunc(-3/2), trunc(-1), trunc(-1/2), trunc(0), trunc(1/2), trunc(1), trunc(3/2)
5042+
(-1, -1, 0, 0, 0, 1, 1)
5043+
sage: isinstance(trunc(3/2), Integer)
5044+
True
5045+
"""
5046+
if i >= 0:
5047+
return integer_floor(i)
5048+
else:
5049+
return integer_ceil(i)
5050+
5051+
50345052
def two_squares(n):
50355053
"""
50365054
Write the integer `n` as a sum of two integer squares if possible;

src/sage/combinat/crystals/littelmann_path.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@
4040
from sage.rings.integer import Integer
4141
from sage.rings.rational_field import QQ
4242
from sage.combinat.root_system.root_system import RootSystem
43-
from sage.misc.lazy_import import lazy_import
44-
lazy_import("sage.functions.other", "floor")
43+
from sage.arith.misc import integer_floor as floor
4544
from sage.misc.latex import latex
4645

4746

src/sage/combinat/crystals/tensor_product.py

+1-21
Original file line numberDiff line numberDiff line change
@@ -52,28 +52,8 @@
5252
from sage.misc.flatten import flatten
5353
from sage.structure.element import get_coercion_model
5454
from sage.rings.semirings.non_negative_integer_semiring import NN
55+
from sage.arith.misc import integer_trunc as trunc
5556

56-
##############################################################################
57-
# Until trunc gets implemented in sage.function.other
58-
59-
from sage.misc.lazy_import import lazy_import
60-
lazy_import("sage.functions.other", "floor", "ceil")
61-
def trunc(i):
62-
"""
63-
Truncates to the integer closer to zero
64-
65-
EXAMPLES::
66-
67-
sage: from sage.combinat.crystals.tensor_product import trunc
68-
sage: trunc(-3/2), trunc(-1), trunc(-1/2), trunc(0), trunc(1/2), trunc(1), trunc(3/2)
69-
(-1, -1, 0, 0, 0, 1, 1)
70-
sage: isinstance(trunc(3/2), Integer)
71-
True
72-
"""
73-
if i>= 0:
74-
return floor(i)
75-
else:
76-
return ceil(i)
7757

7858
##############################################################################
7959
# Support classes

src/sage/combinat/diagram_algebras.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
from sage.misc.misc_c import prod
4444
from sage.rings.integer_ring import ZZ
4545
from sage.rings.rational_field import QQ
46-
from sage.misc.lazy_import import lazy_import
47-
lazy_import("sage.functions.other", "floor", "ceil")
46+
from sage.arith.misc import integer_floor as floor
47+
from sage.arith.misc import integer_ceil as ceil
4848

4949
import itertools
5050

src/sage/geometry/polyhedron/backend_normaliz.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1538,7 +1538,7 @@ def _volume_normaliz(self, measure='euclidean'):
15381538
from sage.rings.infinity import infinity
15391539
return infinity
15401540

1541-
from sage.functions.other import factorial
1541+
from sage.arith.misc import factorial
15421542
return self._volume_normaliz('induced_lattice') / factorial(self.dim())
15431543

15441544
else:

src/sage/geometry/polyhedron/base.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,10 @@
4747
from sage.modules.free_module_element import vector
4848
from sage.modules.vector_space_morphism import linear_transformation
4949
from sage.matrix.constructor import matrix
50+
from sage.arith.misc import integer_floor as floor
51+
from sage.arith.misc import integer_ceil as ceil
5052
from sage.misc.lazy_import import lazy_import
51-
lazy_import("sage.functions.other", "floor", "ceil")
52-
from sage.misc.functional import sqrt
53-
from sage.groups.matrix_gps.finitely_generated import MatrixGroup
54-
from sage.graphs.graph import Graph
53+
lazy_import('sage.groups.matrix_gps.finitely_generated', 'MatrixGroup')
5554
from sage.geometry.convex_set import ConvexSet_closed, AffineHullProjectionData
5655

5756
import sage.geometry.abc
@@ -3419,7 +3418,7 @@ def radius(self):
34193418
sage: p.radius()
34203419
2
34213420
"""
3422-
return sqrt(self.radius_square())
3421+
return self.radius_square().sqrt()
34233422

34243423
def is_inscribed(self, certificate=False):
34253424
"""
@@ -8988,7 +8987,7 @@ def integrate(self, function, measure='ambient', **kwds):
89888987
Adet = AA.coerce(Adet)
89898988
except TypeError:
89908989
pass
8991-
return I / sqrt(Adet)
8990+
return I / Adet.sqrt()
89928991

89938992
else:
89948993
raise ValueError('unknown measure "{}"'.format(measure))
@@ -10527,6 +10526,7 @@ def edge_label(i, j, c_ij):
1052710526
Qplus = sum(v.column() * v.row() for v in V).pseudoinverse()
1052810527

1052910528
# Construct the graph.
10529+
from sage.graphs.graph import Graph
1053010530
G = Graph()
1053110531
for i in range(len(V)):
1053210532
for j in range(i+1, len(V)):

src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1854,7 +1854,7 @@ cdef class CombinatorialPolyhedron(SageObject):
18541854
if self.is_simplex():
18551855
return self.dim() + 1
18561856
else:
1857-
from sage.functions.other import binomial
1857+
from sage.arith.misc import binomial
18581858
k = 1
18591859
while self.f_vector()[k+1] == binomial(self.n_vertices(), k + 1):
18601860
k += 1
@@ -1904,7 +1904,7 @@ cdef class CombinatorialPolyhedron(SageObject):
19041904
sage: C.is_neighborly(k=2)
19051905
True
19061906
"""
1907-
from sage.functions.other import binomial
1907+
from sage.arith.misc import binomial
19081908
if k is None:
19091909
k = self.dim() // 2
19101910
return all(self.f_vector()[i+1] == binomial(self.n_vertices(), i + 1)

src/sage/graphs/generic_graph.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -9272,7 +9272,7 @@ def _ford_fulkerson(self, s, t, use_edge_labels=False, integer=False, value_only
92729272
0
92739273
"""
92749274
from sage.graphs.digraph import DiGraph
9275-
from sage.functions.other import floor
9275+
from sage.arith.misc import integer_floor as floor
92769276

92779277
# Whether we should consider the edges labeled
92789278
if use_edge_labels:

src/sage/graphs/hyperbolicity.pyx

-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,6 @@ from sage.graphs.distances_all_pairs cimport c_distances_all_pairs
158158
from sage.arith.all import binomial
159159
from sage.rings.integer_ring import ZZ
160160
from sage.rings.real_mpfr import RR
161-
from sage.functions.other import floor
162161
from sage.data_structures.bitset import Bitset
163162
from sage.graphs.base.static_sparse_graph cimport short_digraph
164163
from sage.graphs.base.static_sparse_graph cimport init_short_digraph

0 commit comments

Comments
 (0)