[Lemon-devel] Math constants in C++
Kovács Péter
kpeter at inf.elte.hu
Mon Feb 4 15:33:44 CET 2008
Hi,
I support it. (But I did not check the constant values. :))
In line 37, "The Eulere constant" should be "The Euler e constant" or
"The Euler constant" or something like that.
In line 39, "log_2(3)" should be "log_2(e)".
Regards,
Peter
Alpár Jüttner írta:
> Hi,
>
> What about something like this?
>
> http://lime.cs.elte.hu/~alpar/hgwebdir.cgi/lemon/rev/3a6cdebbb855
>
> It does not emit a warning - at least on my computer.
>
> Regards,
> Alpar
>
> On Mon, 2008-02-04 at 09:53 +0000, Alpár Jüttner wrote:
>>> Why do we have lemon::dim2?
>> The only reason is to enable us to also have 3 dimensional points in to
>> future. In fact, lemon::dim2::Point used to be called lemon::xy and the
>> 3dim version would have been called lemon::xyz. These names worked well,
>> they do not conform to our conventions. Then another idea was to call
>> them Xy, but it looked very stupid. Thus came the namespace dim2 (and
>> possibly dim3 in the future).
>>
>>> I think if we have lemon::dim2 for Point,
>>> BoundingBox, etc., then we should have lemon::math for constants.
>> If we want to provide any alternative declaration for PI in the future,
>> then of course we should. :)
>>
>> Regards,
>> Alpar
>>
>>
>>> Alpár Jüttner írta:
>>>> Hi,
>>>>
>>>>> > * Is that OK to declare all these constants as 'const long
>>>>> > double'?
>>>>> Does it cause warnings, e.g. in 'double x = 2 * PI;'?
>>>> Could you investigate the answer for this?
>>>>
>>>>> > * Do we need to provide all of the original math.h constants for
>>>>> > 'compatibility'?
>>>>>
>>>>> I don't think so, I suggest only the ones that are used in LEMON or that
>>>>> are really important for another reason. (E.g. E is important even if it
>>>>> is not used in LEMON yet.)
>>>> In fact E _is_ used in lemon. (That is why I faced with this whole
>>>> problem.)
>>>> The constants in math.h are PI, E and SQRT2, LN2, , LN10, LOG2E, LOG10E,
>>>> (which seem to be reasonably important) and the reciprocal of some of
>>>> them (hopefully we don't need them because of optimization).
>>>>
>>>>> What about a separate namespace, e.g. lemon::math (or lemon::constants)?
>>>>> I think lemon::math::PI, lemon::math::E would be very good.
>>>> Yes, they look good. But are they better in any aspect then lemon:PI and
>>>> lemon:E?
>>>>
>>>>> What about prefix 'C_'?
>>>> The only reason why namespaces exist in C++ is to avoid all these kind
>>>> of prefixes.
>>>>
>>>> Regars,
>>>> Alpar
>>>>
>>>> _______________________________________________
>>>> Lemon-devel mailing list
>>>> Lemon-devel at lemon.cs.elte.hu
>>>> http://lemon.cs.elte.hu/mailman/listinfo/lemon-devel
>>> _______________________________________________
>>> Lemon-devel mailing list
>>> Lemon-devel at lemon.cs.elte.hu
>>> http://lemon.cs.elte.hu/mailman/listinfo/lemon-devel
>> _______________________________________________
>> Lemon-devel mailing list
>> Lemon-devel at lemon.cs.elte.hu
>> http://lemon.cs.elte.hu/mailman/listinfo/lemon-devel
>
> _______________________________________________
> Lemon-devel mailing list
> Lemon-devel at lemon.cs.elte.hu
> http://lemon.cs.elte.hu/mailman/listinfo/lemon-devel
More information about the Lemon-devel
mailing list