85 constexpr fl::i64 kMax = (fl::i64(1) << 60) - 1;
86 constexpr fl::i64 kMin = -(fl::i64(1) << 60);
87 if (v > kMax) v = kMax;
88 if (v < kMin) v = kMin;
113 const fl::u64 sign_bit = p & (fl::u64(1) << 60);
114 return static_cast<fl::i64
>(sign_bit ? (p |
~kPayloadMask) : p);
119 "fl::number must be exactly 64 bits to slot into JSON / RPC "
120 "value cells without padding overhead.");
constexpr number(tag t, fl::u64 payload) FL_NO_EXCEPT
constexpr number() FL_NO_EXCEPT
static number from_signed(fl::i64 v) FL_NO_EXCEPT
fl::i64 as_signed_payload() const FL_NO_EXCEPT
constexpr tag get_tag() const FL_NO_EXCEPT
static constexpr int kTagShift
constexpr fl::u64 payload() const FL_NO_EXCEPT
static constexpr fl::u64 kPayloadMask
static constexpr int kPayloadBits
static number from_unsigned(fl::u64 v) FL_NO_EXCEPT
InputGamut g FL_NO_EXCEPT
Base definition for an LED controller.
#define FL_STATIC_ASSERT(...)
Portable compile-time assertion wrapper.