On 04/01/2015 12:12, Duncan Murdoch wrote:
On 04/01/2015 12:31 AM, Mike Miller wrote:
It's an IEEE standard format:

http://en.wikipedia.org/wiki/Half-precision_floating-point_format#IEEE_754_half-precision_binary_floating-point_format:_binary16

This is what I see:

writeBin(vec , con, size=2 )
Error in writeBin(vec, con, size = 2) : size 2 is unknown on this machine

I'm not sure what the machine has to do with it.  It's really up to the
software, isn't it?

Yes, but R relies on the underlying C run-time library for a lot of
things like this.  On your platform, is there a C type corresponding to
half precision?  If so, let us know the details, and we'll possibly add
it to writeBin.

There is a IEC60559 (aka IEEE 754) 'half-precision floating-point type', but I know of no support by a C runtime on any platform I have used (there is a lot more in IEC60559 which is almost never supported).

Is there a way to get R to read/write half-precision numbers (binary16)?

If it's not supported by the C run-time library and has to be done
entirely using other types, that's the sort of thing that belongs in a
user-contributed package.  I'm not aware of one that already has it, so
you may have to write this yourself.

There is a C++ library called 'half' which could be wrapped. See http://half.sourceforge.net/ : it has a lot of compiler-specific code.


Duncan Murdoch


It isn't a big deal for me because unsigned 16-bit integers are working
well enough, but I'd like to have an answer for people who ask why I make
them divide by 1000 all the time.  ;-)

Mike


--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford
1 South Parks Road, Oxford OX1 3TG, UK

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to