示例#1
0
 def get_default_args(**kw):
     """ Return a structure containing the arguments for current class,
         builtin from a default argument mapping overloaded with @p kw """
     default_args = {
         "output_file": "ut_legalize_sqrt.c",
         "function_name": "ut_legalize_sqrt",
         "precision": ML_Binary32,
         "target": GenericProcessor(),
         "fast_path_extract": True,
         "fuse_fma": True,
         "debug": True,
         "libm_compliant": True,
         "test_range": Interval(S2**-8, S2**8),
         "accuracy": dar(S2**-7),
     }
     default_args.update(kw)
     return DefaultArgTemplate(**default_args)
示例#2
0
 def get_default_args(**kw):
     """ Return a structure containing the arguments for current class,
         builtin from a default argument mapping overloaded with @p kw """
     default_args = {
         "output_file": "ut_eval_error.c",
         "function_name": "ut_eval_error",
         "precision": FIXED_FORMAT,
         "target": GenericProcessor.get_target_instance(),
         "fast_path_extract": True,
         "fuse_fma": True,
         "debug": True,
         "libm_compliant": True,
         "test_range": Interval(S2**-8, S2**8),
         "accuracy": dar(S2**-6),
     }
     default_args.update(kw)
     return DefaultArgTemplate(**default_args)
示例#3
0
 def get_default_args(**kw):
     """ Return a structure containing the arguments for current class,
         builtin from a default argument mapping overloaded with @p kw """
     default_args = {
         "output_file": "ut_bfloat16.c",
         "function_name": "ut_bfloat16",
         "precision": ML_Binary32,
         "input_precisions": [ML_UInt32],
         "target": GenericProcessor.get_target_instance(),
         "fast_path_extract": True,
         "fuse_fma": True,
         "debug": True,
         "libm_compliant": True,
         "table_size": 16,
         "auto_test_range": Interval(0, 16),
         "accuracy": dar(S2**-7),
     }
     default_args.update(kw)
     return DefaultArgTemplate(**default_args)
示例#4
0
import metalibm_functions.unit_tests.m128_debug as ut_m128_debug
import metalibm_functions.unit_tests.new_table as ut_new_table
import metalibm_functions.unit_tests.multi_ary_function as ut_multi_ary_function
import metalibm_functions.unit_tests.entity_pass as ut_entity_pass
import metalibm_functions.unit_tests.implicit_interval_eval as ut_implicit_interval_eval
import metalibm_functions.unit_tests.legalize_sqrt as ut_legalize_sqrt
import metalibm_functions.unit_tests.accuracies as ut_accuracies
import metalibm_functions.unit_tests.legalize_reciprocal_seed as ut_legalize_reciprocal_seed
import metalibm_functions.unit_tests.fuse_fma as ut_fuse_fma

unit_test_list = [
    UnitTestScheme("legalize_reciprocal_seed", ut_legalize_reciprocal_seed,
                   [{
                       "auto_test": 1024,
                       "execute_trigger": True,
                       "accuracy": dar(S2**-6)
                   }]),
    UnitTestScheme("fuse_fma pass test", ut_fuse_fma, [{
        "passes": ["beforecodegen:fuse_fma"]
    }]),
    UnitTestScheme("implicit interval eval test", ut_implicit_interval_eval,
                   [{}]),
    UnitTestScheme(
        "legalization of InvSquareRoot operation",
        ut_legalize_sqrt,
        [{
            "auto_test": 100,
            "execute": True
        }],
    ),
    UnitTestScheme(
示例#5
0
         },
     ],
 ),
 NewSchemeTest(
     "basic rootn test",
     metalibm_functions.rootn.MetaRootN,
     [
         {
             "precision": ML_Binary32,
             "input_precisions": [ML_Binary32, ML_Int32],
             "auto_test_range":
             [Interval(-S2**127, S2**127),
              Interval(0, 255)],
             "auto_test": 1000,
             "execute_trigger": True,
             "accuracy": dar(S2**-22)
         },
         {
             "precision":
             ML_Binary64,
             "input_precisions": [ML_Binary64, ML_Int64],
             "auto_test_range":
             [Interval(-S2**1023, S2**1023),
              Interval(0, 255)],
             "auto_test":
             1000,
             "execute_trigger":
             True,
             "accuracy":
             dar(S2**-50)
         },
示例#6
0
import metalibm_functions.unit_tests.m128_debug as ut_m128_debug
import metalibm_functions.unit_tests.new_table as ut_new_table
import metalibm_functions.unit_tests.multi_ary_function as ut_multi_ary_function
import metalibm_functions.unit_tests.entity_pass as ut_entity_pass
import metalibm_functions.unit_tests.implicit_interval_eval as ut_implicit_interval_eval
import metalibm_functions.unit_tests.legalize_sqrt as ut_legalize_sqrt
import metalibm_functions.unit_tests.accuracies as ut_accuracies
import metalibm_functions.unit_tests.legalize_reciprocal_seed as ut_legalize_reciprocal_seed
import metalibm_functions.unit_tests.fuse_fma as ut_fuse_fma
import metalibm_functions.unit_tests.llvm_code as ut_llvm_code

unit_test_list = [
  UnitTestScheme(
    "legalize_reciprocal_seed",
    ut_legalize_reciprocal_seed,
    [{"auto_test": 1024, "execute_trigger": True, "accuracy": dar(S2**-6)}]
  ),
  UnitTestScheme(
    "fuse_fma pass test",
    ut_fuse_fma,
    [{"passes": ["beforecodegen:fuse_fma"]}]
  ),
  UnitTestScheme(
    "implicit interval eval test",
    ut_implicit_interval_eval,
    [{}]
  ),
  UnitTestScheme(
    "legalization of InvSquareRoot operation",
    ut_legalize_sqrt,
    [{"auto_test": 100, "execute": True}],