Hello there, I'm trying to design a custom structure that is gsl_matrix* compatible and also has some extra members. The prototype is basically:
gico_object |- dimensions (unsigned int) |- N[] (size_t) |- d[] (double) |- type (enum) |- data[] (double *) In order to be able to use the gsl_matrix* operations I need to construct a gsl_matrix* structure from mine. For that purpose I'm thinking in building a gsl_block* structure in which the *data member points to the gico_object->data pointer. Then, calling the gsl_matrix*_alloc_from_block using an offset = 0, n1 = N[0], n2 = N[1], d2 = n2, and making its block pointer point to the gsl_block* that I created previously (which points to the double* of my struct), I can create a gsl_matrix* structure that points to the data of my gico_object. Now the questions: 1. Am I cracking nuts with sledgehammers? or equivalently, do you think there is any easier way to accomplish that? 2. Why is the gsl_matrix_alloc_from_block() function undocumented? Is it stable? I've been browsing the code and I believe it is not used internally. Notice that the workaround that involves the creation of different gico_objects, one for each gsl_matrix* structure, is not contemplated. The whole purpose is to be able to create a single function that works for both real or complex data. Thanks in advance! Regards, *Alejandro Cámara* PhD Student at the GICO <http://www.ucm.es/info/giboucm/> _______________________________________________ Help-gsl mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gsl
