-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
product
with repeats as an argument
#78
Comments
Sorry for the delayed response. You're not the first person to ask for something similar (see #41). The issue is that |
Oh I basically need the same type but repeated different times, but the repeat value is not known at compile time. A couple days ago I just did this manually by representing each possibility as a number, and extracting the digits. My set of digits were The number of repeats is in a loop, so Is it hard to make this a real parameter or would it slow things down lots? I'm guessing it'll be slower than the encoding scheme I had above, but hopefully not too much. |
It's probably easier than implementing the existing version of product, the
problem is that it's not a tweak, it's a from scratch implementation.
If you knew the upper bound and lower bounds at compile time you could
maybe use c++20 consteval to do it, but it's not gonna be very elegant
…On Tue, Jul 28, 2020, 1:49 AM simonzack ***@***.***> wrote:
Oh I basically need the same type but repeated different times, but the
repeat value is not known at compile time.
A couple days ago I just did this manually by representing the product of
digits as numbers, and extracting the digits. But some product() like
Python's itertools I think will be more flexible.
The number of repeats is in a loop, so product_repeat<3>(digits) wouldn't
work too well. It would if the loop was templated in some way, but that's
not very pretty I'm guessing.
Is it hard to make this a real parameter or would it slow things down lots?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#78 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAIWWWJJJI4GTMNU63ZXRATR52GKJANCNFSM4O7WETQQ>
.
|
Well I know the lower bound but not the upper bound. And yes consteval & template stuff is not very elegant and seems like it's hard-coded. I barely know how to code template meta-programming stuff anyway. I think the ideal form is something like Python and making it an argument. I think that's perfect if there's not a massive decrease in performance compared to just using a loop, encoding the indexes as numbers, and decoding it. That works but is rather tedious to code. |
I'm not disagreeing about the ideal, it's just a totally different
implementation than the existing product
…On Wed, Jul 29, 2020, 2:17 AM simonzack ***@***.***> wrote:
Well I know the lower bound but not the upper bound.
And yes consteval & template stuff is not very elegant and seems like it's
hard-coded. I barely know how to code template meta-programming stuff
anyway.
I think the ideal form is something like Python and making it an argument.
I think that's perfect if there's not a massive decrease in performance
compared to just encoding the indexes in loops and decoding it that way.
That works but is rather tedious to code.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#78 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAIWWWMUT5QFVC7QCBSGE5LR57SKZANCNFSM4O7WETQQ>
.
|
Hi, I came here from doing Project Euler in C++.
I was googling for a library for doing
product()
and found this one, but it only allows a template argument.My use-case is to have
seq
be the digits{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
, and repeats be the number of them. This is required for some problems.Having repeats would be great!
The text was updated successfully, but these errors were encountered: