Ignore:
Timestamp:
09/26/20 07:32:01 (3 years ago)
Author:
Mark Evenson
Message:

Test usage of :NIO-BUFFER keyword in CL:MAKE-ARRAY

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/t/byte-vectors.lisp

    r15349 r15382  
    6060            (format nil "~a: ~a equals ~a" i x0 x1)))))
    6161
     62;;;; test :nio-buffer argument
    6263(prove:plan 1)
    6364(let*
    64     ((java-array
    65        (jnew-array-from-array "byte"
    66                               #(0 244 2 3)))
     65    ((original
     66       (make-array 4 :element-type '(unsigned-byte 8)
     67                   :initial-contents '(0 255 128 127)))
     68     (java-array
     69       (jnew-array-from-array "byte" original))
    6770     (nio-buffer
    6871       (#"allocate" 'java.nio.ByteBuffer
     
    7376                        :nio-buffer nio-buffer)))
    7477    (prove:ok
    75      (equalp result java-array)
    76      (format nil "~a EQUALP ~a" result java-array))
    77     (values result java-array)))
     78     (equalp original result)
     79     (format nil "Creating an (unsigned-byte 8) array from nio-buffer where~%~2t~a EQUALP ~a" result result))))
    7880
    79  
     81(prove:plan 1)
     82(let*
     83    ((original
     84       (make-array 4 :element-type '(unsigned-byte 16)
     85                   :initial-contents `(0 ,(1- (expt 2 16)) 128 127)))
     86     (java-array
     87       (jnew-array-from-array "char" original))
     88     (nio-buffer
     89       (#"allocate" 'java.nio.CharBuffer
     90                    (jarray-length java-array))))
     91  (#"put" nio-buffer java-array)
     92  (let ((result
     93          (make-array 4 :element-type '(unsigned-byte 16)
     94                        :nio-buffer nio-buffer)))
     95    (prove:ok
     96     (equalp original result)
     97     (format nil "Creating an (unsigned-byte 16) array from nio-buffer where~%~2t~a EQUALP ~a" result result))))
     98
     99(prove:plan 1)
     100(let*
     101    ((original
     102       (make-array 4 :element-type '(unsigned-byte 32)
     103                   :initial-contents `(0 ,(1- (expt 2 32)) 128 127)))
     104     (java-array
     105       (jnew-array-from-array "int" original))
     106     (nio-buffer
     107       (#"allocate" 'java.nio.IntBuffer
     108                    (jarray-length java-array))))
     109  (#"put" nio-buffer java-array)
     110  (let ((result
     111          (make-array 4 :element-type '(unsigned-byte 32)
     112                        :nio-buffer nio-buffer)))
     113    (prove:ok
     114     (equalp original result)
     115     (format nil "Creating an (unsigned-byte 8) array from nio-buffer where~%~2t~a EQUALP ~a" result result))))
     116
    80117(prove:finalize)
    81118
Note: See TracChangeset for help on using the changeset viewer.