|
Message-ID: <885f1bd0a52eceb03fecb03cbab1896f.squirrel@www.codeaurora.org> Date: Thu, 20 Nov 2014 04:47:02 -0000 From: weimingz@...eaurora.org To: "Weiming Zhao" <weimingz@...eaurora.org> Cc: musl@...ts.openwall.com, weimingz@...eaurora.org Subject: Re: question about malloc's bin_index I think I need a float-to-int-bits routine. But still I'm not clear why we need such conversion. Thanks, Weiming > Hi, > > > > I'm trying to use MUSL on a hardware without floating point unit, however, > the "union" in the bin_index brings some issues. > > I'm using -mgeneral-regs-only and gcc refuses to compile it due to the > floating point conversion. > > > > I'm wondering what's the purpose of the union? How should I rewrite it to > use integer only? > > > > static int bin_index(size_t x) > > { > > x = x / SIZE_ALIGN - 1; > > if (x <= 32) return x; > > if (x > 0x1c00) return 63; > > return ((union { float v; uint32_t r; }){(int)x}.r>>21) - > 496; > > } > > > > Thanks a lot, > > Weiming > > > > Qualcomm Innovation Center, Inc. > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project > > > >
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.