From e711ec5308e54a3289ddbf8a7e2c599c78272536 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Fri, 21 Mar 2008 14:32:35 -0400 Subject: [PATCH] Use Pylinear's faster ArithmeticList, if possible. --- src/arithmetic_container.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/arithmetic_container.py b/src/arithmetic_container.py index 1e962f1..debe81e 100644 --- a/src/arithmetic_container.py +++ b/src/arithmetic_container.py @@ -5,7 +5,7 @@ import operator -class ArithmeticList(list): +class PythonArithmeticList(list): """A list with elementwise arithmetic operations.""" def assert_same_length(self, other): @@ -162,10 +162,19 @@ class ArithmeticList(list): +# use fast native implementation, if available +try: + from pylinear.array import ArithmeticList +except ImportError: + ArithmeticList = PythonArithmeticList + + + + def join_fields(*fields): result = ArithmeticList() for f in fields: - if isinstance(f, list): + if isinstance(f, (ArithmeticList, list)): result.extend(f) else: result.append(f) -- GitLab