blob: 0beb5a123c0c85c22a3b66bb8dbf42394da28704 [file] [log] [blame]
#ifndef THC_GENERIC_FILE
#define THC_GENERIC_FILE "generic/ELU.cu"
#else
#include "../common.h"
void THNN_(ELU_updateOutput)(
THCState *state,
THCTensor *input,
THCTensor *output,
real alpha,
bool inplace)
{
THCUNN_assertSameGPU(state, 2, input, output);
if (inplace)
{
THC_pointwiseApply1(state, input, ELUupdateOutputIP_functor<real>(alpha));
THCTensor_(set)(state, output, input);
}
else
{
THCTensor_(resizeAs)(state, output, input);
THC_pointwiseApply2(state, output, input, ELUupdateOutput_functor<real>(alpha));
}
}
void THNN_(ELU_updateGradInput)(
THCState *state,
THCTensor *input,
THCTensor *gradOutput,
THCTensor *gradInput,
THCTensor *output,
real alpha,
bool inplace)
{
THCUNN_check_nElement(state, input, gradOutput);
THCUNN_assertSameGPU(state, 3, output, gradOutput, gradInput);
if (inplace)
{
THC_pointwiseApply2(state, gradOutput, output, ELUupdateGradInputIP_functor<real>(alpha));
THCTensor_(set)(state, gradInput, gradOutput);
}
else
{
THCTensor_(resizeAs)(state, gradInput, output);
THC_pointwiseApply3(state, gradInput, output, gradOutput, ELUupdateGradInput_functor<real>(alpha));
}
}
#endif