本文整理汇总了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"'))
示例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)