Activity for Christian Rau

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    I'll look into it. Thanks for the info.

  • Christian Rau Christian Rau committed [r425] on Code

    Release 2.2.1.

  • Christian Rau Christian Rau committed [r424] on Code

    Release 2.2.1.

  • Christian Rau Christian Rau committed [r423] on Code

    Fixed error in int-to-half conversion when converting minium negative value.

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    Yes, there is indeed a bug in the integer to half conversion when calling it with the type's minimum negative value, since on two's complement platforms (which is virtually everywhere) that doesn't have a positive equivalent inside the type's own domain. I will look into fixing it. Thank you for bringing this up.

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    Hello, Thank you for reporting this issue. However, I don't think your solution would be appropriate for the project (at least from my side, it could be a fine thing to do for ROCm). Rather than adding a specialization into the std namespace, what should actually happen is to call the actual half function from the half_float namespace in the first place wherever it's needed. ADL should actually take care of that, but if the standard library specializations mess that up, I guess one has to actually...

  • Christian Rau Christian Rau committed [r422] on Code

    Updated documentation.

  • Christian Rau Christian Rau committed [r421] on Code

    Added explicit qualifications to internal exception functions to avoid namespace conflicts.

  • Christian Rau Christian Rau committed [r420] on Code

    Reduced type conversion warnings when internal computations use 64 integers.

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    It is true, that the only assignment operator for builtin types is the float version and will perform an implicit conversion to float, as described in the documentation (which also lists some ways to work around any problems with this). However, assignment between halfs works directly by copying the internal bit representation, like you described. There is no explicit assignment operator for half in the class definition because it is default generated by the compiler anyway (same with the copy constructor)....

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    Hello, I don't really want to hide all the necessary headers behind configuration macros, though. There already are quite a few macros and some things can just be assumed as given. I might consider making the streaming operators optional (as "iostream" can indeed be quite a monster) and I will also try to look into what "algorithm" is even used for. But things like "utility" and "cmath" are just necessary. I'm not going to implement my own swap function in in 2023. ;-)

  • Christian Rau Christian Rau committed [r419]

    Fixed language in documentation.

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    Hello, Sorry, yes, I had actually changed it locally already after your first message. I just haven't put up a new release since then, so the changes haven't found their way into the public. I wasn't really planning to make an entirely new release for that, but I'll see if I can update the website at least or find other things that warrant a new version. Regards, Christian Rau Am Do., 10. März 2022 um 12:04 Uhr schrieb Teresa teresachr@users.sourceforge.net: Hello @rauy, I hope you are well. Sorry...

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    Hello, Yes, I think I can change that. Regards, Christian Rau Am Mo., 13. Dez. 2021 um 16:25 Uhr schrieb Teresa teresachr@users.sourceforge.net: Hello @rauy, we are reviewing our documentation at arm. We have your half implementation as part of our third party libraries in Arm NN. We were wondering, if perhaps, the next time you publish a new version, you could consider changing the sentence: "the user knows what he is doing" for "the user knows what they are doing". I am attaching a README.txt with...

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    Hello, That wouldn't be the HALF_ERRHANDLING_FLAGS macro, rather than the HALF_ERRHANDLING_THROW_... macros, as explained in the documentation on http://half.sourceforge.net/. However, all the automatic error handling features already are disabled by default, so this won't help you. Your problem likely is the function fethrowexcept, which also works without automatic error handling and contains throw statements. Unfortunately it seems there really is no other way around it than for you to manually...

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    Hello, In this case it seems you need to manually undefine support for the <cfenv> header. This is normally enabled automatically based on the compiler/library version used. But if you say your environment is explicitly unsupporting the standard there, then you can manually deactivate support for these macros by defining the HALF_ENABLE_CPP11_CFENF macro to 0 (either via compiler/preprocessor options or in code before including half.hpp), as described in the documentation on half.sourceforge.net....

  • Christian Rau Christian Rau committed [r418]

    Release 2.2.0.

  • Christian Rau Christian Rau committed [r417]

    Release 2.2.0.

  • Christian Rau Christian Rau committed [r416]

    Removed exception handling branch.

  • Christian Rau Christian Rau committed [r415]

    Fixed missing include for F16C intrinsics.

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    Hello, Yes, this is a shortcoming of half not offering conversion constructors for every possible builtin type, but only for float. So when converting a double to a half, it always takes the route over the implicit conversion to float first. This is somewhat intentional, but can cause some unwanted warnings. The only way around that is either using the explicit 'half_cast' or explicitly converting the double to float beforehand. But I'm reconsidering the layout of conversion constructors and assignment...

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    The implicit conversion thing I addressed in the other thread and is kind of a problem. Specializations for std::complex shouldn't be necessary since the standard implementation should work as well. If it doesn't, the root problems for that might rather need to be adressed. However, since specializing standard library templates usually isn't a big deal, I might look into that. As to the mathematical functions, this is somewhat of a problem since the standard library functions aren't templates rather...

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    That seems to get messy quickly. I will consider broadening type conversions to more types in general in the future, to adress some of the above problems with double initializations maybe, but specifically allowing uint8_t conversion sounds like a bit of an inconsistent mess just to support 0 and 1. I know it's unfortunate when template code just uses these all over the place, it's why I usually use T(1) and T() in such completely type-agnostic code. That's ugly too, but such is the case if you want...

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    The problem is that code that implicitly casts from double to float is already problematic and narrowing conversions should be taken care of in templated code like that. So either you are already operating with mixed types even when using builtin types, in which case you might want to care for proper type-safety and narrowing conversions there, too. Or you only work within a single type, which should as well work when switching that type to half. I really don't intend to add implicit conversions...

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    The problem is I'd have to provide constructors like these for every type then and I'd like to avoid that. But I'm thinking about it, maybe I'll reconsider that. Am Sa., 18. Jan. 2020 um 15:40 Uhr schrieb "Emilio Mª López Riñón" redorav@users.sourceforge.net: Would a simple explicit constructor taking a double not work in this case? No viable conversion from 'double' to 'half' Sent from sourceforge.net because you indicated interest in < https://sourceforge.net/p/half/discussion/general/> To unsubscribe...

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    Hello, Yes, you're right. Explicit construction ('half a(3.4);') works and assignment ('half a; a = 3.4;') works too. But when using initialization with assignment operator ('half a = 3.4;') is should actually first use the 'float' constructor and then the copy constructor, but it seems it can't use the 'float' constructor as long as that is 'explicit'. This surprises me and I have to look if that has changed somehow since C++11 or if that has always been the case. Unfortunately, the 'float' constructor...

  • Christian Rau Christian Rau posted a comment on discussion General Discussion

    Hello, This should actually work and I don't quite understand why it doesn't. The half type has implicit constructors and assignment operators taking float arguments. These constructors are implicit and the compiler should thus allow the expression using an implicit conversion from 3.4 to 3.4f and then calling the float constructor. You could try with 3.4f directly and see if that works, but it should actually work with 3.4 already. There seems to be something else wrong, but without more code it's...

  • Christian Rau Christian Rau committed [r414]

    Improved performance of pow function.

  • Christian Rau Christian Rau committed [r413]

    Refined rsqrt function.

  • Christian Rau Christian Rau committed [r412]

    Improved accuracy of rsqrt function.

  • Christian Rau Christian Rau committed [r411]

    Improved and tested rsqrt function.

  • Christian Rau Christian Rau committed [r410]

    Added rsqrt function.

  • Christian Rau Christian Rau committed [r409]

    Release 2.1.0.

  • Christian Rau Christian Rau committed [r408]

    Release 2.1.0.

  • Christian Rau Christian Rau committed [r407]

    Separated performance tests into new file.

  • Christian Rau Christian Rau committed [r406]

    Improved accuracy of atan2.

  • Christian Rau Christian Rau committed [r405]

    Fixed exception handling for integral conversions.

  • Christian Rau Christian Rau committed [r404]

    Tested exception handling for 2 argument functions.

  • Christian Rau Christian Rau committed [r403]

    Changed handling of unused parameters.

  • Christian Rau Christian Rau committed [r402]

    Updated documentation.

  • Christian Rau Christian Rau committed [r401]

    Fixed tgamma exceptions.

  • Christian Rau Christian Rau committed [r400]

    Integrated branch for exception handling.

  • Christian Rau Christian Rau committed [r399]

    Tested exception detection and handling.

  • Christian Rau Christian Rau committed [r398]

    Updated documentation for error handling.

  • Christian Rau Christian Rau committed [r397]

    Added precondition error handling to mathematical functions.

  • Christian Rau Christian Rau committed [r396]

    Added error handling functionality.

  • Christian Rau Christian Rau committed [r395]

    Fixed Win64 rounding behaviour in tests.

  • Christian Rau Christian Rau committed [r394]

    Floating-point exception handling.

  • Christian Rau Christian Rau committed [r393]

    Updated tests.

  • Christian Rau Christian Rau committed [r392]

    Release 2.0.0.

  • Christian Rau Christian Rau committed [r391]

    Release 2.0.0.

  • Christian Rau Christian Rau committed [r390]

    Tested with gcc and clang.

  • Christian Rau Christian Rau committed [r389]

    Fixed problems in C++03.

  • Christian Rau Christian Rau committed [r388]

    Fixed problems with 64-bit integers in fixed point computations.

  • Christian Rau Christian Rau committed [r387]

    Fixed problems with gcc.

  • Christian Rau Christian Rau committed [r386]

    Updated documentation for version 2.0.

  • Christian Rau Christian Rau committed [r385]

    Removed clean branch.

  • Christian Rau Christian Rau committed [r384]

    Added support for Intel compiler (untested).

  • Christian Rau Christian Rau committed [r383]

    Reintegrated branch for version 2.0.

  • Christian Rau Christian Rau committed [r382]

    Fixed error in atan2 reference file.

  • Christian Rau Christian Rau committed [r381]

    Implemented and tested gamma functions.

  • Christian Rau Christian Rau committed [r380]

    Improved performance of exponential functions.

  • Christian Rau Christian Rau committed [r379]

    Improved performance of asin, tanh and atanh functions.

  • Christian Rau Christian Rau committed [r378]

    Extended constexpr support to comparison and classification functions.

  • Christian Rau Christian Rau committed [r377]

    Improved performance of conversion functions.

  • Christian Rau Christian Rau committed [r376]

    Improved performance of comparison functions and operators.

  • Christian Rau Christian Rau committed [r375]

    Improved accuracy of sincos function.

  • Christian Rau Christian Rau committed [r374]

    Improved accuracy of cos and tan functions.

  • Christian Rau Christian Rau committed [r373]

    Improved accuracy of sin function.

  • Christian Rau Christian Rau committed [r372]

    Improved accuracy of atan function.

  • Christian Rau Christian Rau committed [r371]

    Improved accuracy of asinh function.

  • Christian Rau Christian Rau committed [r370]

    Improved accuracy of sinh function.

  • Christian Rau Christian Rau committed [r369]

    Improved accuracy of asin function.

  • Christian Rau Christian Rau committed [r368]

    Improved accuracy of tanh and expm1 functions.

  • Christian Rau Christian Rau committed [r367]

    Tested F16C intrinsics.

  • Christian Rau Christian Rau committed [r366]

    Improved accuracy and performance of arc functions.

  • Christian Rau Christian Rau committed [r365]

    Improved accuracy of cosh function.

  • Christian Rau Christian Rau committed [r364]

    Added worksheet for accuracy and performance statistics.

  • Christian Rau Christian Rau committed [r363]

    Added override for using builtin floating point types for internal computations.

  • Christian Rau Christian Rau committed [r362]

    Added support for F16C intrinsics (untested).

  • Christian Rau Christian Rau created ticket #54

    Ellipses and rounded rectangles aren't closed

  • Christian Rau Christian Rau created ticket #53

    PdfPainter functions don't update internal variables for current positions

  • Christian Rau Christian Rau committed [r361]

    Improved accuracy of logarithmic computations.

  • Christian Rau Christian Rau committed [r360]

    Improved accuracy of error functions.

  • Christian Rau Christian Rau committed [r359]

    Improved precision of trigonometric functions without 'long long' support.

  • Christian Rau Christian Rau committed [r358]

    Implemented and verified trigonometric functions for big arguments.

  • Christian Rau Christian Rau committed [r357]

    Updated documentation.

  • Christian Rau Christian Rau committed [r356]

    Updated documentation.

  • Christian Rau Christian Rau posted a comment on discussion Open Discussion

    Hello, As explained in the OpenGI programming guide, you can store pretty much any...

  • Christian Rau Christian Rau posted a comment on discussion Open Discussion

    There are various resources on the web on how to store images, including in BMP ...

  • Christian Rau Christian Rau posted a comment on discussion Open Discussion

    Don't worry, it's not really called very often, only when the hash is created or...

  • Christian Rau Christian Rau committed [r355]

    Updated documentation.

  • Christian Rau Christian Rau committed [r354]

    Improved inverse trigonometric and inverse hype...

  • Christian Rau Christian Rau committed [r353]

    Added performance tests.

  • Christian Rau Christian Rau committed [r352]

    Implemented and verified error functions.

  • Christian Rau Christian Rau committed [r351]

    Revised reference test format. Tuned iterations...

  • Christian Rau Christian Rau committed [r350]

    Fixed and tested 3D hypot.

  • Christian Rau Christian Rau committed [r349]

    Added more reference tests.

  • Christian Rau Christian Rau committed [r348]

    Added more reference tests.

1 >