fn main() {
    let t = t_linspace(0.0, 3.0, 100)
    println("linspace length:")
    println(tensor_len(t))

    let v0 = t_index_get(t, 0)
    let v99 = t_index_get(t, 99)
    println("first:")
    println(v0)
    println("last:")
    println(v99)

    println("tensor_sum:")
    let s = tensor_sum(t)
    println(s)

    let n = tensor_len(t)
    println("n:")
    println(n)

    // The division from optimal_tau
    println("sum / n:")
    let mean = s / n
    println(mean)

    // takens_embed test
    println("takens_embed with tau=1 dim=3:")
    let traj = takens_embed(t, 1, 3)
    println(tensor_shape(traj))
    let first_x = t_index_get(traj, 0, 0)
    let first_y = t_index_get(traj, 0, 1)
    let first_z = t_index_get(traj, 0, 2)
    println(first_x)
    println(first_y)
    println(first_z)

    println("DONE")
}
