From: Amitha P. <pe...@cs...> - 2002-10-11 15:55:37
|
Hi all I'm nearly done with the changes to vnl that will separate the vnl_*_fixed from vnl_*. During the process, some things came up that I'd like to discuss: 1. The matrix and vector header files implement a whole bunch of "operations" like dot_product, cross_2d, cross_3d, etc. Two issues: a) should they be renamed to vnl_dot_product, vnl_cross_2d, etc? b) should they be moved to their own files, in keeping with the VXL file naming philosophy? I've already done this for vnl_cross_*. However, it means a number of changes to client code. Perhaps this should wait 'till after the 1.0 release? Another option is to do the renames and leave deprecated forwarding functions in place. Another trade-off is the increased number of header files / getting only the functions you use. 2. As Paul Smyth wrote in an email to me, vnl_vector_ref is more general than vnl_vector. Perhaps a redesign of vnl is in order, taking into account: (Paul's hierarchy) - pointer to memory, plus compile-time knowledge of vector size ( T*, and enum{size}) = vnl_vector_fixed_ref - ownership of memory, plus compile-time size = vnl_vector_fixed - pointer to memory, plus run-time only knowledge of size (T* and size()) = vnl_vector_ref - ownership of memory, variably sized = vnl_vector Of course, the question, as always, is who. :-) Amitha. |