> I have removed support for the reduced bit, and put the reduction in > make_fraction.
I think it was intended that equal? would use scm_i_fraction_equalp which reduces both arguments before checking equality. So the simplest fix would be to mask off the reduced bit in the cell type in the check for cell type equality in scm_equalp. I would hesitate to remove support for this bit because it will mean you get gcd on every integer divide! The current system already slows Guile down by about 10%. On the race condition, my vage recollection is that the "is this safe?" question was mine, and I hoped at that time that someone who knew about such things would check it out -- I believe (it's been a long time since I looked at this stuff) that if that line is not safe, there are a lot more like it scattered around Guile, so it's scarcely reason to jettison the entire thing. _______________________________________________ Guile-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/guile-devel
