         }
     }
 
+//! The developer has chosen not to document this function
 extern "C" __global__
 void combined_green_e_kernel(cufftComplex* E_x, 
                              cufftComplex* E_y, 

    return cudaSuccess;
        }

__global__ void calculate_thermo_quantities_kernel(cufftComplex* rho, 
                                                   float* green_function, 
                                                   float* energy_sum,

template<class T>
struct SharedMemory  //!< Used to speed up the sum over grid points, in this case "T" is a placeholder for the data type
    {
        //! used to get shared memory for data type T*
        __device__ inline operator       T*() 
            {
            extern __shared__ T __smem[];
            return (T*)__smem;
            }

        //! used to get shared memory for data type T
        __device__ inline operator const T() const 
            {
            extern __shared__ T __smem[];
            return (T*)__smem;
            }
    };

//! The developer has chosen not to document this function
template <class T, unsigned int blockSize, bool nIsPow2>
__global__ void
reduce6(T *g_idata, T *g_odata, unsigned int n)
