 void test_bffft_1d()
 {
     BFarray my_data;
-    BFcomplex set_data[5] = {{5,1},{30,0},{100,0},{30,0},{0,0}};
+    BFcomplex set_data[5] = {{0,0},{30,0},{100,0},{30,0},{-5,0}};
     BFcomplex* some_data;
     cudaMalloc((void**)&some_data, sizeof(BFcomplex)*5);
     cudaMemcpy(some_data, set_data, sizeof(BFcomplex)*5, cudaMemcpyHostToDevice);
     my_data.data = some_data;
     my_data.space = BF_SPACE_CUDA;
     my_data.shape[0] = 5;
+    my_data.dtype = 1;
     my_data.ndim = 1;
     my_data.strides[0] = sizeof(BFcomplex);
     bfFFT(&my_data, &my_data);
     cufftComplex localdata[5]={};
     cudaMemcpy(localdata, (cufftComplex*)my_data.data, sizeof(cufftComplex)*5, cudaMemcpyDeviceToHost);
     for(int i = 0; i < 5; i++)
-        printf("%f\n",cuCrealf(localdata[i]));
+        printf("%f+I%f\n",cuCrealf(localdata[i]),cuCimagf(localdata[i]));
     //print successfully fft'd data.
 }
 

    return BF_STATUS_INTERNAL_ERROR;
}

void test_bffft_2d()
{
    BFarray my_data;

#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#define BF_MAX_DIM 3

/// Defines a single atom of data to be passed to a function.
