1*a4963045SJacob Faibussowitsch #pragma once 2dedccee8SHong Zhang 3af0996ceSBarry Smith #include <petsc/private/matimpl.h> 4dedccee8SHong Zhang 5dedccee8SHong Zhang typedef struct { 6dedccee8SHong Zhang PetscInt ndim; 7dedccee8SHong Zhang PetscInt *dim; 8dedccee8SHong Zhang PetscInt n, N; /* local and global size of the transform */ 9dedccee8SHong Zhang void *data; /* implementation-specific data for subclass */ 1026fbe8dcSKarl Rupp 11dedccee8SHong Zhang PetscErrorCode (*matdestroy)(Mat); 12dedccee8SHong Zhang } Mat_FFT; 13dedccee8SHong Zhang 148cc058d9SJed Brown PETSC_EXTERN PetscErrorCode MatCreate_FFTW(Mat); 15