src/HOL/Real/Rational.thy
changeset 24630 351a308ab58d
parent 24622 8116eb022282
child 24661 a705b9834590
equal deleted inserted replaced
24629:65947eb930fa 24630:351a308ab58d
   695 fun gen_rat i =
   695 fun gen_rat i =
   696   let
   696   let
   697     val p = random_range 0 i;
   697     val p = random_range 0 i;
   698     val q = random_range 1 (i + 1);
   698     val q = random_range 1 (i + 1);
   699     val g = Integer.gcd p q;
   699     val g = Integer.gcd p q;
   700     val p' = Integer.div p g;
   700     val p' = p div g;
   701     val q' = Integer.div q g;
   701     val q' = q div g;
   702   in
   702   in
   703     (if one_of [true, false] then p' else ~ p',
   703     (if one_of [true, false] then p' else ~ p',
   704      if p' = 0 then 0 else q')
   704      if p' = 0 then 0 else q')
   705   end;
   705   end;
   706 *}
   706 *}