aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/utils/SkRandom.h
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-12-30 14:14:42 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-12-30 14:14:42 +0000
commita306d93cd73c3fc1d81479cbba98638f1e055385 (patch)
tree922c841e70a568b2e8a9b1231938c2a179edc327 /include/utils/SkRandom.h
parent4c9128664a4782ef40c5ccd856e87f9ed3b86172 (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.h30
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.
*/