Setsul
Account Details
SteamID64 76561198042353207
SteamID3 [U:1:82087479]
SteamID32 STEAM_0:1:41043739
Country Germany
Signed Up December 16, 2012
Last Posted April 26, 2024 at 5:56 AM
Posts 3425 (0.8 per day)
Game Settings
In-game Sensitivity
Windows Sensitivity
Raw Input  
DPI
 
Resolution
 
Refresh Rate
 
Hardware Peripherals
Mouse  
Keyboard  
Mousepad  
Headphones  
Monitor  
1 ⋅⋅ 11 12 13 14 15 16 17 ⋅⋅ 229
#167 2nd Place B4nny in TF2 General Discussion
sacI love reading this Na VS EU stuff as a Japanese person. Please nuke each other.

You can't just ask people to nuke each other, it needs to come from the heart!

posted about 3 years ago
#15 The small ammo pack on villa last in TF2 General Discussion
ZestyAnother thing to note is that searching for "41 metal" tf2 ammo pack on google gives several old results from people who just seem to assume that you always get 41 metal and/or quote the 20.5% number so I think I'm right that it used to be that way.

To this day I'm still getting 41 metal on a listen server. As it should be. I'm not about to play engie in a pub to test it further.

mastercomsceil(MaxMetal * PackRatio) * (1.0f * mult_metal_pickup)

So, we have:

  1. the floating point multiply operation between MaxMetal and PackRatio
  2. the ceil implementation, which is implemented using hand crafted assembly, of which there are many implementations for (UCRT, glibc, etc)
  3. the floating point operation between the base metal pickup multiplier and the metal pickup multiplier attribute (this is cached, it will only run once per player)
  4. the floating point operation between the metal give count and the metal pickup multiplier


Since you say this happens consistently, but depends on the server, I would suspect it mostly depends on what the server is running on, and the implementation of the C standard library (2) combined with the result of (1). Given that this is a ceil, you wouldn't need a huge error for it to bump up to 41.

Yeah, that's completely wrong.
Floating point arithmetic is not some kind of lottery where you sometimes get more than you expected.
Ceil will not randomly round 40.00000... to 41 because of some mysterious "hand crafted assembly". Either you've got exactly 40 and ceil will give you 40 or you've got 40.000001 or something like that and ceil will give you 41, as it should. If you are running TF2 on x86 (and by god I hope you do) the mysterious hand crafted assembly is simply ROUNDSD if you're allowed to use SSE4.1 but because TF2 is ancient it's most likely FRNDINT and a lot of code to save/restore the state of the FPU and generate a control word because x87 is a piece of shit that just won't die. They are both guaranteed to give exact roundings. If someone bothered to optimize it then maybe you'll get FISTP/FILD because FRNDINT is slow, but that's just the same thing by actually converting to an integer with rounding, then loading it again, instead of rounding the float/double directly, which is somehow slower because x87 is an ancient piece of shit that just won't die.
Anyway, that's neither an error, nor implementation dependent.
Next up, the result of 200 * 0.2 being slightly more than 40 depending on your library implementation would be hugely concerning. Why have you rewritten floating point multiply by hand instead of using the floating point instructions the CPU provides and why is it giving wrong results? On the other hand if you are using FMUL/FMULP/FIMUL (or more modern instructions) why would you get the wrong result? The last time an Intel FPU gave results that were slightly off it was a huge deal and ended in a complete recall. I can guarantee you that that is not the case.

No, you forgot a step:
0. Convert PackRatio (0.2f) to float

And this is where the error is introduced. The floating point math from that point on is completely flawless, there will be no errors regardless of implementation. Because there is absolutely no leeway in the implementation of multiply and ceil in IEEE 754 and actual errors, where you get an actual wrong result, not just one that is "inaccurate in different ways depending on the implementation" aren't allowed.

But the starting point is "wrong", because it is inaccurate.
0.2 can not be represented as binary floating point number. 0.2 is 1/5 and 5 does not share all of its divisors with our base, which is 2, because it is actually coprime to 2 because both 2 and 5 are actual primes. Basically this means that 0.2 in binary floating point is repeating. It's 0.0011001100110011... and so on.
Because float/double are finite this has to be rounded. Either up or down. For float that means the choice is between 0.199999988079071044921875 and 0.20000000298023223876953125. The latter is simply closer to the "true value" 0.2 than the former. Also printf with 8 or more decimal places showing "0.2f" as "0.19999999" tends to really upset people.

So yeah, do a quick

printf("%.30f\n", 0.2f);

and watch your worldview crumble.

And 200 * 0.20000000298023223876953125 = 40.00000059604644775390625 and ceil of that is indeed 41.

If you get 40 then that's because you weren't using ceil. Why that happens is a different rabbit hole.

This could've all been avoided if Valve went with 0.25. That's a perfectly representable 0.01 in binary.

EDIT:
If you want something more poignant:
It's not that computers can't do 200 * 0.2 correctly, it's that they can't do 0.2 correctly.

posted about 3 years ago
#124 RGL Ringer Fees in TF2 General Discussion

I mean it's either that or b4nny. It only seems to happen to you guys and I'm out of ideas.
Leaving toxic people in positions of power without even attempting to do something about it except bitch and moan, and completely reject the idea that collective bargaining might even be an option seems like an american problem to me.

posted about 3 years ago
#122 RGL Ringer Fees in TF2 General Discussion
YeeHawSetsulHot take: Maybe all leagues in NA turn out to be shit not because americans are incapable of choosing better leagues, but because americans are the problem.who asked

Hot takes aren't asked for. You gotta vomit out those ideas before your brain starts actually thinking about them.

posted about 3 years ago
#13 The small ammo pack on villa last in TF2 General Discussion

The small ammo pack is actually an eldritch construct designed to break minds.

posted about 3 years ago
#119 RGL Ringer Fees in TF2 General Discussion

Hot take: Maybe all leagues in NA turn out to be shit not because americans are incapable of choosing better leagues, but because americans are the problem.

posted about 3 years ago
#11 The small ammo pack on villa last in TF2 General Discussion

I'm sitting here waiting for you to descend into madness as you discover floating point rounding modes.

posted about 3 years ago
#3 i3 -> i7 bad frames in Q/A Help

Which i3 and which i7 though? Also did you fuck up when installing the cooler so it's overheating because you didn't remove the plastic cover? Because that's a classic.

posted about 3 years ago
#47 RGL Ringer Fees in TF2 General Discussion
Tery_Pick your flavor of poison. I mean we don't get to choose, but each league is good / bad for different reasons.

This is the orphan crushing machine all over again.

Like it's somehow both acceptable and accepted that all leagues in NA must be poisonous.

posted about 3 years ago
#26 RGL Ringer Fees in TF2 General Discussion
sunderkeenintext

Ok, but you forgot that b4nny is holding the entire scene hostage and TF2 will instantly die if you don't play in the same league as b4nny.
Don't ask me, I don't understand it either, I'm not american.

posted about 3 years ago
#17 What do you use for OS Migration or HDD backup? in Hardware

Yeah, I do too for small server images, but instead answering the question "what software should I use" you answered the "what software do you use" and on top of that it's something he can't/won't/shouldn't use (windows user/windows user/SSD size problem).
So at best it's a thoughtless one word answer that contributes nothing, at worst it's a dick move.
It's basically the standard "how do I do X on windows" - "just use linux". Technically a solution, but not really helpful.

EDIT: Yes, I know it's in the title, but you know damn well it's not a survey.

posted about 3 years ago
#183 Free Game Megathread in Other Games

https://www.epicgames.com/store/en-US/p/control
Control free on Epic.

It should be noted that all the files necessary to run the DLCs are included in the download, they just aren't unlocked. Do with that information what you will.

posted about 3 years ago
#15 What do you use for OS Migration or HDD backup? in Hardware

Yeah, but at that point you're just doing what clonezilla does manually.
If you want to be pedantic he asked what he should use.
And should he use dd to use his windows installation, when he has probably never used it before, in a situation where it requires some manual fiddling and/or resizing partitions? No, probably not. Hell, usually you'd make a backup before messing with partitions, not mess with partitions to make a backup.

Oh, I did the math just for fun: It's actually 0.1667% * [percentage of empty space] of the SSD's rated write endurance. Like I said, it's not terrible to do it once, there's just no reason to.

posted about 3 years ago
#13 What do you use for OS Migration or HDD backup? in Hardware
turbochad69dd

Not ideal in this case, that would copy all empty space.
It's not terrible to do it once, TRIM should take care of it anyway, and iirc the 970 Evo Plus show exactly 500/1000/2000 GB (1GB = 1 billion Bytes) of their 512/1024/2048 GiB (1 GiB = 1024^3 Bytes) with the missing Bytes split between overprovisioning and the SLC cache, so it's not like the SSD would actually be full and without OP, but this adds another problem: HDDs are usually a tiny bit larger than 1.00 TB by a model-dependent amount so a dumb image might not fit. Yeah, you can gamble and assume there's nothing on those last few Bytes of the HDD, your filesystem is most likely going to work, but why should you?
A filesystem-aware copy is a better choice.

posted about 3 years ago
#15 Petition To Ban Cheaters From Posting On TFTV in TF2 General Discussion

Need that TFTV sanitizer script/addon to automatically mirror bans and/or manually hide whoever's shit you're tired of reading. Maybe even a function to tag alts.

That way we can keep everyone unbanned for comedic purposes, but anyone who wants to protect their braincells can do so, even selectively.

posted about 3 years ago
1 ⋅⋅ 11 12 13 14 15 16 17 ⋅⋅ 229