From 9fb068fe1200f710d467d007643d06eaba6214e4 Mon Sep 17 00:00:00 2001 From: AJ Rossini Date: Wed, 11 Mar 2009 16:43:19 +0100 Subject: [PATCH] make-datatable-from-listoflists function. Signed-off-by: AJ Rossini --- src/data/listoflist.lisp | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/src/data/listoflist.lisp b/src/data/listoflist.lisp index 453fcd0..eba5fdd 100644 --- a/src/data/listoflist.lisp +++ b/src/data/listoflist.lisp @@ -1,6 +1,6 @@ ;;; -*- mode: lisp -*- -;;; Time-stamp: <2009-03-11 09:27:36 tony> +;;; Time-stamp: <2009-03-11 16:04:26 tony> ;;; Creation: <2008-09-08 08:06:30 tony> ;;; File: listoflist.lisp ;;; Author: AJ Rossini @@ -113,16 +113,43 @@ return T/nil based on equality." (loop over x and verify same tree as y))) -(defun make-datatable-from-listoflists (lol &key (type 'row-major)) - "From a listoflists structure, make a datatable." +(defun make-datatable-from-listoflists (lol) ; &key (type 'row-major) + "From a listoflists structure, make a datatable. + + + (defparameter *mdfl-test* + (list (list 'a 1 2.1) + (list 'b 2 1.1) + (list 'c 1 2.0) + (list 'd 2 3.0))) + (length *mdfl-test*) + (length (elt *mdfl-test* 0)) + + (defparameter *mdfl-test-dt* (make-datatable-from-listoflists *mdfl-test*)) + (array-dimensions *mdfl-test-dt*) +" (let ((n (length lol)) (p (length (elt lol 0)))) - (let ((result (make-array n p))) + (let ((result (make-array (list n p)))) (dotimes (i n) (dotimes (j p) - (setf (aref result i j) (elt (elt lol j) i)))) + (setf (aref result i j) (elt (elt lol i) j)))) result))) +#| + (defparameter *mdfl-test* + (list (list 'a 1 2.1) + (list 'b 2 1.1) + (list 'c 1 2.0) + (list 'd 2 3.0))) + (length *mdfl-test*) + (length (elt *mdfl-test* 0)) + + (defparameter *mdfl-test-dt* (make-datatable-from-listoflists *mdfl-test*)) + (array-dimensions *mdfl-test-dt*) + +|# + (defun ensure-consistent-datatable-type (dt lot) "given a datatable and a listoftypes, ensure that the datatble variables are consistent." -- 2.11.4.GIT