我试图在z3中的位向量中的特定索引处设置一个位。
目前,我使用逐位或完成此操作。我正在使用大位向量(超过1000位)并且相信这会导致求解器花费大量时间。我希望他们的方式比这更快,在位向量中设置一个任意位(类似于Arrays使用的存储)。
有没有更好的方法来做到这一点,或者我只是使用bit-wise或?
答案 0 :(得分:2)
我不确定它是否会更快,但你总是可以做这样的断言:
(assert (= ((_ extract i i) bv) #b1))
告诉求解器i
的{{1}}位高。当然,这是否可用于您的特定应用程序取决于这些新表达式的传递方式。如果这个技巧对你不起作用,我认为你仍然坚持使用bitwise-or。
答案 1 :(得分:2)
此外,对于位向量,可以使用提取和连接的组合来形成新的位向量。例如
add_action( 'woocommerce_single_product_summary', 'whatsappdirect1', 35 );
function whatsappdirect1() {
echo '<a class="btn btn-social-icon btn-whatsapp" href="javascript:window.location=waCurrentPage();"><img border="0" alt="W3Schools" src="http://sareechoice.com/wp-content/uploads/2017/07/whatsappicon.png" width="290" height="200"/></a>';
echo '<script type="text/javascript">
waCurrentPage = function() {
return encodeURI("whatsapp://send?phone=+9199999999&text=please let me know the price of the product in the link : " + "http://" + window.location.hostname + window.location.pathname);
}
</script>';
}
其中y是长度为1的位向量,应该具有形成一个等于x的位向量的效果,除了位置k,其中它由y定义。