Add ExtendedAccumulator Utility

Often, we need to accumulate a smaller sized counter which wraps
around into a larger type. This utility class does that.

Test: atest extended_accumulator_tests
Change-Id: Ibc0da37c04b537aaec8a1f12f0ad5c0d44a27f5b
diff --git a/media/utils/tests/Android.bp b/media/utils/tests/Android.bp
index 1024018..82dd0dc 100644
--- a/media/utils/tests/Android.bp
+++ b/media/utils/tests/Android.bp
@@ -15,11 +15,11 @@
         "-Wextra",
     ],
 
-    sanitize:{
-       address: true,
-       cfi: true,
-       integer_overflow: true,
-       memtag_heap: true,
+    sanitize: {
+        address: true,
+        cfi: true,
+        integer_overflow: true,
+        memtag_heap: true,
     },
 
     shared_libs: [
@@ -28,7 +28,7 @@
 
     srcs: [
         "sharedtest.cpp",
-    ]
+    ],
 }
 
 cc_test {
@@ -40,11 +40,11 @@
         "-Wextra",
     ],
 
-    sanitize:{
-       address: true,
-       cfi: true,
-       integer_overflow: true,
-       memtag_heap: true,
+    sanitize: {
+        address: true,
+        cfi: true,
+        integer_overflow: true,
+        memtag_heap: true,
     },
 
     shared_libs: [
@@ -174,11 +174,11 @@
         "-Wextra",
     ],
 
-    sanitize:{
-       address: true,
-       cfi: true,
-       integer_overflow: true,
-       memtag_heap: true,
+    sanitize: {
+        address: true,
+        cfi: true,
+        integer_overflow: true,
+        memtag_heap: true,
     },
 
     shared_libs: [
@@ -191,3 +191,30 @@
         "timecheck_tests.cpp",
     ],
 }
+
+cc_test {
+    name: "extended_accumulator_tests",
+    cflags: [
+        "-Wall",
+        "-Werror",
+        "-Wextra",
+    ],
+
+    sanitize: {
+        address: true,
+        cfi: true,
+        integer_overflow: true,
+        memtag_heap: true,
+    },
+
+    shared_libs: [
+        "libbase",
+        "liblog",
+        "libmediautils",
+        "libutils",
+    ],
+
+    srcs: [
+        "extended_accumulator_tests.cpp",
+    ],
+}