// bvector.h // Copyright (c) 2015 Nonki Takahashi. The MIT License. // Version 0.5 // // The following ifdef block is the standard way of creating macros which make exporting // from a DLL simpler. All files within this DLL are compiled with the BINARYMATH_EXPORTS // symbol defined on the command line. This symbol should not be defined on any project // that uses this DLL. This way any other project whose source files include this file see // BINARYMATH_API functions as being imported from a DLL, whereas this DLL sees symbols // defined with this macro as being exported. #ifdef BINARYMATH_EXPORTS #define BINARYMATH_API __declspec(dllexport) #else #define BINARYMATH_API __declspec(dllimport) #endif // This class is exported from the binarymath.dll #include <string> #include <bitset> using namespace std; const int MAXBITS = 32; class CBMatrix; class BINARYMATH_API CBVector { int order = 0; bitset<MAXBITS> bits; string name = ""; public: CBVector(void); // TODO: add your methods here. CBVector(int, string name = ""); CBVector(int, int[], string name = ""); void operator=(CBVector &); void clear(void); void setValue(int, int); int getValue(int); int getOrder(void); int abs(void); CBVector inv(void); bool equals(CBVector); CBVector or(CBVector); CBVector diff(CBVector); CBVector and(CBVector); CBVector xor(CBVector); CBVector mul(int); int dot(CBVector); CBMatrix cross(CBVector); string to_string(void); };