/usr/local/lib64/python3.6/site-packages/torch/include/caffe2/operators
Edit: /usr/local/lib64/python3.6/site-packages/torch/include/caffe2/operators/elementwise_div_op.h (1224B)
#ifndef CAFFE2_OPERATORS_ELEMENTWISE_DIV_OP_H_
#define CAFFE2_OPERATORS_ELEMENTWISE_DIV_OP_H_
#include
#include "caffe2/operators/elementwise_ops.h"
#include "caffe2/utils/math.h"
namespace caffe2 {
template
struct DivFunctor {
explicit DivFunctor(bool allow_broadcast_fastpath=false)
: allow_broadcast_fastpath_(allow_broadcast_fastpath) {}
template
bool Forward(
const std::vector& A_dims,
const std::vector& B_dims,
const TIn* A,
const TIn* B,
TOut* C,
Context* context) const {
math::Div(
A_dims.size(),
A_dims.data(),
B_dims.size(),
B_dims.data(),
A,
B,
C,
context);
return true;
}
template
bool Backward(
const std::vector& A_dims,
const std::vector& B_dims,
const TGrad* dC_data,
const TIn* A_data,
const TIn* B_data,
const TOut* C_data,
TGrad* dA_data,
TGrad* dB_data,
Context* context) const;
const bool allow_broadcast_fastpath_;
};
} // namespace caffe2
#endif // CAFFE2_OPERATORS_ELEMENTWISE_DIV_OP_H_