Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
Go to the source code of this file.
Macros | |
#define | CREATE_GADGET_BASE_CLASS(GadgetBase) |
#define | ADD_ELLIPSES_1(Type1, name1) const Type1 &name1 |
#define | ADD_ELLIPSES_2(Type1, name1, Type2, name2) const Type1 &name1, const Type2 &name2 |
#define | ADD_ELLIPSES_3(Type1, name1, Type2, name2, Type3, name3) const Type1 &name1, const Type2 &name2, const Type3 &name3 |
#define | ADD_ELLIPSES_4(Type1, name1, Type2, name2, Type3, name3, Type4, name4) |
#define | ADD_ELLIPSES_5( Type1, name1, Type2, name2, Type3, name3, Type4, name4, Type5, name5) |
#define | ADD_ELLIPSES_7( Type1, name1, Type2, name2, Type3, name3, Type4, name4, Type5, name5, Type6, name6, Type7, name7, Type8, name8, Type9, name9) |
#define | ADD_ELLIPSES_8( Type1, name1, Type2, name2, Type3, name3, Type4, name4, Type5, name5, Type6, name6, Type7, name7, Type8, name8) |
#define | ADD_ELLIPSES_9( Type1, name1, Type2, name2, Type3, name3, Type4, name4, Type5, name5, Type6, name6, Type7, name7, Type8, name8, Type9, name9) |
#define | CREATE_GADGET_FACTORY_CLASS_1(GadgetType, Type1, name1) |
#define | CREATE_GADGET_FACTORY_CLASS_2(GadgetType, Type1, name1, Type2, name2) |
#define | CREATE_GADGET_FACTORY_CLASS_3( GadgetType, Type1, name1, Type2, name2, Type3, name3) |
#define | CREATE_GADGET_FACTORY_CLASS_4( GadgetType, Type1, name1, Type2, name2, Type3, name3, Type4, name4) |
#define | CREATE_GADGET_FACTORY_CLASS_5( GadgetType, Type1, name1, Type2, name2, Type3, name3, Type4, name4, Type5, name5) |
#define | CREATE_GADGET_FACTORY_CLASS_7( GadgetType, Type1, name1, Type2, name2, Type3, name3, Type4, name4, Type5, name5, Type6, name6, Type7, name7) |
#define | CREATE_GADGET_FACTORY_CLASS_8( GadgetType, Type1, name1, Type2, name2, Type3, name3, Type4, name4, Type5, name5, Type6, name6, Type7, name7, Type8, name8) |
#define | CREATE_GADGET_FACTORY_CLASS_9( GadgetType, Type1, name1, Type2, name2, Type3, name3, Type4, name4, Type5, name5, Type6, name6, Type7, name7, Type8, name8, Type9, name9) |
Macros for quick construction of interface and factory classes for non field agnostic gadgets.
Definition in file gadgetMacros.hpp.
#define ADD_ELLIPSES_1 | ( | Type1, | |
name1 | |||
) | const Type1 &name1 |
Macro for creating gadget factory classes. For instance CREATE_GADGET_FACTORY_CLASS(AND_Gadget, 2, VariableArray, input, Variable, result); creates a class AND_Gadget with the method: GadgetPtr AND_Gadget::create(ProtoboardPtr pb, const VariableArray& input, const Variable& result) which will instantiate a field specific gadget depending on the Protoboard type. This macro implements the factory design pattern.
Definition at line 73 of file gadgetMacros.hpp.
#define ADD_ELLIPSES_2 | ( | Type1, | |
name1, | |||
Type2, | |||
name2 | |||
) | const Type1 &name1, const Type2 &name2 |
Definition at line 75 of file gadgetMacros.hpp.
#define ADD_ELLIPSES_3 | ( | Type1, | |
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3 | |||
) | const Type1 &name1, const Type2 &name2, const Type3 &name3 |
Definition at line 78 of file gadgetMacros.hpp.
#define ADD_ELLIPSES_4 | ( | Type1, | |
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3, | |||
Type4, | |||
name4 | |||
) |
Definition at line 81 of file gadgetMacros.hpp.
#define ADD_ELLIPSES_5 | ( | Type1, | |
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3, | |||
Type4, | |||
name4, | |||
Type5, | |||
name5 | |||
) |
Definition at line 85 of file gadgetMacros.hpp.
#define ADD_ELLIPSES_7 | ( | Type1, | |
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3, | |||
Type4, | |||
name4, | |||
Type5, | |||
name5, | |||
Type6, | |||
name6, | |||
Type7, | |||
name7, | |||
Type8, | |||
name8, | |||
Type9, | |||
name9 | |||
) |
Definition at line 90 of file gadgetMacros.hpp.
#define ADD_ELLIPSES_8 | ( | Type1, | |
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3, | |||
Type4, | |||
name4, | |||
Type5, | |||
name5, | |||
Type6, | |||
name6, | |||
Type7, | |||
name7, | |||
Type8, | |||
name8 | |||
) |
Definition at line 113 of file gadgetMacros.hpp.
#define ADD_ELLIPSES_9 | ( | Type1, | |
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3, | |||
Type4, | |||
name4, | |||
Type5, | |||
name5, | |||
Type6, | |||
name6, | |||
Type7, | |||
name7, | |||
Type8, | |||
name8, | |||
Type9, | |||
name9 | |||
) |
Definition at line 134 of file gadgetMacros.hpp.
#define CREATE_GADGET_BASE_CLASS | ( | GadgetBase | ) |
Definition at line 51 of file gadgetMacros.hpp.
#define CREATE_GADGET_FACTORY_CLASS_1 | ( | GadgetType, | |
Type1, | |||
name1 | |||
) |
Definition at line 169 of file gadgetMacros.hpp.
#define CREATE_GADGET_FACTORY_CLASS_2 | ( | GadgetType, | |
Type1, | |||
name1, | |||
Type2, | |||
name2 | |||
) |
Definition at line 192 of file gadgetMacros.hpp.
#define CREATE_GADGET_FACTORY_CLASS_3 | ( | GadgetType, | |
Type1, | |||
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3 | |||
) |
Definition at line 215 of file gadgetMacros.hpp.
#define CREATE_GADGET_FACTORY_CLASS_4 | ( | GadgetType, | |
Type1, | |||
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3, | |||
Type4, | |||
name4 | |||
) |
Definition at line 240 of file gadgetMacros.hpp.
#define CREATE_GADGET_FACTORY_CLASS_5 | ( | GadgetType, | |
Type1, | |||
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3, | |||
Type4, | |||
name4, | |||
Type5, | |||
name5 | |||
) |
Definition at line 267 of file gadgetMacros.hpp.
#define CREATE_GADGET_FACTORY_CLASS_7 | ( | GadgetType, | |
Type1, | |||
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3, | |||
Type4, | |||
name4, | |||
Type5, | |||
name5, | |||
Type6, | |||
name6, | |||
Type7, | |||
name7 | |||
) |
Definition at line 313 of file gadgetMacros.hpp.
#define CREATE_GADGET_FACTORY_CLASS_8 | ( | GadgetType, | |
Type1, | |||
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3, | |||
Type4, | |||
name4, | |||
Type5, | |||
name5, | |||
Type6, | |||
name6, | |||
Type7, | |||
name7, | |||
Type8, | |||
name8 | |||
) |
Definition at line 367 of file gadgetMacros.hpp.
#define CREATE_GADGET_FACTORY_CLASS_9 | ( | GadgetType, | |
Type1, | |||
name1, | |||
Type2, | |||
name2, | |||
Type3, | |||
name3, | |||
Type4, | |||
name4, | |||
Type5, | |||
name5, | |||
Type6, | |||
name6, | |||
Type7, | |||
name7, | |||
Type8, | |||
name8, | |||
Type9, | |||
name9 | |||
) |
Definition at line 433 of file gadgetMacros.hpp.