license import { KernelConfig , Softplus } from '@tensorflow/tfjs-core' ; import { unaryKernelFunc } from '../kernel_utils/kernel_funcs_utils' ; const SOFTPLUS = `
  float epsilon = 1.1920928955078125e-7;
  float threshold = log(epsilon) + 2.0;

  bool too_large = x > -threshold;
  bool too_small = x < threshold;

  float result;
  float exp_x = exp(x);

  if (too_large){
    result = x;
  }
  else if (too_small){
    result = exp_x;
  }
  else{
    result = log(exp_x + 1.0);
  }
  return result;
` ; export const softplus = unaryKernelFunc ( { opSnippet : SOFTPLUS } ) ; export const softplusConfig = { kernelName : Softplus , backendName : 'webgl' , kernelFunc : softplus , } ;