From d2eb344dbbf9e1af5cc0db8ff966af5c40ea2c2e Mon Sep 17 00:00:00 2001
From: Matthieu Schaller <matthieu.schaller@durham.ac.uk>
Date: Sat, 1 Apr 2017 21:28:55 +1100
Subject: [PATCH] Improved automatically generated documentation of the vector
 power functions.

---
 theory/Multipoles/vector_powers.py | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/theory/Multipoles/vector_powers.py b/theory/Multipoles/vector_powers.py
index 4b1cbd4436..7e14d97174 100644
--- a/theory/Multipoles/vector_powers.py
+++ b/theory/Multipoles/vector_powers.py
@@ -15,9 +15,9 @@ def ordinal(num):
 # Get the order
 order = int(sys.argv[1])
 
-print "-------------------------------------------------"
+print "----------------------------------------------------"
 print "Generating code for vector powers of order", order, "(only)."
-print "-------------------------------------------------\n"
+print "----------------------------------------------------\n"
 
 print "/***************************/"
 print "/* %s order vector powers */"%ordinal(order)
@@ -30,9 +30,14 @@ for i in range(order+1):
             if i + j + k == order:
                 fact = factorial(i) * factorial(j) * factorial(k)
                 print "/**"
-                print "* @brief \\f$ \\frac{1}{(%d,%d,%d)!}\\vec{v}^{(%d,%d,%d)} \\f$."%(i,j,k,i,j,k)
+                print "* @brief Compute \\f$ \\frac{1}{(%d,%d,%d)!}\\vec{v}^{(%d,%d,%d)} \\f$."%(i,j,k,i,j,k)
                 print "*"
-                print "* Note \\f$ \\frac{1}{(%d,%d,%d)!} = 1/(%d!*%d!*%d!) = 1/%d! = %e"%(i,j,k,i,j,k, fact, 1./fact)
+                print "* Note \\f$ \\vec{v}^{(%d,%d,%d)} ="%(i,j,k),
+                if i > 0: print "v_x^%d"%i,
+                if j > 0: print "v_y^%d"%j,
+                if k > 0: print "v_z^%d"%k,
+                print "\\f$"
+                print "* and \\f$ \\frac{1}{(%d,%d,%d)!} = 1/(%d!*%d!*%d!) = 1/%d = %e \\f$"%(i,j,k,i,j,k, fact, 1./fact)
                 print "*"
                 print "* @param v vector (\\f$ v \\f$)."
                 print "*/"
@@ -40,7 +45,7 @@ for i in range(order+1):
                 print ""
                 print "  return",
                 if fact != 1:
-                    print "%12.15e"%(1./fact),
+                    print "%14.18e"%(1./fact),
                 else:
                     print "1.",
                 for ii in range(i):
@@ -50,6 +55,6 @@ for i in range(order+1):
                 for kk in range(k):
                     print "* v[2]",
                 print ";"
-                print "}"
+                print "}\n"
 
 
-- 
GitLab