﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1051	Implementation of C_flonum_rat is probably buggy	felix winkelmann	sjamaan	"It seems that a tagged flonum is interpreted as an integer:

{{{
void C_ccall C_flonum_rat(C_word c, C_word closure, C_word k, C_word n)
{
  double frac, tmp, numer, denom, factor, fn = C_flonum_magnitude(n);
  double r1a, r1b;
  double ga, gb;
  C_word ab[WORDS_PER_FLONUM * 2], *ap = ab;
  int i = 0;

  if (n < 1 && n > -1) {                 <---
    factor = pow(2, DBL_MANT_DIG);
    fn *= factor;
  } else {
    factor = 1;
  }
  :
}}}

In the code snippet above `n` is access directly, it may be the case that `fn` is actually meant to be tested.
"	defect	closed	major	someday	core libraries	4.8.x	fixed	flonum_rat		
