X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=examples%2Farray-2d.cl;fp=examples%2Farray-2d.cl;h=9e344db55f2882182e20e89d0aea01b9a6c2cdd0;hb=e4010c4542ebfdb0f95c15b391648eafa7d64949;hp=0000000000000000000000000000000000000000;hpb=55fc3151326f2d3c25a5c5dfdc9f18ea110ee3f8;p=uffi.git diff --git a/examples/array-2d.cl b/examples/array-2d.cl new file mode 100644 index 0000000..9e344db --- /dev/null +++ b/examples/array-2d.cl @@ -0,0 +1,37 @@ +;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*- +;;;; ************************************************************************* +;;;; FILE IDENTIFICATION +;;;; +;;;; Name: array-2d.cl +;;;; Purpose: UFFI Example file use 2-dimensional arrays +;;;; Programmer: Kevin M. Rosenberg +;;;; Date Started: Mar 2002 +;;;; +;;;; $Id: array-2d.cl,v 1.1 2002/03/18 02:27:32 kevin Exp $ +;;;; +;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg +;;;; +;;;; UFFI users are granted the rights to distribute and use this software +;;;; as governed by the terms of the Lisp Lesser GNU Public License +;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. +;;;; ************************************************************************* + +(in-package :cl-user) + +(uffi:def-constant +column-length+ 10) + +(uffi:def-array long-array (:long 10)) + +(defun test-array-2d () + "Tests 2d array" + (let ((a (uffi:allocate-foreign-object long-array))) + (dotimes (i +column-length+) + (setf (uffi:deref-array a :long i) (* i i))) + (dotimes (i +column-length+) + (format "~&~D => ~D" i (uffi:deref-array a 'long-array i))) + (uffi:free-foreign-object a))) + +#+test-uffi +(test-array-2d) + +