[R] tried half-precision but "size 2 is unknown on this machine"

Uwe Ligges ligges at statistik.tu-dortmund.de
Sun Jan 4 12:14:18 CET 2015


Following the posting guide and hence reading the help page first helps:

"Possible sizes are 1, 2, 4 and possibly 8 for integer or logical 
vectors, and 4, 8 and possibly 12/16 for numeric vectors."

Best,
Uwe Ligges


On 04.01.2015 08:03, Mike Miller wrote:
> Thanks for the pedantic insult, but no thanks.  I'd rather just hear if
> anyone reading this is able to make something like this work on any
> architecture:
>
> vec <- 1:10/10
> con <- file( "test.bin16", "wb" )
> writeBin( vec , con, size=2 )
> close(con)
>
> If they can do it, they can tell me about it.  That shouldn't ruin the
> list for anyone else.
>
> I can understand why a machine architecture would prevent floating-point
> operations with half-precision numbers, but I can't understand how it
> prevents us from encoding doubles as half-precision to store them in a
> file.  They could then be read back in, translated on the fly into
> doubles.  Like I said, I've been using integers instead of floats to
> store the numbers in files, but it could be slightly more convenient to
> use half-precision floats for storage instead of converting integers to
> floats.
>
> Almost forgot.  Please tell me how this changes anything:
>
>> sessionInfo()
> R version 3.1.1 (2014-07-10)
> Platform: x86_64-unknown-linux-gnu (64-bit)
>
> locale:
>   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C LC_TIME=en_US.UTF-8
> LC_COLLATE=C LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
> LC_PAPER=en_US.UTF-8 LC_NAME=C
> LC_ADDRESS=C               LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8
> LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> loaded via a namespace (and not attached):
> [1] tools_3.1.1
>
>
> Also, this is how the hexbin package is described:
>
> "Description" Binning and plotting functions for hexagonal bins."
>
> So I guess that suggestion wasn't helping me much, either.
>
> Mike
>
>
> On Sat, 3 Jan 2015, Jeff Newmiller wrote:
>
>> Your message is missing either a reproducible example or an indication
>> of your R environment (such as the output of sessionInfo()).
>>
>> Yes, the machine architecture can prevent certain types of operations.
>> This is however a poor venue for discussing such issues.
>>
>> I suggest that you investigate the hexbin package for binary data
>> handling, and if you still have issues then post again, following the
>> posting guide recommendations.
>>
>> ---------------------------------------------------------------------------
>>
>> Jeff Newmiller                        The     .....       .....  Go
>> Live...
>> DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live
>> Go...
>>                                      Live:   OO#.. Dead: OO#..  Playing
>> Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
>> /Software/Embedded Controllers)               .OO#.       .OO#.
>> rocks...1k
>> ---------------------------------------------------------------------------
>>
>> Sent from my phone. Please excuse my brevity.
>>
>> On January 3, 2015 9:31:02 PM PST, Mike Miller <mbmiller+l at gmail.com>
>> 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?
>>>
>>> Is there a way to get R to read/write half-precision numbers
>>> (binary16)?
>>>
>>> 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
>>>
>>> ______________________________________________
>>> R-help at 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.
>>
>
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list