Esempio n. 1
0
    def create_one_unit(self, fct_name, mode, part, platform):

        #     if self.verbose :
        print("%s with %s with %s" % (fct_name, mode, part))
        bg = Base_gen(self.tb_name, fct_name, mode)
        ghg = Global_header_gen(bg, part)
        r = ghg.get_gen_result()
        dl = bg.get_fct_dict_list()
        for rank, d in enumerate(dl):

            df = d.get('functor', False)
            if not df: df = self.Default_df
            if df.get('no_simd_tests', False): return []

            types = []
            if mode == 'simd':
                types = bg.recover('simd_types', df, [])
            if len(types) == 0:
                types = bg.recover('types', df, ['real_'])

            ret_arity = int(df["ret_arity"])
            d_unit = d.get("unit", {})
            for typ in types:
                thg = Type_header_test_gen(bg, d, typ, rank)
                r += thg.get_gen_beg()
                if self.verbose: print("part = %s" % part)
                if ("unit" == part) and d_unit.get("specific_values", None):
                    svt = Specific_values_test_gen(bg, d, typ, ret_arity,
                                                   platform)
                    s = svt.get_gen_result()
                    ##                    print(s)
                    ##                    raise SystemExit
                    ##                    if not s : return False
                    r += s
                if ("cover" == part) and d_unit.get("verif_test", None):
                    vtg = Random_verif_test_gen(bg, d, typ, platform)
                    s = vtg.get_gen_result()
                    ##                    print(s)
                    ##                    raise SystemExit
                    ##                    if not s : return False
                    r += s
                r += thg.get_gen_end()
        return r
Esempio n. 2
0
def create_unit(tb_name, fct_name, mode):
    bg = Base_gen(tb_name, fct_name, mode)
    ghg = Global_header_gen(bg)
    r = ghg.get_gen_result()
    if True:  #    try :
        dl = bg.get_fct_dict_list()
        for rank, d in enumerate(dl):
            origin = "types" if mode == 'scalar' else 'simd_types'
            types = bg.recover(origin, d["functor"], ["real_convert_"])
            ret_arity = int(d["functor"]["ret_arity"])
            d_unit = d["unit"]
            for typ in types:
                thg = Type_header_test_gen(bg, d, typ, rank)
                r += thg.get_gen_beg()
                if d_unit.get("specific_values", None):
                    svt = Specific_values_test_gen(bg, d, typ, ret_arity, mode)
                    r += svt.get_gen_result()
                if d_unit.get("verif_test", None):
                    vtg = Random_verif_test_gen(bg, d, typ, mode)
                    r += vtg.get_gen_result()
                r += thg.get_gen_end()
        return r