 
 	extern __shared__ REAL share[];
 
-	REAL *temper = (REAL*) share;
-	REAL *shRight = (REAL*) &share[2*blockDim.x+4];
-	REAL *shLeft = (REAL*) &share[3*blockDim.x+4];
+	REAL *temper = (REAL *) share;
+	REAL *shRight = (REAL *) &share[2*blockDim.x+4];
+	REAL *shLeft = (REAL *) &share[3*blockDim.x+4];
 
 	int gid = blockDim.x * blockIdx.x + threadIdx.x; //Global Thread ID
 	int tid = threadIdx.x; //Block Thread ID

//Do the split diamond on the CPU?
__host__ void CPU_diamond(REAL right, REAL left, int tpb)
{
    int iter;
    REAL temper[tpb+1][tpb+2];
    temper[0][0] = left[0];
    temper[0][1] = left[1];
    temper[0][2] = right[0];
    temper[0][3] = right[1];
    iter = 2;

    for (int k = 1;k < tpb+1; k++)
    {
        for(int n = 2)




    }


}



//-----------For testing --------------

__host__ __device__ void initFun(int xnode, REAL ds, REAL lx,REAL result)
{

    result = 500.f*expf((-ds*(REAL)xnode)/lx);

}

__host__ __device__ REAL execFunc(REAL tLeft, REAL tRight, REAL tCenter)
{

    return fo*(tLeft+tRight) + (1.f-2.f*fo)*tCenter;
