vectorize a one parameter function.

import {
assertLessOrEqual as assertLe,
assertGreaterOrEqual as assertGe,
} from "jsr:@std/assert"

const abs = (v: number): number => (v >= 0 ? v : -v)
const arr = new Float32Array(10_000).map(() => 100 * (Math.random() - 0.5))

vectorize1(abs, arr, arr) // `arr` is now filled with absolute valued random numbers

const average_of_arr = arr.reduce((cumulative_sum, value) => (cumulative_sum + value), 0) / arr.length
assertLe(average_of_arr, 30.0)
assertGe(average_of_arr, 20.0)