X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fvfpu.h;fp=src%2Fvfpu.h;h=edf471ab9ac0b4ce39c501a76bf618fa4c1d1a58;hp=c489e89a05141896ad844f493e35da6bdc602b82;hb=c0f947a6ce10a329eec81e4df820ac52f7ab371f;hpb=79d61ba24ac2d29cea6e7f1fee2f83705c5fb4ac diff --git a/src/vfpu.h b/src/vfpu.h index c489e89..edf471a 100644 --- a/src/vfpu.h +++ b/src/vfpu.h @@ -23,10 +23,11 @@ namespace VFPU -- 111 = unused */ typedef enum {ADD=0x000, SUB=0x001, MULT=0x010, DIV=0x011, SQRT=0x100} Opcode; + typedef enum {EVEN=0x00, ZERO=0x01, UP=0x10, DOWN=0x11} Rmode; typedef std::bitset<32> Register; - extern Register Exec(const Register & a, const Register & b, Opcode op); // operate with registers - extern float Exec(float a, float b, Opcode op); //converts floats into registers and back + extern Register Exec(const Register & a, const Register & b, Opcode op, Rmode rmode = EVEN); // operate with registers + extern float Exec(float a, float b, Opcode op, Rmode rmode = EVEN); //converts floats into registers and back } #endif //_VFPU_H