From g@bembecker @ending from gm@il@com  Fri Nov 16 02:01:16 2018
From: g@bembecker @ending from gm@il@com (Gabriel Becker)
Date: Thu, 15 Nov 2018 17:01:16 -0800
Subject: [Rd] STRING_IS_SORTED claims as.character(1:100) is sorted
In-Reply-To: <CAHPe-e_81PU8SyN9VNAimsC-PuWx3VYoVrKAyivg_bHe8cLbeg@mail.gmail.com>
References: <CAHPe-e_81PU8SyN9VNAimsC-PuWx3VYoVrKAyivg_bHe8cLbeg@mail.gmail.com>
Message-ID: <CAD4oTHE6jmX1eqNafevKYOAXVknC9R-ZwdujGdnhVSUdA4onpQ@mail.gmail.com>

Thank you for the report. We will look at this and make sure it gets fixed.

~G


On Thu, Nov 15, 2018, 3:13 PM Michael Sannella via R-devel <
r-devel at r-project.org> wrote:

> If I have loaded the C code:
>     SEXP altrep_STRING_IS_SORTED(SEXP x)
>     {
>         return ScalarInteger(STRING_IS_SORTED(x));
>     }
> and defined the function:
>     issort <- function(x) .Call("altrep_STRING_IS_SORTED",x)
>
> I am seeing the following results in R 3.5.1/Linux:
>     > issort(LETTERS)
>     [1] NA
>     > issort(as.character(1:100))  ## should return NA
>     [1] 1
>     > issort(as.character(100:1))  ## should return NA
>     [1] -1
>     > issort(as.character(1:100+1L))
>     [1] NA
>
> issort(as.character(1:100)) should return NA, since the string vector
> "1","2",..."10",... is not sorted.  I suspect that the problem is that
> the Is_sorted method for deferred_string is just calling the Is_sorted
> method for the source object 1:100 (which _is_ a sorted integer
> vector).  It should probably just return NA for any source object.
>
>   ~~ Michael Sannella
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

	[[alternative HTML version deleted]]



[Rd] STRING_IS_SORTED claims as.character(1:100) is sorted
Gabriel Becker