Simplifies the construction of the value returned by GenerateRealFromBits() (#994)

* GenerateRealFromBits: sign is already set

If std::is_same<SignedTag, GeneratePositiveTag>::value then sign is
already set to zero thanks to:

    uint_type sign = std::is_same<SignedTag, GenerateNegativeTag>::value
                         ? (static_cast<uint_type>(1) << (kUintBits - 1))
                         : 0; // <- here

So the conditional is unnecessary.

* Update generate_real.h

Remove extra parenthesis

Co-authored-by: Derek Mauro <761129+derekmauro@users.noreply.github.com>
diff --git a/absl/random/internal/generate_real.h b/absl/random/internal/generate_real.h
index 4f62873..d5fbb44 100644
--- a/absl/random/internal/generate_real.h
+++ b/absl/random/internal/generate_real.h
@@ -127,10 +127,8 @@
 
   // Construct the 32-bit or 64-bit IEEE 754 floating-point value from
   // the individual fields: sign, exp, mantissa(bits).
-  uint_type val =
-      (std::is_same<SignedTag, GeneratePositiveTag>::value ? 0u : sign) |
-      (static_cast<uint_type>(exp) << kExp) |
-      (static_cast<uint_type>(bits) & kMask);
+  uint_type val = sign | (static_cast<uint_type>(exp) << kExp) |
+                  (static_cast<uint_type>(bits) & kMask);
 
   // bit_cast to the output-type
   real_type result;