code: public static MutableDoubleArrayND apply(
          DoubleArrayND a0, DoubleUnaryOperator op,
          MutableDoubleArrayND result)
      {
          MutableDoubleArrayND finalResult = validate(a0, result);
          finalResult.coordinates().parallel().forEach(t ->
          {
              double operand0 = a0.get(t);
              double r = op.applyAsDouble(operand0);
              finalResult.set(t, r);
          });
          return finalResult;
      }
docs: Applies the given unary operator to the elements from the given array,
  and stores the result in the given result array.<br>
  <br>
  If the given result array is <code>null</code>, then a new array
  will be created and returned.<br>
  <br>
  The source array and the target array may be identical.
  
  @param a0 The array
  @param op The operator to apply
  @param result The array that will store the result
  @return The result
  @throws IllegalArgumentException If the given arrays do not have
  equal sizes.