Skip to content
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

Randomizer.Double returns Infinity for certain inputs #422

Open
ChristoWolf opened this issue May 4, 2022 · 0 comments · May be fixed by #429
Open

Randomizer.Double returns Infinity for certain inputs #422

ChristoWolf opened this issue May 4, 2022 · 0 comments · May be fixed by #429

Comments

@ChristoWolf
Copy link

ChristoWolf commented May 4, 2022

Hi @bchavez!

Version Information

Software Version(s)
Bogus NuGet Package 34.0.1
.NET Core? .NET 6 SDK 6.0.200
Windows OS? Version 20H2 Enterprise
Visual Studio? Microsoft Visual Studio Enterprise 2022 (64-bit) - Current, version 17.1.0

What locale are you using with Bogus?

en

What is the expected behavior?

Calling Random.Double(double.MinValue, double.MaxValue) should generated a double between these constraints.

What is the actual behavior?

The method always returns Infinity.
This does not happen though when using e.g.

  • double.MinValue, 0
  • or 0, double.MaxValue.

A quick look at the Double method revealed that there is no magnitute/value limitation in line 186.
In particular, the calculation (max - min) + min causes this behavior.
Similar behavior can be reproduced for the Float and Decimal randomizers.

Please provide a stack trace.

Bogus.dll!Bogus.Randomizer.Double(double min, double max) Line 186 C#

Any possible solutions?

See proposed solution in PR #429.

How do you reproduce the issue?

See above.

Do you have a unit test that can demonstrate the bug?

Added to PR #429.

Can you identify the location in Bogus' source code where the problem exists?

See above.

If the bug is confirmed, would you be willing to submit a PR?

Submitted PR #429.

@ChristoWolf ChristoWolf changed the title Randomizer.Double return Infinity for certain inputs Randomizer.Double returns Infinity for certain inputs Jun 18, 2022
ChristoWolf added a commit to ChristoWolf/Bogus that referenced this issue Jun 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant