this post was submitted on 01 Nov 2023
910 points (98.2% liked)

Lemmy Shitpost

26915 readers
2278 users here now

Welcome to Lemmy Shitpost. Here you can shitpost to your hearts content.

Anything and everything goes. Memes, Jokes, Vents and Banter. Though we still have to comply with lemmy.world instance rules. So behave!


Rules:

1. Be Respectful


Refrain from using harmful language pertaining to a protected characteristic: e.g. race, gender, sexuality, disability or religion.

Refrain from being argumentative when responding or commenting to posts/replies. Personal attacks are not welcome here.

...


2. No Illegal Content


Content that violates the law. Any post/comment found to be in breach of common law will be removed and given to the authorities if required.

That means:

-No promoting violence/threats against any individuals

-No CSA content or Revenge Porn

-No sharing private/personal information (Doxxing)

...


3. No Spam


Posting the same post, no matter the intent is against the rules.

-If you have posted content, please refrain from re-posting said content within this community.

-Do not spam posts with intent to harass, annoy, bully, advertise, scam or harm this community.

-No posting Scams/Advertisements/Phishing Links/IP Grabbers

-No Bots, Bots will be banned from the community.

...


4. No Porn/ExplicitContent


-Do not post explicit content. Lemmy.World is not the instance for NSFW content.

-Do not post Gore or Shock Content.

...


5. No Enciting Harassment,Brigading, Doxxing or Witch Hunts


-Do not Brigade other Communities

-No calls to action against other communities/users within Lemmy or outside of Lemmy.

-No Witch Hunts against users/communities.

-No content that harasses members within or outside of the community.

...


6. NSFW should be behind NSFW tags.


-Content that is NSFW should be behind NSFW tags.

-Content that might be distressing should be kept behind NSFW tags.

...

If you see content that is a breach of the rules, please flag and report the comment and a moderator will take action where they can.


Also check out:

Partnered Communities:

1.Memes

2.Lemmy Review

3.Mildly Infuriating

4.Lemmy Be Wholesome

5.No Stupid Questions

6.You Should Know

7.Comedy Heaven

8.Credible Defense

9.Ten Forward

10.LinuxMemes (Linux themed memes)


Reach out to

All communities included on the sidebar are to be made in compliance with the instance rules. Striker

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 24 points 1 year ago (1 children)

Good job my young padawan, let me teach you about the modulo operator ...

[–] [email protected] 0 points 1 year ago (3 children)

Actually the modulo operator is the wrong solution.

[–] [email protected] 27 points 1 year ago* (last edited 1 year ago) (2 children)

No its not the wrong solution! Premature optimization is a waste of time.

Using if or case are not a solution because they are way too verbose and very easy to introduce an error.

Modulo is a solution, and using bit-wise and is another faster solution.

[–] [email protected] 5 points 1 year ago

It's only the wrong solution if you're writing something where every operation needs to be accounted for. Modulo is a great, easy, readable method otherwise.

Not too certain on C++, but I think this would be the cleanest implementation that still somewhat optimizes itself:

private bool IsEven(int number){
    return !(number % 2)
}
[–] [email protected] 25 points 1 year ago (1 children)

Wrong means that it doesn't produce the right output.

How is the modulo operator the wrong solution?

[–] [email protected] 9 points 1 year ago

You are right. I have been biased.

[–] [email protected] 6 points 1 year ago (1 children)
[–] [email protected] 3 points 1 year ago (3 children)

Not neccessarily wrong, but you could also check the first bit. If it's 1 the number is uneven, if it's 0 the number is even. That seems to be more efficient.

[–] [email protected] 5 points 1 year ago (1 children)

That’s what I was thinking too… Although, I wouldn’t be surprised if most languages convert modulo 2 to this automatically.

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 2 points 1 year ago

That’s the main issue with premature optimization: do it the “optimized” way and it may still be inefficient, or do it the obvious way and let the compiler turn it into its most optimized form. (Of course, not the case with all languages, but most mainstream compilers optimize the code to a decent extent.)

[–] [email protected] 3 points 1 year ago

Modern compilers and interpreters are smart enough to figure out what you're trying to do and automatically do that for you.

[–] [email protected] 2 points 1 year ago

Huh... That makes sense. Til. Ran some tests but speed is pretty similar. Only 4% faster using bitmath or 300 milliseconds difference after 10mil runs.