ROBERTS%UORNSRL.BITNET@MITVMA.MIT.EDU (11/25/88)
I've been working on writing a general purpose data analysis package which includes graphics for our group here. In the process, I've encountered some frustrations because of restriction in the C preprocessor (not specific to Gnu). What I'd like to do is have some way of initializing values in a structure at the time of declaration, i.e., like this: struct { char name[16]; int xmax=1024, ymax=1024; long data[1024][1024]; } spectrum1, spectrum2; What I had in mind initially was to use a macro to expand a declaration like graph(1024,1024) spectrum1, spectrum1; into the above. This would allow the users to simply #include the appropriate header files and use things in a nice abstract fashion like for (i=0;i==spectrum1.xmax-1;i++) ... The inability to initialize a structure value to a default for *all* structures of the same type makes this very difficult. What I'm considering doing is writing a pre-preprocessor to get the same effect (our current data analysis package does just that). Even so, it would require parsing the line and expanding into several lines like struct { char name[16]; int xmax, ymax; long data[1024][1024]; } spectrum1, spectrum2; spectrum1.xmax = 1024; spectrum1.ymax = 1024; spectrum2.xmax = 1024; spectrum2.ymax = 1024; Since I may have to write a pre-preprocessor anyway, it may not be a big deal, but it sure would be nice to be able to skip this part. Maybe something like this could be done at the same time FSF works on allowing the size of a variable sized array to be another element of the same structure? Roland Roberts BITNET: roberts@uornsrl.bitnet Nuclear Structure Research Lab INTERNET: rbr4@db2.cc.rochester.edu 271 East River Road UUCP: rochester!ur-cc!rbr4 Rochester, NY 14267 AT&T: (716) 275-8962