From bbolker at gmail.com  Thu Oct  3 05:41:02 2013
From: bbolker at gmail.com (Ben Bolker)
Date: Wed, 2 Oct 2013 23:41:02 -0400
Subject: [Rd] version comparison puzzle
Message-ID: <524CE74E.6000208@ufl.edu>


     Can anyone explain what I'm missing here?

max(pp1 <- package_version(c("0.99999911.3","1.0.4","1.0.5")))
## [1] ?1.0.4?

max(pp2 <- package_version(c("1.0.3","1.0.4","1.0.5")))
## [1] ?1.0.5?

I've looked at ?package_version , to no avail.

Since max() goes to .Primitive("max")
I'm having trouble figuring out where it goes from there:
I **think** this is related to ?xtfrm , which goes to
.encode_numeric_version, which is doing something I really
don't understand (it's in base/R/version.R ...)

.encode_numeric_version(pp1)
## [1] 1 1 1
## attr(,"base")
## [1] 99999912
## attr(,"lens")
## [1] 3 3 3
## attr(,".classes")
## [1] "package_version" "numeric_version"

.encode_numeric_version(pp2)
## [1] 1.083333 1.111111 1.138889
## attr(,"base")
## [1] 6
## attr(,"lens")
## [1] 3 3 3
## attr(,".classes")
## [1] "package_version" "numeric_version"

sessionInfo()
R Under development (unstable) (2013-09-09 r63889)
Platform: i686-pc-linux-gnu (32-bit)

[snip]

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.1.0 tools_3.1.0



[Rd] version comparison puzzle
Ben Bolker