首页 > 其他分享 >k ssat数据成员的列传1

k ssat数据成员的列传1

时间:2024-09-23 17:12:41浏览次数:8  
标签:false solver clause 成员 列传 ssat unsigned STACK size

包含以下数据成员的列传:

 

1. solver->clause

2. 

 

 

 

数据成员solver->clause

是一个文字序列,以一个工作栈的方式管理一部分文字;

主要包括在以下文件中:

internal.h

internal.c

 

主要的操作包括:

 

1.  RELEASE_STACK (solver->clause);

 

EMPTY_STACK (solver->clause),

2.

for (all_stack (unsigned, lit, solver->clause))
MARK (lit) = MARK (NOT (lit)) = 0;

 

CLEAR_STACK (solver->clause);

 

solver->clause_satisfied = false;
solver->clause_trivial = false;
solver->clause_shrink = false;

 

3.

assert (SIZE_STACK (solver->clause) < UINT_MAX);
PUSH_STACK (solver->clause, ilit);

 

 

//clause.c

4.

reference kissat_new_original_clause (kissat *solver) {
const unsigned size = SIZE_STACK (solver->clause);
unsigned *lits = BEGIN_STACK (solver->clause);
kissat_sort_literals (solver, size, lits);
reference res = new_clause (solver, true, false, 0, size, lits);
return res;
}

reference kissat_new_irredundant_clause (kissat *solver) {
const unsigned size = SIZE_STACK (solver->clause);
unsigned *lits = BEGIN_STACK (solver->clause);
return new_clause (solver, false, false, 0, size, lits);
}

reference kissat_new_redundant_clause (kissat *solver, unsigned glue) {
const unsigned size = SIZE_STACK (solver->clause);
unsigned *lits = BEGIN_STACK (solver->clause);
return new_clause (solver, false, true, glue, size, lits);
}

 

//analyze.c

5.

(1)

for (all_stack (unsigned, lit, solver->clause))

  assert (all_assigned[IDX (lit)].analyzed);

(2)

for (all_stack (unsigned, lit, solver->clause)) {
  analyze_reason_side_literal (solver, limit, arena, all_assigned, lit);
  if (SIZE_STACK (solver->analyzed) > limit)
    break;
}

 

 

 

   

 

标签:false,solver,clause,成员,列传,ssat,unsigned,STACK,size
From: https://www.cnblogs.com/yuweng1689/p/18427427

相关文章

  • C++类成员变量初始化顺序
    C++类成员变量初始化顺序类成员初始化顺序与其在类中声明顺序一致。比如classDemo{public: Demo(intd) :_d1{d},_d2{_d1+10} { } voidshow(){ std::cout<<"d1="<<_d1<<std::endl; std::cout<<"d2="<<_d2<<std:......
  • string类(上)(解析各种成员函数)
    文章目录1.为什么要学习string类2.标准库中的string类2.1构造函数2.2成员函数2.3与内存相关的成员函数1.`capacity()`2.`resize()`3.`reserve()`2.4其他函数的简单示例4.`insert()`和`assign()`5.`at()`和`operator[]`6.`erase()`2.5string迭代器2.7示例:......
  • Java面向对象——内部类(成员内部类、静态内部类、局部内部类、匿名内部类,完整详解附有
    文章目录内部类17.1概述17.2成员内部类17.2.1获取成员内部类对象17.2.2成员内部类内存图17.3静态内部类17.4局部内部类17.5匿名内部类17.5.1概述内部类17.1概述写在一个类里面的类叫内部类,即在一个类的里面再定义一个类。如,A类的里面的定义B类,B类就称内部类......
  • 货殖列传!!!!
    货殖列传史记、司马迁、西汉西汉史学家司马迁创作的一篇文言文,收录于《史记》中。出自《史记》卷一百二十九、列传第六十九。古文来源:古诗文网序老子曰:“至治之极,邻国相望,鸡狗之声相闻,民各甘其食,美其服,安其俗,乐其业,至老死不相往来。”必用此为务,輓近世涂民耳目,则几无......
  • Python中的“秘密武器”:成员运算符的奥秘与妙用
    在Python编程的世界里,成员运算符就像是隐藏在背后的超级英雄,它们虽然不像循环或条件判断那样经常出现在舞台中央,但却在构建高效、简洁的代码时扮演着至关重要的角色。今天,让我们一起揭开成员运算符的神秘面纱,探索它如何帮助我们解决实际问题,并让我们的代码更加优雅。引言......
  • kissat的多输出-学习与修改2
    1.kissat结构体的基本数据成员回顾:(1)子对象对应的相关类型 1#include"arena.h"//包含#include"reference.h" #include"stack.h" #include"utilities.h"2#include"array.h"3#include"assign.h"//包含#includ......
  • C++ 成员函数指针简单测试
    classDog{public:voidUpdate_Func(shorti);short(Dog::*pfunc)(short);std::function<short(short)>ffunc;public:shortgoodMorning(shortid);shortgoodAfternoon(shortid);};voidDog::Update_Func(shorti){switch(i)......
  • 内存管理-35-内存统计-1-各成员含义
    基于msm-5.4一、vm_zone_stat[]基础调用路径:clear_page_mlock//mlock.c传参(..,NR_MLOCK,..)mlock_vma_page//mlock.c传参(..,NR_MLOCK,..)account_kernel_stack//fork.c传参(..,NR_KERNEL_STACK_KB,..)scs_account//scs.c传参(..,NR_K......
  • C++ 定义静态成员 static 关键字不能在定义出重复出现
    定义静态成员和其他的成员函数一样,我们既可以在类的内部也可以在类的外部定义静态成员函数。当在类的外部定义静态成员时,不能重复static关键字,该关键字只出现在类内部的声明语句:voidAccount::rate(doublenewRate){interestRate=newRate;}Note:和类的所有成员一样,当我......
  • c++类和对象(3):默认成员函数(下)
    1.拷贝构造函数如果⼀个构造函数的第⼀个参数是自身类类型的引用,且任何额外的参数都有默认值,则此构造函数也叫做拷贝构造函数,也就是说拷贝构造是⼀个特殊的构造函数。c++规定:类类型的传值传参必须用拷贝构造1.1拷贝构造函数的特点1.拷贝构造函数是构造函数的⼀个重载......