Skip to content
This repository was archived by the owner on Nov 13, 2021. It is now read-only.
This repository was archived by the owner on Nov 13, 2021. It is now read-only.

Potentail bug while calculating approxmiate median #23

@utkrist

Description

@utkrist

Line 65 of this file edmTail.cpp contains the following line
return lWeight*(quant*(lu-l)+l) + rWeight*(quant*(u-rl)+rl);
where

lu = (u+l)/2;
rl = (u+lu)/2;

This seems wrong. Shouldn't this be:
return lWeight*(quant*(lu-l)+l) + rWeight * (quant*(u-lu)+lu);

Simple visulization of the problem:
say we have the line return lWeight * ML + rWeight * MR;
The current implementation is returning the first case while it should be the second case.

l.....................ML..................... lu ......................rl.............MR.............u

l.....................ML.................... lu ......................MR..........................u

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions