tfhe_libex
bool_core.hpp
[詳解]
1 
5 #ifndef BOOL_CORE
6 #define BOOL_CORE
7 #include "../../operations/io/io.hpp"
8 #include "../raw/bit.hpp"
9 #include "../type.hpp"
10 
14 class TFHEBoolCore : virtual protected TFHEKeySet, virtual protected TFHEIO {
15  public:
16  TFHEBit bit;
17  TFHEBoolCore(const TFHEBoolCore& elm);
18  TFHEBoolCore();
19  TFHEBoolCore(bool value);
20  TFHEBoolCore(TFHEBit value);
21  TFHEBoolCore(const char* path, int id);
22 
23  void save(const char* path, int id);
24 
29  bool decrypt();
30 
37  TFHEBoolCore& operator=(const TFHEBoolCore& elm);
38 
45 
52  TFHEBoolCore operator&(const TFHEBoolCore& other);
53 
60  TFHEBoolCore operator|(const TFHEBoolCore& other);
61 
68  TFHEBoolCore operator^(const TFHEBoolCore& other);
69 
76  TFHEBoolCore operator*(const TFHEBoolCore& other);
77 
84  TFHEBoolCore operator+(const TFHEBoolCore& other);
85 
92  TFHEBoolCore operator==(const TFHEBoolCore& other);
93 
100  TFHEBoolCore operator!=(const TFHEBoolCore& other);
101 
102  protected:
103  virtual void load_raw(FILE* fp);
104  virtual void save_raw(FILE* fp);
105 
106  TFHEBoolCore _not(TFHEBoolCore value);
107  TFHEBoolCore _and(TFHEBoolCore value1, TFHEBoolCore value2);
108  TFHEBoolCore _or(TFHEBoolCore value1, TFHEBoolCore value2);
109  TFHEBoolCore _xor(TFHEBoolCore value1, TFHEBoolCore value2);
110  TFHEBoolCore et(TFHEBoolCore value1, TFHEBoolCore value2);
111  TFHEBoolCore net(TFHEBoolCore value1, TFHEBoolCore value2);
112 };
113 
114 #endif
TFHEBoolCore::operator=
TFHEBoolCore & operator=(const TFHEBoolCore &elm)
TFHEのBool型の代入を行うオペレータ.
Definition: bool_core.cpp:66
TFHEBoolCore::operator|
TFHEBoolCore operator|(const TFHEBoolCore &other)
TFHEのBool型の論理和を行うオペレータ.
Definition: bool_core.cpp:77
TFHEBoolCore::operator!=
TFHEBoolCore operator!=(const TFHEBoolCore &other)
TFHEのBool型の等号の否定の判定を行うオペレータ.
Definition: bool_core.cpp:95
TFHEBoolCore::operator*
TFHEBoolCore operator*(const TFHEBoolCore &other)
TFHEのBool型の論理積を行うオペレータ.
Definition: bool_core.cpp:85
TFHEBoolCore
TFHEのBool型のcoreクラス.
Definition: bool_core.hpp:14
TFHEBoolCore::operator!
TFHEBoolCore operator!()
TFHEのBool型の否定を行うオペレータ.
Definition: bool_core.cpp:71
TFHEBoolCore::operator^
TFHEBoolCore operator^(const TFHEBoolCore &other)
TFHEのBool型の排他的論理和を行うオペレータ.
Definition: bool_core.cpp:81
TFHEBoolCore::decrypt
bool decrypt()
TFHEのBool型を復号するメソッド.
Definition: bool_core.cpp:24
TFHEBit
単数のLweSample*をwrapするクラス.
Definition: bit.hpp:12
TFHEBoolCore::operator==
TFHEBoolCore operator==(const TFHEBoolCore &other)
TFHEのBool型の等号の判定を行うオペレータ.
Definition: bool_core.cpp:92
TFHEIO
ファイル入出力の共通処理のクラス.
Definition: io.hpp:12
TFHEKeySet
TFHEの秘密鍵,クラウド鍵,パラメータをまとめて管理するwrapperクラス.
Definition: keyset.hpp:43
TFHEBoolCore::operator&
TFHEBoolCore operator&(const TFHEBoolCore &other)
TFHEのBool型の論理積を行うオペレータ.
Definition: bool_core.cpp:73
TFHEBoolCore::operator+
TFHEBoolCore operator+(const TFHEBoolCore &other)
TFHEのBool型の論理和を行うオペレータ.
Definition: bool_core.cpp:88