29 lines
786 B
C
29 lines
786 B
C
|
// Ternary and higher-order pointwise operations
|
||
|
#pragma once
|
||
|
|
||
|
#include <ATen/native/DispatchStub.h>
|
||
|
|
||
|
namespace c10 {
|
||
|
class Scalar;
|
||
|
}
|
||
|
|
||
|
namespace at {
|
||
|
|
||
|
struct TensorIterator;
|
||
|
struct TensorIteratorBase;
|
||
|
|
||
|
namespace native {
|
||
|
|
||
|
using pointwise_fn = void (*)(TensorIterator&, const Scalar& scalar);
|
||
|
using structured_pointwise_fn = void (*)(TensorIteratorBase&, const Scalar& scalar);
|
||
|
using pointwise_fn_double = void (*)(TensorIterator&, const Scalar&, double);
|
||
|
|
||
|
DECLARE_DISPATCH(structured_pointwise_fn, addcmul_stub);
|
||
|
DECLARE_DISPATCH(structured_pointwise_fn, addcdiv_stub);
|
||
|
DECLARE_DISPATCH(pointwise_fn_double, smooth_l1_backward_stub);
|
||
|
DECLARE_DISPATCH(pointwise_fn_double, huber_backward_stub);
|
||
|
DECLARE_DISPATCH(pointwise_fn, mse_backward_stub);
|
||
|
|
||
|
} // namespace native
|
||
|
} // namespace at
|