code: def softplus(
      x: Union[(int, float, mx.nd.NDArray)],
      /,
      *,
      beta: Optional[Union[(int, float)]] = None,
      threshold: Optional[Union[(int, float)]] = None,
      complex_mode="jax",
      out: Optional[None] = None,
  ) -> None:
      if beta is not None and beta != 1:
          x_beta = x * beta
          res = (
              mx.nd.add(
                  mx.nd.log1p(mx.nd.exp(-mx.nd.abs(x_beta))),
                  mx.nd.maximum(x_beta, 0),
              )
          ) / beta
      else:
          x_beta = x
          res = mx.nd.add(
              mx.nd.log1p(mx.nd.exp(-mx.nd.abs(x_beta))),
              mx.nd.maximum(x_beta, 0),
          )
      if threshold is not None:
          return mx.nd.where(x_beta > threshold, x, res).astype(x.dtype)
      return res.astype(x.dtype)
  
file_path: ivy/ivy/functional/backends/mxnet/activations.py
imports: import mxnet
  import numpy
  from ivy.utils.exceptions import IvyNotImplementedException
  from typing import Optional, Union
label_desc: Use image node_id 6 for calling a global function with example usage: softplus() and returns: res, mx