当前位置: 首页>>代码示例>>Python>>正文


Python FORA.implValToJOV方法代码示例

本文整理汇总了Python中ufora.native.FORA.implValToJOV方法的典型用法代码示例。如果您正苦于以下问题:Python FORA.implValToJOV方法的具体用法?Python FORA.implValToJOV怎么用?Python FORA.implValToJOV使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ufora.native.FORA的用法示例。


在下文中一共展示了FORA.implValToJOV方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_resolveAxiomDirectly_smallStrings

# 需要导入模块: from ufora.native import FORA [as 别名]
# 或者: from ufora.native.FORA import implValToJOV [as 别名]
    def test_resolveAxiomDirectly_smallStrings(self):
        instance = ForaNative.ImplValContainer(
            ("s1", ForaNative.makeSymbol("Operator"), ForaNative.makeSymbol("+"), "s2")
            )
        jov = ForaNative.implValToJOV(instance)
        joa = self.axioms.resolveAxiomDirectly(self.compiler, jov.getTuple())

        self.assertEqual(len(joa.throwPart()),0)
        self.assertEqual(len(joa.resultPart()),1)

        result = joa.resultPart()[0]

        self.assertEqual(result, ForaNative.parseStringToJOV('"s1s2"'))
开发者ID:Sandy4321,项目名称:ufora,代码行数:15,代码来源:Compiler_test.py

示例2: check_native_axiom_consistency

# 需要导入模块: from ufora.native import FORA [as 别名]
# 或者: from ufora.native.FORA import implValToJOV [as 别名]
    def check_native_axiom_consistency(
            self,
            axiom):

        num_rand_vals = self.numRandVals
        num_relaxations_to_try = self.numRelaxations
        max_attempts_for_random_value = self.maxForRand
        max_attempts_for_random_relax = self.maxForRelax

        jovt = axiom.signature()

        logging.info("checking native axiom with signature %s", jovt)

        least_specialized_axiom = axiom

        random_values_tried = 0
        for i in range(num_rand_vals):
            rand_val = self.attemptToFindRandomValue(jovt, max_attempts_for_random_value)
            if rand_val == None:
                continue
            value_by_least_specialized_axiom = self.evaluateNativeAxiom(least_specialized_axiom,
                                                                        rand_val.getTuple())
            random_values_tried += 1

            most_specialized_axiom = self.axioms.getAxiomByJOVT(
                                        self.typed_fora_compiler,
                                        FORANative.JOVFromLiveValue(rand_val).getTuple())
            value_by_most_specialized_axiom = self.evaluateNativeAxiom(
                                                most_specialized_axiom,
                                                rand_val.getTuple())
            self.assertEqual(value_by_least_specialized_axiom,
                             value_by_most_specialized_axiom,
                             "calling the native axioms %s and %s on %s produce different values! \
                                    (%s vs %s)"
                             %(least_specialized_axiom.signature(),
                                most_specialized_axiom.signature(),
                                rand_val,
                                value_by_least_specialized_axiom,
                                value_by_most_specialized_axiom))

            rand_val_as_jov = FORANative.implValToJOV(rand_val)
            actually_tested = 0
            for j in range(num_relaxations_to_try):
                if rand_val_as_jov.getTuple():
                    random_relaxation = self.random_relaxation(
                                            rand_val_as_jov.getTuple(),
                                            max_attempts_for_random_relax)
                    if random_relaxation and least_specialized_axiom.signature().covers(
                                                                                random_relaxation):
                        actually_tested = actually_tested + 1

                        local_best_axiom = self.axioms.getAxiomByJOVT(self.typed_fora_compiler,
                                                                        random_relaxation)
                        local_value = self.evaluateNativeAxiom(local_best_axiom,
                                                                rand_val.getTuple())
                        self.assertEqual(value_by_least_specialized_axiom,
                                         local_value,
                                         "calling the native axioms %s and %s on %s \
                                            produce different values! (%s vs %s)"
                                         %(least_specialized_axiom.signature(),
                                            local_best_axiom.signature(),
                                            rand_val,
                                            value_by_least_specialized_axiom,
                                            local_value))

        if random_values_tried == 0:
            logging.warn("unable to find a random value for the native axiom %s", jovt)
开发者ID:Sandy4321,项目名称:ufora,代码行数:69,代码来源:AxiomsConsistency_test.py


注:本文中的ufora.native.FORA.implValToJOV方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。