-
Notifications
You must be signed in to change notification settings - Fork 548
Expand file tree
/
Copy pathanisotropic_diffusion.cpp
More file actions
33 lines (29 loc) · 1.14 KB
/
anisotropic_diffusion.cpp
File metadata and controls
33 lines (29 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*******************************************************
* Copyright (c) 2017, ArrayFire
* All rights reserved.
*
* This file is distributed under 3-clause BSD license.
* The complete license agreement can be obtained at:
* http://arrayfire.com/licenses/BSD-3-Clause
********************************************************/
#include <Array.hpp>
#include <anisotropic_diffusion.hpp>
#include <kernel/anisotropic_diffusion.hpp>
#include <af/dim4.hpp>
namespace arrayfire {
namespace cuda {
template<typename T>
void anisotropicDiffusion(Array<T>& inout, const float dt, const float mct,
const af::fluxFunction fftype,
const af::diffusionEq eq) {
kernel::anisotropicDiffusion<T>(inout, dt, mct, fftype,
eq == AF_DIFFUSION_MCDE);
}
#define INSTANTIATE(T) \
template void anisotropicDiffusion<T>( \
Array<T> & inout, const float dt, const float mct, \
const af::fluxFunction fftype, const af::diffusionEq eq);
INSTANTIATE(double)
INSTANTIATE(float)
} // namespace cuda
} // namespace arrayfire