diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-12-30 14:14:42 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-12-30 14:14:42 +0000 |
commit | a306d93cd73c3fc1d81479cbba98638f1e055385 (patch) | |
tree | 922c841e70a568b2e8a9b1231938c2a179edc327 /include/utils/SkRandom.h | |
parent | 4c9128664a4782ef40c5ccd856e87f9ed3b86172 (diff) |
remove Sk64 from public API, and start to remove usage internally
BUG=
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/113823003
git-svn-id: http://skia.googlecode.com/svn/trunk@12840 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include/utils/SkRandom.h')
-rw-r--r-- | include/utils/SkRandom.h | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/include/utils/SkRandom.h b/include/utils/SkRandom.h index eeaa701c6e..9191ec35c1 100644 --- a/include/utils/SkRandom.h +++ b/include/utils/SkRandom.h @@ -10,9 +10,12 @@ #ifndef SkRandom_DEFINED #define SkRandom_DEFINED -#include "Sk64.h" #include "SkScalar.h" +#ifdef SK_SUPPORT_LEGACY_SK64 + #include "Sk64.h" +#endif + /** \class SkLCGRandom Utility class that implements pseudo random 32bit numbers using a fast @@ -123,13 +126,21 @@ public: return this->nextUScalar1() <= fractionTrue; } - /** Return the next pseudo random number as a signed 64bit value. - */ + /** + * Return the next pseudo random number as a signed 64bit value. + */ + int64_t next64() { + int64_t hi = this->nextS(); + return (hi << 32) | this->nextU(); + } + +#ifdef SK_SUPPORT_LEGACY_SK64 + SK_ATTR_DEPRECATED("use next64()") void next64(Sk64* a) { SkASSERT(a); a->set(this->nextS(), this->nextU()); } - +#endif /** * Return the current seed. This allows the caller to later reset to the * same seed (using setSeed) so it can generate the same sequence. @@ -276,12 +287,21 @@ public: return this->nextUScalar1() <= fractionTrue; } - /** Return the next pseudo random number as a signed 64bit value. + /** + * Return the next pseudo random number as a signed 64bit value. */ + int64_t next64() { + int64_t hi = this->nextS(); + return (hi << 32) | this->nextU(); + } + +#ifdef SK_SUPPORT_LEGACY_SK64 + SK_ATTR_DEPRECATED("use next64()") void next64(Sk64* a) { SkASSERT(a); a->set(this->nextS(), this->nextU()); } +#endif /** Reset the random object. */ |