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