code: func (co *Context) ConvolutionBiasActivationForward(alpha1 float64, xDesc *TensorDescriptor, x Memory, wDesc *Filter, w Memory, convDesc *Convolution, algo ConvolutionFwdAlgo, workSpace Memory, workSpaceSizeInBytes uintptr, alpha2 float64, zDesc *TensorDescriptor, z Memory, biasDesc *TensorDescriptor, bias Memory, activationDesc *Activation, yDesc *TensorDescriptor, y Memory) error {
  	var alpha1C, alpha2C unsafe.Pointer
  	switch xDesc.dataType {
  	case Float, Half:
  		var alpha1F, alpha2F C.float
  		alpha1F = C.float(float32(alpha1))
  		alpha2F = C.float(float32(alpha2))
  		alpha1C = unsafe.Pointer(&alpha1F)
  		alpha2C = unsafe.Pointer(&alpha2F)
  	case Double:
  		var alpha1F, alpha2F C.double
  		alpha1F = C.double(alpha1)
  		alpha2F = C.double(alpha2)
  		alpha1C = unsafe.Pointer(&alpha1F)
  		alpha2C = unsafe.Pointer(&alpha2F)
  	default:
  		return errors.Errorf("Unsupported data type: %v", xDesc.dataType)
  	}
  	// call cudnnConvolutionBiasActivationForward
  	return result(C.cudnnConvolutionBiasActivationForward(co.internal, alpha1C, xDesc.internal, x.Pointer(), wDesc.internal, w.Pointer(), convDesc.internal, algo.C(), workSpace.Pointer(), C.size_t(workSpaceSizeInBytes), alpha2C, zDesc.internal, z.Pointer(), biasDesc.internal, bias.Pointer(), activationDesc.internal, yDesc.internal, y.Pointer()))
  }
docs: // ConvolutionBiasActivationForward applies a bias and then an activation to the convolutions or cross-correlations of cudnnConvolutionForward(), returning results in y. The full computation follows the equation y = act ( alpha1 * conv(x) + alpha2 * z + bias ).
  //	y is both an input and output