From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 111844 invoked by alias); 3 May 2018 10:36:33 -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 111827 invoked by uid 89); 3 May 2018 10:36:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=H*r:smtp, prone, H*RU:smtp, Hx-spam-relays-external:smtp X-HELO: avasout08.plus.net Received: from avasout08.plus.net (HELO avasout08.plus.net) (212.159.14.20) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 03 May 2018 10:36:31 +0000 Received: from [192.168.1.102] ([209.93.187.51]) by smtp with ESMTPA id EBb9fiyPGUVt6EBbAfm1QU; Thu, 03 May 2018 11:36:29 +0100 X-CM-Score: 0.00 X-CNFS-Analysis: v=2.3 cv=QpxwI26d c=1 sm=1 tr=0 a=/qt+VyrzJMtw9Hbbvmj5ag==:117 a=/qt+VyrzJMtw9Hbbvmj5ag==:17 a=IkcTkHD0fZMA:10 a=UHbuxq03gLqy9x01f70A:9 a=zgbSqsNGUCOQgtdv:21 a=T-nZl483DDk9f6pe:21 a=QEXdDO2ut3YA:10 X-AUTH: gladman+brg@:2500 Subject: Re: New routines for moving window statistics and filters To: gsl-discuss@sourceware.org References: From: Brian Gladman Message-ID: Date: Thu, 03 May 2018 10:36:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfMLwiWD16eo8Aa0ruXtT1bBYhtFtmjQLhcgTTCFFjFkJtgOqDMxZ1uRJfeY5ylFMRZQpmYYKngcpKgUW0QzK+HMwVtLRT+/PtAFK7eHSNfK1dN/yvJbu noobA8C8HbLn9596QTHIQenDdfTmAlRFzf2BdaRPSNBy2xcQMyAMDeAjXwmm9MPnAdui3S9bbJ5HYA== X-SW-Source: 2018-q2/txt/msg00002.txt.bz2 On 02/05/2018 21:58, Patrick Alken wrote: > Dear GSL users/developers, > > I have added a new module called gsl_movstat to GSL, which provides > routines for moving window statistics (also called sliding window > statistics, rolling statistics, running statistics, etc). Currently > there is support for the following: > > moving mean, sum, min/max, variance/stddev, median, MAD, q-quantile > range, Q_n, S_n > > I have also added some robust statistics routines to the gsl_stats area, > including MAD, S_n, Q_n, Gastwirth and trimmed mean routines. > > Finally, I added a new module called gsl_filter, which currently > contains a small number of common filtering routines. Currently, there > is 1 linear filter (Gaussian smoothing) and 3 nonlinear filters (median, > recursive median and impulse-rejection filters). I would like to > eventually add other common filters (like Butterworth, Chebyshev) and > possibly some routines to allow users to design their own filters with > various criteria. This probably won't happen before the next release > however. > > I have put everything into the master branch of the git with > documentation. Any feedback/suggestions are welcome. Hi Patrick, I have been trying to add your new material to the Visual Studio build of GSL and have found a very large number of errors with the Microsoft compiler because of the assumption that a (void*) pointer points to an object of length one. This is a non standard GCC extension. One of many examples is on line 363 of median.c is: state->minmax_state = vstate + sizeof(rmedian_state_t); where vstate is defined as a (void*). Although I could change all these (void*) to (char*), I am reluctant to do this as it seems potentially very error prone. Since GSL is (I believe) supposed to be written in 'standard C' I also assume that the use of this GCC extension needs to be removed anyway. I would hence be grateful for your advice on how to errors of this type. best regards, Brian Gladman