@@ -224,6 +224,71 @@ class TensorTest: XCTestCase {
224224 XCTAssertFalse ( tensor4. isEqual ( tensor2. copy ( ) ) )
225225 }
226226
227+ func testInitScalarsUInt8( ) {
228+ let data : [ UInt8 ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
229+ let tensor = Tensor ( data. map ( NSNumber . init) , dataType: . byte)
230+ XCTAssertEqual ( tensor. dataType, . byte)
231+ XCTAssertEqual ( tensor. shape, [ 6 ] )
232+ XCTAssertEqual ( tensor. strides, [ 1 ] )
233+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
234+ XCTAssertEqual ( tensor. count, 6 )
235+ tensor. bytes { pointer, count, dataType in
236+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: UInt8 . self) , count: count) ) , data)
237+ }
238+ }
239+
240+ func testInitScalarsInt8( ) {
241+ let data : [ Int8 ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
242+ let tensor = Tensor ( data. map ( NSNumber . init) , dataType: . char)
243+ XCTAssertEqual ( tensor. dataType, . char)
244+ XCTAssertEqual ( tensor. shape, [ 6 ] )
245+ XCTAssertEqual ( tensor. strides, [ 1 ] )
246+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
247+ XCTAssertEqual ( tensor. count, 6 )
248+ tensor. bytes { pointer, count, dataType in
249+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: Int8 . self) , count: count) ) , data)
250+ }
251+ }
252+
253+ func testInitScalarsInt16( ) {
254+ let data : [ Int16 ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
255+ let tensor = Tensor ( data. map ( NSNumber . init) )
256+ XCTAssertEqual ( tensor. dataType, . short)
257+ XCTAssertEqual ( tensor. shape, [ 6 ] )
258+ XCTAssertEqual ( tensor. strides, [ 1 ] )
259+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
260+ XCTAssertEqual ( tensor. count, 6 )
261+ tensor. bytes { pointer, count, dataType in
262+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: Int16 . self) , count: count) ) , data)
263+ }
264+ }
265+
266+ func testInitScalarsInt32( ) {
267+ let data : [ Int32 ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
268+ let tensor = Tensor ( data. map ( NSNumber . init) )
269+ XCTAssertEqual ( tensor. dataType, . int)
270+ XCTAssertEqual ( tensor. shape, [ 6 ] )
271+ XCTAssertEqual ( tensor. strides, [ 1 ] )
272+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
273+ XCTAssertEqual ( tensor. count, 6 )
274+ tensor. bytes { pointer, count, dataType in
275+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: Int32 . self) , count: count) ) , data)
276+ }
277+ }
278+
279+ func testInitScalarsInt64( ) {
280+ let data : [ Int64 ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
281+ let tensor = Tensor ( data. map ( NSNumber . init) )
282+ XCTAssertEqual ( tensor. dataType, . long)
283+ XCTAssertEqual ( tensor. shape, [ 6 ] )
284+ XCTAssertEqual ( tensor. strides, [ 1 ] )
285+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
286+ XCTAssertEqual ( tensor. count, 6 )
287+ tensor. bytes { pointer, count, dataType in
288+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: Int64 . self) , count: count) ) , data)
289+ }
290+ }
291+
227292 func testInitScalarsFloat( ) {
228293 let data : [ Float ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
229294 let tensor = Tensor ( data. map ( NSNumber . init) )
@@ -236,4 +301,95 @@ class TensorTest: XCTestCase {
236301 XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: Float . self) , count: count) ) , data)
237302 }
238303 }
304+
305+ func testInitScalarsDouble( ) {
306+ let data : [ Double ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
307+ let tensor = Tensor ( data. map ( NSNumber . init) )
308+ XCTAssertEqual ( tensor. dataType, . double)
309+ XCTAssertEqual ( tensor. shape, [ 6 ] )
310+ XCTAssertEqual ( tensor. strides, [ 1 ] )
311+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
312+ XCTAssertEqual ( tensor. count, 6 )
313+ tensor. bytes { pointer, count, dataType in
314+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: Double . self) , count: count) ) , data)
315+ }
316+ }
317+
318+ func testInitScalarsBool( ) {
319+ let data : [ Bool ] = [ true , false , true , false , true , false ]
320+ let tensor = Tensor ( data. map ( NSNumber . init) , dataType: . bool)
321+ XCTAssertEqual ( tensor. dataType, . bool)
322+ XCTAssertEqual ( tensor. shape, [ 6 ] )
323+ XCTAssertEqual ( tensor. strides, [ 1 ] )
324+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
325+ XCTAssertEqual ( tensor. count, 6 )
326+ tensor. bytes { pointer, count, dataType in
327+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: Bool . self) , count: count) ) , data)
328+ }
329+ }
330+
331+ func testInitScalarsUInt16( ) {
332+ let data : [ UInt16 ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
333+ let tensor = Tensor ( data. map ( NSNumber . init) , dataType: . uInt16)
334+ XCTAssertEqual ( tensor. dataType, . uInt16)
335+ XCTAssertEqual ( tensor. shape, [ 6 ] )
336+ XCTAssertEqual ( tensor. strides, [ 1 ] )
337+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
338+ XCTAssertEqual ( tensor. count, 6 )
339+ tensor. bytes { pointer, count, dataType in
340+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: UInt16 . self) , count: count) ) , data)
341+ }
342+ }
343+
344+ func testInitScalarsUInt32( ) {
345+ let data : [ UInt32 ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
346+ let tensor = Tensor ( data. map ( NSNumber . init) , dataType: . uInt32)
347+ XCTAssertEqual ( tensor. dataType, . uInt32)
348+ XCTAssertEqual ( tensor. shape, [ 6 ] )
349+ XCTAssertEqual ( tensor. strides, [ 1 ] )
350+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
351+ XCTAssertEqual ( tensor. count, 6 )
352+ tensor. bytes { pointer, count, dataType in
353+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: UInt32 . self) , count: count) ) , data)
354+ }
355+ }
356+
357+ func testInitScalarsUInt64( ) {
358+ let data : [ UInt64 ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
359+ let tensor = Tensor ( data. map ( NSNumber . init) , dataType: . uInt64)
360+ XCTAssertEqual ( tensor. dataType, . uInt64)
361+ XCTAssertEqual ( tensor. shape, [ 6 ] )
362+ XCTAssertEqual ( tensor. strides, [ 1 ] )
363+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
364+ XCTAssertEqual ( tensor. count, 6 )
365+ tensor. bytes { pointer, count, dataType in
366+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: UInt64 . self) , count: count) ) , data)
367+ }
368+ }
369+
370+ func testInitScalarsInt( ) {
371+ let data : [ Int ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
372+ let tensor = Tensor ( data. map ( NSNumber . init) , dataType: . long)
373+ XCTAssertEqual ( tensor. dataType, . long)
374+ XCTAssertEqual ( tensor. shape, [ 6 ] )
375+ XCTAssertEqual ( tensor. strides, [ 1 ] )
376+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
377+ XCTAssertEqual ( tensor. count, 6 )
378+ tensor. bytes { pointer, count, dataType in
379+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: Int . self) , count: count) ) , data)
380+ }
381+ }
382+
383+ func testInitScalarsUInt( ) {
384+ let data : [ UInt ] = [ 1 , 2 , 3 , 4 , 5 , 6 ]
385+ let tensor = Tensor ( data. map ( NSNumber . init) , dataType: . uInt64)
386+ XCTAssertEqual ( tensor. dataType, . uInt64)
387+ XCTAssertEqual ( tensor. shape, [ 6 ] )
388+ XCTAssertEqual ( tensor. strides, [ 1 ] )
389+ XCTAssertEqual ( tensor. dimensionOrder, [ 0 ] )
390+ XCTAssertEqual ( tensor. count, 6 )
391+ tensor. bytes { pointer, count, dataType in
392+ XCTAssertEqual ( Array ( UnsafeBufferPointer ( start: pointer. assumingMemoryBound ( to: UInt . self) , count: count) ) , data)
393+ }
394+ }
239395}
0 commit comments