File: aggregate_entropy_stats.py

package info (click to toggle)
firefox 149.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,767,760 kB
  • sloc: cpp: 7,416,064; javascript: 6,752,859; ansic: 3,774,850; python: 1,250,473; xml: 641,578; asm: 439,191; java: 186,617; sh: 56,634; makefile: 18,856; objc: 13,092; perl: 12,763; pascal: 5,960; yacc: 4,583; cs: 3,846; lex: 1,720; ruby: 1,002; php: 436; lisp: 258; awk: 105; sql: 66; sed: 53; csh: 10; exp: 6
file content (39 lines) | stat: -rw-r--r-- 1,277 bytes parent folder | download | duplicates (23)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/env python3
## Copyright (c) 2017, Alliance for Open Media. All rights reserved.
##
## This source code is subject to the terms of the BSD 2 Clause License and
## the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
## was not distributed with this source code in the LICENSE file, you can
## obtain it at www.aomedia.org/license/software. If the Alliance for Open
## Media Patent License 1.0 was not distributed with this source code in the
## PATENTS file, you can obtain it at www.aomedia.org/license/patent.
##
"""Aggregate multiple entropy stats output which is written in 32-bit int.

python ./aggregate_entropy_stats.py [dir of stats files] [keyword of filenames]
 [filename of final stats]
"""

__author__ = "yuec@google.com"

import os
import sys
import numpy as np

def main():
    dir = sys.argv[1]
    sum = []
    for fn in os.listdir(dir):
        if sys.argv[2] in fn:
            stats = np.fromfile(dir + fn, dtype=np.int32)
            if len(sum) == 0:
                sum = stats
            else:
                sum = np.add(sum, stats)
    if len(sum) == 0:
        print("No stats file is found. Double-check directory and keyword?")
    else:
        sum.tofile(dir+sys.argv[3])

if __name__ == '__main__':
    main()