 let vr2 = m1[0..<2, 1..<3]
 print("\(vr2)")
 
-m2[0..<2, 1..<3] = Mat([[1, 1], [1, 1]])
+m2[0..<2, 1..<3] = tensor([[1, 1], [1, 1]])
 String((m2))
 
 String(m2[all, 0])

//: -----------------
String(m1)

let v14 = ColVec([1, 1, 1])
let v15 = m1⊙v14

let m3 = Mat([[1, 2, 3], [1, 2, 3]])
let m4 = m1⊙m3.transpose()
String(m4)


let s = Extent(3)
let s2 = Extent(s, over: 5)
print("\(s2.dims)")*/


//: Convenience aliases
//: -------------------
typealias F = NativeStorage<Float>
typealias I = NativeStorage<Int>

//: Creating vectors
//: ----------------
let v1:Tensor<F> = colvector([1, 2, 3, 4])
String(v1)

let v2:Tensor<F> = rowvector([1, 2, 3, 4])
String(v2)

let v3:Tensor<F> = vector([1, 2, 3, 4], axis: 0)
String(v3)

let v4:Tensor<F> = vector([1, 2, 3, 4], axis: 1)
String(v4)

let v5:Tensor<F> = vector([1, 2, 4, 5], axis:2)
String(v5)


// integer vectors
let iv1:Tensor<I> = rowvector([1, 2, 3, 4, 5])
String(iv1)

//: Vector indexing
//: ---------------
