code: def test_prelu(getkey):
      # Test single-channel mode
      activation = eqx.nn.PReLU(0.1)
  
      x = jnp.array([[-1, -2, -3], [-1, 2, 3]])
      expected = jnp.array([[-0.1, -0.2, -0.3], [-0.1, 2, 3]])
      output = activation(x)
  
      assert jnp.all(output == expected)
  
      # Test multi-channel mode
      per_channel_alphas = jnp.array([0.2, 0.1, 0.1])
      activation = eqx.nn.PReLU(per_channel_alphas)
  
      expected_multi_output = jnp.array(
          [[-0.2, -0.2, -0.3], [-0.2, 2, 3]]
      )
      output = activation(x)
  
      assert activation.negative_slope.shape == (x.shape[-1],)
      assert jnp.all(output == expected_multi_output)
  
imports: import warnings
  from typing import Union
  import equinox
  import jax
  import jax.nn
  import jax.numpy
  import jax.random
  import pytest
label_desc: Use image node_id 48 for calling a global function with example usage: test_prelu(getkey) without return types