From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 53897 invoked by alias); 5 Nov 2015 04:41:37 -0000 Mailing-List: contact gsl-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gsl-discuss-owner@sourceware.org Received: (qmail 53882 invoked by uid 89); 5 Nov 2015 04:41:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.4 required=5.0 tests=AWL,BAYES_20,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: na01-by2-obe.outbound.protection.outlook.com Received: from mail-by2on0117.outbound.protection.outlook.com (HELO na01-by2-obe.outbound.protection.outlook.com) (207.46.100.117) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA256 encrypted) ESMTPS; Thu, 05 Nov 2015 04:41:34 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=patrick.alken@colorado.edu; Received: from [192.168.0.226] (67.6.162.83) by BY1PR0301MB0902.namprd03.prod.outlook.com (10.160.195.141) with Microsoft SMTP Server (TLS) id 15.1.312.18; Thu, 5 Nov 2015 04:41:32 +0000 Subject: Re: GSL containers: was Re: [Help-gsl] Linear least squares, webpages and the next release To: "gsl-discuss@sourceware.org" References: <56293649.8010009@colorado.edu> <562BA530.7090508@johndlamb.net> <562E432D.9050002@colorado.edu> <56367D54.1040302@johndlamb.net> <56391F62.2030103@lanl.gov> <563A6C15.7080102@colorado.edu> <563A8F65.1040706@lanl.gov> <563A91B7.90904@colorado.edu> <563AB455.1020706@lanl.gov> From: Patrick Alken Message-ID: <563ADDF5.1020206@colorado.edu> Date: Thu, 05 Nov 2015 04:41:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <563AB455.1020706@lanl.gov> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DM3PR10CA0023.namprd10.prod.outlook.com (25.164.12.33) To BY1PR0301MB0902.namprd03.prod.outlook.com (25.160.195.141) X-Microsoft-Exchange-Diagnostics: 1;BY1PR0301MB0902;2:AK35GxzRmZ5HelfaLB8BzO5xmIitHalc2V40cI8GlgUb/7OmZ38j22GGKHcj2zJbZ9UfGad36u6HTnjhPxu69CPKo6rkdjyuA2FfL1ckpKU5MkhpE9jvgH7dL95J9Gi3QPI0tqv0P1o7yeUich121VtJTTeeDx/pScItff9AcXA=;3:VHWtm0YAnJYaDzJfEyrO/zFz214E0FCae/Pmu6wqRcWIO7LyBa1AVoRoZmsYJCNO9Tij3rY+8T4zPzHuF4E3sqOaTqa3pFfR8HZCaDRPlk1lFUNTGFGLoEmCGXTC0iSv+EJsLMB8PJinC65o5xu8QQ==;25:4zwR7ZDhUjOgrXoZAcsV5Np7r/rIapmJ2ew9SgWGruXTnkBnGsMOOM4iKfwFLFHxfN4CoWr1aZyFeWFtcL8VrBTI0ekNC9wgRYkODbORSt37ZMTa83BOodusTk8Ba3LIzluh4rPVD7YLlciLDXHWGvcyt6U34xS2zousCsNmDSF4L48WThvLqN0IM85wmOSOIzBeoMWKcjkPTxBRQvP/qDd503NbKeGzZyv3uFtWfJ+ysAj7xmxf9kXAfM0PZo9CDOtnEhyvdW/wmGQO3UBV7g== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB0902; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(10201501046)(3002001);SRVR:BY1PR0301MB0902;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB0902; X-Microsoft-Exchange-Diagnostics: 1;BY1PR0301MB0902;4:+U40QgpFR+hf3cCd88DP7t0WxUtUbXbNVVy8KipHYzH1Rnf9cixs9Lw7c2PLzY8hzECQHDFqAqcwDuQ9oLVCxxP69IGLJGTdB7WSIsePNTMOAK0XV5JIdciFy+pbXBubyfdgFNbcIAe4IoEm8G5qeoffrBqEDWemc9EjsmVLiUA15EI3J++G8dCteXH0RZp3CRn/2S0iwAo+hJ0TMLMdx3ElSof748T4OsjGb8M1HkF1KX/NSFRLmYUE3hiuRMURRo68YwosE6T1KKwtZs6jF6z3UAO51Mv2snRQ4izIEQWPGjGKGW5H+LrRSVFys6RvX+P3fKU2TwLPxFtzRDWpGQDKFp3tIawqpo0wT9ROs7CGBxDhRmkZGgyF4H1mO/rL X-Forefront-PRVS: 0751474A44 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(6009001)(479174004)(189002)(377454003)(199003)(24454002)(87266999)(50986999)(54356999)(107886002)(65806001)(110136002)(117156001)(76176999)(105586002)(36756003)(101416001)(97736004)(50466002)(65956001)(80316001)(23676002)(66066001)(88552001)(93886004)(87976001)(64126003)(2501003)(40100003)(450100001)(92566002)(47776003)(90282001)(59896002)(2950100001)(65816999)(106356001)(42186005)(5004730100002)(75432002)(5007970100001)(83506001)(33656002)(4001350100001)(2351001)(5008740100001)(189998001)(230700001)(77096005)(5001960100002)(122386002)(81156007)(89122001);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR0301MB0902;H:[192.168.0.226];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: colorado.edu does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjAzMDFNQjA5MDI7MjM6bzlld2U4RGxaZ3BkOTZDb3ZESlpLQ2l4?= =?utf-8?B?dGJRZmJ1OTQ3clJLSXNFVCtuY1NJWjZZYXJ3MEVFM2puZXVmOEhlMThxcTly?= =?utf-8?B?RUdQTjlGY0hLSGN4NU5tcnVHRWtZZFNwTThsVkVHZmpXbkhybkR0Z0R3RDE5?= =?utf-8?B?TEVJS3d6ZExGL1BPUHpFKytqdmpEcUEyNmZNMHYvcFNvYnJKNmIxYXhpNkFp?= =?utf-8?B?dGo4eWlTTGx0SU1wVHVNN0QvNUN3VWtVWExOUnZyaklTSHlsQ1JGQjYzUmQr?= =?utf-8?B?dnhCTGpMektZVS9mRUZJRDlkcTJKQkY0T2tIS3NmeDFrT1E0S1hSMFd5Z25H?= =?utf-8?B?c3ZHa2o5MDk2VUtBd3FiS3F3L2VpNEVmTVRGYTVJSi91aldNV2hieDVEVURF?= =?utf-8?B?eEdFRE1qZ212cW5ZQ1VKZkNrUEh4Z2dZVlZnUzlJMGh4eEJCQXl5cHR5Zit2?= =?utf-8?B?UERjRlJmWHVnM3RRZlR2VGYxT0FqZG9YUFNtRHArZytmaVVZcWRub0lzM09C?= =?utf-8?B?ZVJaRm5UQ1ltK3VjQk5CQlByNnJLQ3dMQ09DQ296NjY5UlFnUlZkTnU5ZlRT?= =?utf-8?B?NkYvLy9Ha0R2cTBySlVTQmNISjMyMHo2a1YzcTI1TTIreHkvMzZRWlJENmcr?= =?utf-8?B?VmJ0THBzOXVQV1N6R3RlT0s2V3lMeENUZkRDckoxdGZBLzBXejIvR0RIQlZT?= =?utf-8?B?NUNoTWtZT1V0T3laTmdndHZsYWFQNSs4UnpyTmdyRkowMmMzcUllK3Fzamxz?= =?utf-8?B?WG9kSmNtMWlrZktJRTVtcDVwY2h1SXJqMUcxQjFqMU1rRDdlVlZIU1lERXlC?= =?utf-8?B?bmczQVNVeG9Pc0k2d3R2M3BleDE4WTJtL1grYUZ6cnA3MHNkUkE0Z2RSTEM1?= =?utf-8?B?MVVES3B1aVl0NTFPRjllMGtvNmVHM1IrL0xlMnoyWDdTQWdtWDJJeFh3K1Bp?= =?utf-8?B?UU5hbjhmaWpYVkxXa2Y2RlU1aEtXQWtTSW1lQU5tMWJSSEdBbmE3VC9WbFpk?= =?utf-8?B?d1RJWk9YMHZTT28zZmVHeFpPYlJHaVdSS20yZjRFTEhRb0F2NDZjWXp1SXdG?= =?utf-8?B?NmZOSTNMV0pIZGRMek4ybU8xSkdva2g5bE1kWUpFS1plZ3EwbitvNXJZbVFR?= =?utf-8?B?RUZ2OFBBUG1sWGlqQ1Z2TWl0YXVzQS9pVTRpckZ5c0FEN2pTK2NxM2Jrclg3?= =?utf-8?B?M0t5Y0JzZmJ0SkhYb1l4dWpTbEozdjBKbWU4SElsaTZrNFZ4VHRUbVpOMEZo?= =?utf-8?B?VDlSOXVpNjVaQjkxbExFb1dOY3Bta3VGSDZJQlpQb3NMeGVXU2lXVVBzbkNq?= =?utf-8?B?OFdxN1BDY2FETUhPZjlVNStVeDhpRk4vT3IwNk53UDI0SDdJQURNcHA0VnhY?= =?utf-8?B?S2lqWXVyZmNIT1p4aHZBQjA3MlhkdENzVmRldmJyRVZhSEVHQ0YzeDhJL3Jy?= =?utf-8?B?UytUWGdJS0syY2ZrMnZNc0oxSG5seThVeVp2azRLRmc0MGQwUFl1dEdGdzcr?= =?utf-8?B?NWQ1ZW9MT3BmR1VQclIrdDdGa3NOeG9oMGt3Rm5rcS8ydThIMDVaKytpY2dQ?= =?utf-8?B?SXRmeHZSeXVLTGw2dUJ3MWprZWJUaVRQSEJDWU1nbEd0K1VPOW5NN2tzRTJM?= =?utf-8?B?KzlGUEg2UXBzSXdCSEt6NCt1ZlRuVWhzanExL3NBSEI0b29qdFlVMW1LdEho?= =?utf-8?B?VDJqQUJhRitSQnl3MDEvaTUwamZ6OEpwZVZhNXcyb3V0RHNtekFNdy81enR5?= =?utf-8?B?QXkvOUI1MGFncit2Z0JLTTkzYTBDeEd5L1lTTTIzREFEL21PV01pWTNRTExT?= =?utf-8?B?V1ROWkJDWTNQM2lnMk0zbEI2Ty9kbXAvVzNidy83Q0JpKy9rWENvRnJIb1p2?= =?utf-8?Q?LVx5PAuRrI2V4=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR0301MB0902;5:LxZV/RGBFTgSxf+IgwA92u49qZbraTAuXdULQK48CEvgILzBGvP5nv/Jm6d+vXvn9JnRFeVmdY9D/2lSm0opafHTbgZGr12CEhwRUPBJ4C/WSpvFqWAF1F/w3X9qSJUPZwELg/dCboBQGbCHteMovw==;24:8yfKmunUhilWs+J2UBrgejrvQIeqBOPmEKEotwmkePRmULI0ZgUjXiYla/xSmJ8MZWyPueirmEGDoMTmzMhq+jEIlHsYchHgviMYiSAQXvU=;20:qtKACGzC/88VDPLr9VWnAcWeLyCI2dVgRSuysZruU9Ri9+dgaRVAiYEMJAMMX1dpOC7OFkltwfHvPGO8rXQ32Q== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: colorado.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Nov 2015 04:41:32.1833 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0301MB0902 X-SW-Source: 2015-q4/txt/msg00005.txt.bz2 I agree that stuff is very confusing. I also wonder how much of it is needed. In my work I've only ever used the double and complex versions of gsl_vector/gsl_matrix. Most of the routines in GSL only work with double vectors, with a few extended to complex double (linalg,eigen for example). Do we really need gsl_vector's for int/short/uint/long/etc? On 11/04/2015 06:43 PM, Gerard Jungman wrote: > On 11/04/2015 04:16 PM, Patrick Alken wrote: >> I think this is a good idea. Would you be able/willing to design a >> new gsl_vector_view structure? Even something very preliminary which >> we could iterate a bit to get it to a nice mature status. I, or >> someone else, could then run with it and begin the tedious work of >> converting all the existing interfaces. >> >> Patrick > > The main practical problem is all the preprocessor "template" > nonsense. I cannot think straight with all that junk hanging > over everything. And I assume it would be impossible to have > coherent discussions about it as well. > > I could make a reference implementation for a fixed type > like 'double' and leave all the generalization to the very > last step, once the design is entirely fixed. Of course, I > would have to be careful about hidden assumptions which > break for other types. > > If anybody can think of a better way to do the generalizations, > besides the current preprocessor implementation, that would be > great. I have nothing against the preprocessor, but the current > framework makes it nearly impossible to actually read the code. > > The current impl is like traits classes, but where the traits > are all defined in a very rudimentary way in "templates_on.h". > It is impossible to tell what traits are available, which ones > are required, and how the separate traits are associated with > the basic types at the point where the macros are invoked. > > -- > G. Jungman >