File: emulation_fsqrt_boilerplate.py

package info (click to toggle)
intel-graphics-compiler 1.0.12504.6-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 83,912 kB
  • sloc: cpp: 910,147; lisp: 202,655; ansic: 15,197; python: 4,025; yacc: 2,241; lex: 1,570; pascal: 244; sh: 104; makefile: 25
file content (31 lines) | stat: -rw-r--r-- 876 bytes parent folder | download
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
# ========================== begin_copyright_notice ============================
#
# Copyright (C) 2022 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
# =========================== end_copyright_notice =============================

import sys
from itertools import product

fsqrt = {
    'alg': ['_fast', '_ieee'],
    'size': [0] + [2 ** x for x in range(4)],
    'nan': ['_nnan', '_'],
    'inf': ['_ninf', '_'],
    'sz': ['_nsz', '_'],
}

arg_num = len(sys.argv)
if arg_num > 1:
    output = sys.argv[1]
    f = open(output, 'w')
    sys.stdout = f

for size, alg, nan, inf, sz in product(fsqrt['size'], fsqrt['alg'], fsqrt['nan'],
                                       fsqrt['inf'], fsqrt['sz']):
    if size == 0:
        print(f"__IMPL_FSQRT_SCALAR({alg}, {nan}, {inf}, {sz})")
    else:
        print(f"__IMPL_FSQRT_VECTOR({size}, {alg}, {nan}, {inf}, {sz})")