File tree Expand file tree Collapse file tree 1 file changed +5
-7
lines changed
inst/include/Rcpp/internal Expand file tree Collapse file tree 1 file changed +5
-7
lines changed Original file line number Diff line number Diff line change 23
23
namespace Rcpp {
24
24
namespace internal {
25
25
26
- // On 64bit processors, NAs can change
27
- // we can still get a performance benefit by checking for specific
28
- // bit patterns, though
26
+ // we rely on the presence of unsigned long long types, since we
27
+ // want to compare specific bit patterns, but we can't explicitly
28
+ // assign a hex to a double storage.
29
29
30
- // we rely on the presence of unsigned long long types (could do it with
31
- // a union, but that's messier; this is cleaner)
32
30
#ifdef RCPP_HAS_LONG_LONG_TYPES
33
31
34
32
#ifdef HAS_STATIC_ASSERT
@@ -39,9 +37,9 @@ static_assert(
39
37
#endif
40
38
41
39
// motivation: on 32bit architectures, we only see 'LargeNA'
42
- // as defined ashead ; on 64bit architectures, R defaults to
40
+ // as defined ahead ; on 64bit architectures, R defaults to
43
41
// 'SmallNA' for R_NaReal, but this can get promoted to 'LargeNA'
44
- // if a certain operation can create a 'signalling' NA.
42
+ // if a certain operation can create a 'signalling' NA, e.g. NA_real_+1
45
43
static const rcpp_ulong_long_type SmallNA = 0x7FF00000000007A2 ;
46
44
static const rcpp_ulong_long_type LargeNA = 0x7FF80000000007A2 ;
47
45
You can’t perform that action at this time.
0 commit comments