(X)
| 42 | |
| 43 | |
| 44 | def levy(X): |
| 45 | X = x_min + (x_max - x_min) * (X + 1.0) / 2.0 # map to [-5, 10] |
| 46 | w = 1.0 + (X - 1.0) / 4.0 |
| 47 | part1 = jnp.sin(jnp.pi * w[..., 0]) ** 2 |
| 48 | part2 = jnp.sum( |
| 49 | (w[..., :-1] - 1.0) ** 2 |
| 50 | * (1.0 + 10.0 * jnp.sin(jnp.pi * w[..., :-1] + 1.0) ** 2), |
| 51 | axis=-1, |
| 52 | ) |
| 53 | part3 = (w[..., -1] - 1.0) ** 2 * (1.0 + jnp.sin(2.0 * jnp.pi * w[..., -1]) ** 2) |
| 54 | return part1 + part2 + part3 |
| 55 | |
| 56 | |
| 57 | eval_fn = { |
nothing calls this directly
no outgoing calls
no test coverage detected