Hi Pedro,

Pedro Giffuni schrieb:
Hi Regina;


----- Messaggio originale -----
Da: Regina Henschel


A
Implementation of FDIST as defined in ODF1.2

The function FDIST (part 2, 6.18.22) calculates the left tail (integral from 0
to x). The function LEGACY.FDIST (part 2, 6.18.23) calculates the right tail
(integral from x to infinity). The current implemention of FDIST in AOO is
actually “LEGACY.FDIST”. The function FDIST in documents written with OOo2.x are
different from the function FDIST, which has to be implemented. I do not speak
of the UI names, but of the names in the file.


This sounds like FDIST = 1 - LEGACY.FDIST

It should be easy to "fix" and I think it should be done before 4.x.

No, that does not work. FDIST has a density and a cumulative kind, and LEGACY.FDIST is only cumulative and -more important- calculating the other tail of a distribution by "1-value" results in an accuracy disaster.

You have to calculate FDIST using the already existing Beta -distribution. I have still the solutions, which I have considered, on my PC, but the work is three years old. If you are interested, I can sent you the files. I would have to work my way into it again.

The real problem is not the implementation of FDIST itself, but the question whether we are now far away enough from ODF1.1 for an incompatible change. Remember, that ODF1.1 has no namespace for functions. When an application only knowing ODF1.1 gets a file with function name "FDIST", it cannot detect, that it is not the old right-tail version, but the new left-tail version. The other way round an implementation in AOO has to detect, that in an old document "FDIST" might be the right-tail version. Current documents write the right-tail version already as LEGACY.FDIST although the UI name is still FDIST. I would have to examine in Bugzilla, when this has been introduced.

I have no solution for this problem.


BTW, I am considering doing something drastic there, like replacing all the 
probablilty
distributions with with boost implementations. Would there be any good reason to
avoid such approach?

Such solution had been considered already, but at that time the BOOST version, which was used in OOo, was too old. Now it might be possible, but I cannot judge it and do not know how to do it actually. It is surely nothing, that can be done till AOO4.0. You need someone to implement it, preferably in a branch, and at least one other person with knowledge in distributions to do QA. It should not be decided between holidays, when a lot of persons are on vacation.

Kind regards
Regina

Reply via email to