class Contracts::Builtin::Int
Public Class Methods
generate(min: -2e31, max: 2e31 - 1, neg_ratio: 0.5)
click to toggle source
# File lib/contracts/builtin_ext.rb, line 18 def self.generate(min: -2e31, max: 2e31 - 1, neg_ratio: 0.5) min_pos = min < 0 ? 0 : min max_neg = max > -1 ? -1 : max if Bool.generate(true_ratio: neg_ratio) Num.generate(min: min, max: max_neg).to_i else Num.generate(min: min_pos, max: max).to_i end end