[cctbxbb] [git/cctbx] master: Python 3 syntax changes (790d9e315)
Graeme Winter
graeme.winter at gmail.com
Fri Sep 21 06:49:13 PDT 2018
Folks,
I expressed some surprise at this & friends however -
- this is necessary to make the bootstrap process Python 3 compatible - the timetable for which said this should have been finished 9 months ago (https://github.com/cctbx/cctbx_project/wiki/Python-3-roadmap <https://github.com/cctbx/cctbx_project/wiki/Python-3-roadmap>)
- these changes were discussed and agreed (https://github.com/cctbx/cctbx_project/pull/199 <https://github.com/cctbx/cctbx_project/pull/199>)
The only part of this which was not approved was reverted before the request was merged
(I felt that this annotation was helpful as the changes themselves go back ~6 months so people have possibly forgotten the context)
Best wishes Graeme
> On 21 Sep 2018, at 14:25, CCTBX commit <diamondlightsource.jenkins at GMAIL.COM> wrote:
>
> Repository : ssh://ws133.diamond.ac.uk/cctbx
> On branch : master
>
>
>
> commit 790d9e315a2a6ae5a875ba86b461ed570c77280d
> Author: Markus Gerstel <markus.gerstel at diamond.ac.uk>
> Date: Thu May 24 12:16:38 2018 +0100
>
> Python 3 syntax changes
>
> Replace the reduce(add, ...) function by sum().
> reduce() is no longer in the global namespace in python 3.
>
>
>
>
> 790d9e315a2a6ae5a875ba86b461ed570c77280d
> scitbx/math/__init__.py | 34 ++++++++++++++++------------------
> 1 file changed, 16 insertions(+), 18 deletions(-)
>
> diff --git a/scitbx/math/__init__.py b/scitbx/math/__init__.py
> index a13405f92..49e295eb0 100644
> --- a/scitbx/math/__init__.py
> +++ b/scitbx/math/__init__.py
> @@ -1,11 +1,13 @@
> -from __future__ import division, absolute_import
> +from __future__ import absolute_import, division, print_function
> +
> +import math
> +
> from scitbx.math.ext import *
> import scitbx.linalg.eigensystem
> import scitbx.math.gaussian # implicit import
> from scitbx import matrix
> from scitbx.array_family import flex
> from boost import rational # implicit import
> -import math
>
> gaussian_fit_1d_analytical.__doc__ = """
> Fits a gaussian function to a list of points.
> @@ -88,16 +90,14 @@ def r3_rotation_average_rotation_matrix_from_matrices(*matrices):
> """
>
> if not matrices:
> - raise TypeError, "Average of empty sequence"
> + raise TypeError("Average of empty sequence")
>
> - import operator
> import scitbx.matrix
>
> - average = reduce(
> - operator.add,
> - [ scitbx.matrix.col( r3_rotation_matrix_as_unit_quaternion( e ) )
> - for e in matrices ]
> - )
> + average = sum(
> + scitbx.matrix.col( r3_rotation_matrix_as_unit_quaternion( e ) )
> + for e in matrices
> + )
>
> return r3_rotation_unit_quaternion_as_matrix( average.normalize() )
>
> @@ -111,13 +111,12 @@ def r3_rotation_average_rotation_via_lie_algebra(matrices, maxiter = 100, conver
> """
>
> if not matrices:
> - raise TypeError, "Average of empty sequence"
> + raise TypeError("Average of empty sequence")
>
> if maxiter < 0 or convergence <= 0:
> - raise ValueError, "Invalid iteration parameters"
> + raise ValueError("Invalid iteration parameters")
>
> from scitbx.math import so3_lie_algebra
> - import operator
>
> conv_sq = convergence * convergence
> norm = 1.0 / len( matrices )
> @@ -125,10 +124,9 @@ def r3_rotation_average_rotation_via_lie_algebra(matrices, maxiter = 100, conver
>
> for i in range( maxiter ):
> inverse = current.inverse()
> - log_diff = norm * reduce(
> - operator.add,
> - [ so3_lie_algebra.element.from_rotation_matrix( matrix = inverse * m )
> - for m in matrices ]
> + log_diff = norm * sum(
> + so3_lie_algebra.element.from_rotation_matrix( matrix = inverse * m )
> + for m in matrices
> )
>
> if log_diff.norm_sq() < conv_sq:
> @@ -136,7 +134,7 @@ def r3_rotation_average_rotation_via_lie_algebra(matrices, maxiter = 100, conver
>
> current *= log_diff.exponential()
>
> - raise RuntimeError, "Iteration limit exceeded"
> + raise RuntimeError("Iteration limit exceeded")
>
> def euler_angles_as_matrix(angles, deg=False):
> if (deg):
> @@ -174,7 +172,7 @@ class erf_verification(object):
> if (self.max_delta < delta):
> self.max_delta = delta
> if (delta > self.tolerance):
> - print x, expected_result, result, delta
> + print(x, expected_result, result, delta)
>
> class minimum_covering_sphere_nd(object):
>
>
> To unsubscribe from the CCTBX-COMMIT list, click the following link:
> https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCTBX-COMMIT&A=1 <https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCTBX-COMMIT&A=1>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://phenix-online.org/pipermail/cctbxbb/attachments/20180921/a7184180/attachment.htm>
More information about the cctbxbb
mailing list