#ifndef MAT_CONCRETE_H_
#define MAT_CONCRETE_H_

#include "mat_user.h"

namespace user_concrete
{

class MatConcrete : public MatUser {
  public:
    MatConcrete();

    void runInit(UserMatInitCPU data) const override;
    void runMat(UserMatCPU data) const override;

    void runInitGPU(UserMatHost host, UserMatDevice device, cudaStream_t stream) const override;
    void runMatGPU(UserMatHost host, UserMatDevice device, cudaStream_t stream) const override;
};

} // namespace user_concrete

#endif // MAT_CONCRETE_H_
