CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2
  1. #1
    John E is offline Elite Member Power Poster
    Join Date
    Apr 2001
    Location
    Manchester, England
    Posts
    4,835

    Something analagous to exp2f()

    I'm building a program with VS2019 but the main devs like it to be buildable with a wide range of compilers so I periodically check the build with VS2008.

    Recently, someone's added a call to exp2f() but according to MSDN it looks like it wasn't available prior to VS2015. Is there anything else that'll do the same job?

    [Edit...] In my dubious math skills, pow() looks promising... is pow(2.0, 4); equivalent to exp2f(4);
    Last edited by John E; May 5th, 2021 at 05:11 AM.
    "A problem well stated is a problem half solved.” - Charles F. Kettering

  2. #2
    2kaud's Avatar
    2kaud is online now Super Moderator Power Poster
    Join Date
    Dec 2012
    Location
    England
    Posts
    7,822

    Re: Something analagous to exp2f()

    exp2f() was introduced with C++11

    Re pow(). Yes and no. pow(2.0, 4) will effectively do the same job as exp2f(4), but returns a double and not a float (as 2.0 is of type double). To be pedantic on this you would use pow(2.0f, 4) which would return a type float. Whether this is of importance depends upon the code.

    Also note, that prior to C++11, pow() only takes an int for the power. exp2f() takes a float type as a power eg exp2f(2.4f) which would give a different result to using pow(2, 2.4). Now pow() takes type float/double as the power. Also note that back in the day, MS often didn't adhere strictly to the standard...
    All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!

    C++23 Compiler: Microsoft VS2022 (17.6.5)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured