While this is clever, I wouldn't consider it a best practice. It extends the range of allowed inputs to values whose cubes exceed the range that can be represented by the output type
To expand on this, any non zero value returns true, any zero returns false. This means you never need to check if something == 0 in your if statements, you can infer that if it is zero it will return false, and structure the program around that.
Here is the list of all current C++ metaprogramming kata. Most of them deal with general TMP and not restricted to tuples (although you can use tuples as a means to solve them). The only tuple-heavy one is this beta. It dives into tuples more than this task.
This is not enough imo. The description should be more explicit about what it allows (or disallows). For example, char is explicitly excluded, but most solutions (including mine) also count any non-char integral type like bool and char32_t, which aren't tested. Moreover, if an answer only hardcodes double and int, are they not excluding other valid numeral types like std::size_t or long? I'm not saying these types should be tested at all - but the description should upfront be clear that it is only testing int and double. It signals that the solver should not strive for total correctness, and should instead make assumptions. Sounds like overthinking, but solvers can't see the submission tests and so can't tell what assumptions are being implicitly made.
While this is clever, I wouldn't consider it a best practice. It extends the range of allowed inputs to values whose cubes exceed the range that can be represented by the output type
Quite similar to Trip Cost
To expand on this, any non zero value returns true, any zero returns false. This means you never need to check if something == 0 in your if statements, you can infer that if it is zero it will return false, and structure the program around that.
Here is the list of all current C++ metaprogramming kata. Most of them deal with general TMP and not restricted to tuples (although you can use tuples as a means to solve them). The only tuple-heavy one is this beta. It dives into tuples more than this task.
This is not enough imo. The description should be more explicit about what it allows (or disallows). For example,
char
is explicitly excluded, but most solutions (including mine) also count any non-char
integral type likebool
andchar32_t
, which aren't tested. Moreover, if an answer only hardcodesdouble
andint
, are they not excluding other valid numeral types likestd::size_t
orlong
? I'm not saying these types should be tested at all - but the description should upfront be clear that it is only testingint
anddouble
. It signals that the solver should not strive for total correctness, and should instead make assumptions. Sounds like overthinking, but solvers can't see the submission tests and so can't tell what assumptions are being implicitly made.Regular
sizeof
should be exempt from the restrictions. You can use it as a part of a valid answer. Onlysizeof...
should be disabled.Can someone please explain me this piece of code? what is id?
That's true, but there is no better way to do it, short of resorting to a higher-precision floating-point type.
You forgot for double inprecision, basicly floating-point arithmetic, not a good idea.
This comment is hidden because it contains spoiler information about the solution
in test example 3.14 and 42 are equal to 45.14, this is clear, but i wonder where did 0.001 come from?
Awesome Kata! C++ tuples are insane to work with! Can you suggest me more Katas similar to yours?
This comment is hidden because it contains spoiler information about the solution
https://www.codewars.com/kata/reviews/5883785e512b0330ff0003c9/groups/64f00dae18408b0001497ac8
https://www.codewars.com/kata/reviews/58847cf4a3dd74693e000114/groups/64f00d7318408b0001497abf
Loading more items...