FW: [PATCH] Bug #24064: Standard deviation

php.internals

Paul Hudson

22 years ago
Er, either the php-internals MARC archive doesn't show all attachments, or my diff file got stripped en route for not having a .txt extension. I've attached it again, just to make sure. Paul
-- -----Original Message----- From: Paul Hudson [mailto:webjedi@hudzilla.eclipse.co.uk] Sent: 10 February 2004 00:30 To: 'internals@lists.php.net' Subject: [PATCH] Bug #24064: Standard deviation Hi there, Bug #24064 (submitted by tularis@php.net) requests a standard deviation function for PHP. I realise that any of you could implement this in 10 minutes, but according to the bug database it is still Open so I figured I would give it a try myself! There are probably a dozen errors in the code and/or places where it could be better optimised, but I'm hoping one of you might be able to help with that. So, the attached diff file implements the function array_std_dev(), to calculate standard deviation using the deviation method. With the function in place, standard deviation is calculated like this: <?php $scores = array(18,5,7,18,3,2,10); print array_std_dev($score); // prints 6.6833125519211 ?> My first attempt at implementing this was using an extra array to buffer the deviations - this was more out of curiosity to see how the array stuff works. Sadly, it caused PHP to segfault and I couldn't figure out why - can any of you help me spot the brain fart? (I've attached the offending code in bad_stddev_code.txt) Yours, Paul PS: I'm not on the internals list, so I would appreciate it if you would CC me on your reply.

Jani Taskinen

22 years ago
Quickly checked out the patch and first thing to catch my eye was the use of '//' comments. That's a big no-no. (this is not C++) Please read the CODING_STANDARDS couple of times. :) (Use of these C++ comments causes compile failure with some compilers) --Jani On Tue, 10 Feb 2004, Paul Hudson wrote:

Andrey Hristov

22 years ago
Hi, as Derick stated 2 days ago, the problem is not in the extension but in the MIME header. The attachment must be text/plain. Andrey Quoting Paul Hudson <webjedi@hudzilla.eclipse.co.uk>:

Andrey Hristov

22 years ago
Hi Paul, may you compile your PHP binary with --enable-debug and after that run your sample scrit for once. See if there are leaks. Andrey Quoting Paul Hudson <webjedi@hudzilla.eclipse.co.uk>:

Paul Hudson

22 years ago
Andrey, I compiled with "--enable-debug" already (but did it again just to make sure). It works fine, with no report of leaks. Did I miss something? Jani: You're absolutely right about the comments; sorry about that! Otherwise, is the patch OK to be committed? Paul
-- Quoting Andrey Hristov <php@hristov.com>:

Ard Biesheuvel

22 years ago
Hi Paul, Why are you comparing, copying and converting each array element twice ? There should be a more elegant way to do this.
-- Ard