rtlValue* Perform_Unary_Operation(rtlOperation op, rtlValue* v) { if((op == __NOT) && (v->Is("rtlUnsignedValue"))) { rtlUnsignedValue* uv = (rtlUnsignedValue*)v; Unsigned* nv = new Unsigned(*((Unsigned*)(uv->Get_Value()))); nv->Complement(); rtlValue* ret_val = new rtlUnsignedValue(v->Get_Type(), nv); return(ret_val); } else { return(NULL); } }