- value *val ;
-
- /* create a new value */
- val = newValue();
- val->type = copyLinkChain (lval->type);
- val->etype = getSpec(val->type);
-
- switch (op)
- {
- case '&' :
- if (SPEC_LONG(val->type)) {
- if (SPEC_USIGN(val->type))
- SPEC_CVAL(val->type).v_ulong = (unsigned long) floatFromVal(lval) &
- (unsigned long) floatFromVal(rval);
- else
- SPEC_CVAL(val->type).v_long = (long) floatFromVal(lval) &
- (long) floatFromVal(rval);
- }
- else {
- if (SPEC_USIGN(val->type))
- SPEC_CVAL(val->type).v_uint = (unsigned) floatFromVal(lval) &
- (unsigned) floatFromVal(rval);
- else
- SPEC_CVAL(val->type).v_int = (int) floatFromVal(lval) & (int) floatFromVal(rval);
- }
- break ;
-
- case '|' :
- if (SPEC_LONG(val->type)) {
- if (SPEC_USIGN(val->type))
- SPEC_CVAL(val->type).v_ulong = (unsigned long) floatFromVal(lval) |
- (unsigned long) floatFromVal(rval);
- else
- SPEC_CVAL(val->type).v_long = (long) floatFromVal(lval) |
- (long) floatFromVal(rval);
- }
- else {
- if (SPEC_USIGN(val->type))
- SPEC_CVAL(val->type).v_uint = (unsigned) floatFromVal(lval) |
- (unsigned) floatFromVal(rval);
- else
- SPEC_CVAL(val->type).v_int =
- (int) floatFromVal(lval) | (int) floatFromVal(rval);
- }
-
- break ;
-
- case '^' :
- if (SPEC_LONG(val->type)) {
- if (SPEC_USIGN(val->type))
- SPEC_CVAL(val->type).v_ulong = (unsigned long) floatFromVal(lval) ^
- (unsigned long) floatFromVal(rval);
- else
- SPEC_CVAL(val->type).v_long = (long) floatFromVal(lval) ^
- (long) floatFromVal(rval);
- }
- else {
- if (SPEC_USIGN(val->type))
- SPEC_CVAL(val->type).v_uint = (unsigned) floatFromVal(lval) ^
- (unsigned) floatFromVal(rval);
- else
- SPEC_CVAL(val->type).v_int =
- (int) floatFromVal(lval) ^ (int) floatFromVal(rval);
- }
- break ;
- }
-
- return val ;
+ value *val;
+
+ /* create a new value */
+ val = newValue ();
+ val->type = copyLinkChain (lval->type);
+ val->etype = getSpec (val->type);
+
+ switch (op)
+ {
+ case '&':
+ if (SPEC_LONG (val->type))
+ {
+ if (SPEC_USIGN (val->type))
+ SPEC_CVAL (val->type).v_ulong = (unsigned long) floatFromVal (lval) &
+ (unsigned long) floatFromVal (rval);
+ else
+ SPEC_CVAL (val->type).v_long = (long) floatFromVal (lval) &
+ (long) floatFromVal (rval);
+ }
+ else
+ {
+ if (SPEC_USIGN (val->type))
+ SPEC_CVAL (val->type).v_uint = (unsigned) floatFromVal (lval) &
+ (unsigned) floatFromVal (rval);
+ else
+ SPEC_CVAL (val->type).v_int = (int) floatFromVal (lval) & (int) floatFromVal (rval);
+ }
+ break;
+
+ case '|':
+ if (SPEC_LONG (val->type))
+ {
+ if (SPEC_USIGN (val->type))
+ SPEC_CVAL (val->type).v_ulong = (unsigned long) floatFromVal (lval) |
+ (unsigned long) floatFromVal (rval);
+ else
+ SPEC_CVAL (val->type).v_long = (long) floatFromVal (lval) |
+ (long) floatFromVal (rval);
+ }
+ else
+ {
+ if (SPEC_USIGN (val->type))
+ SPEC_CVAL (val->type).v_uint = (unsigned) floatFromVal (lval) |
+ (unsigned) floatFromVal (rval);
+ else
+ SPEC_CVAL (val->type).v_int =
+ (int) floatFromVal (lval) | (int) floatFromVal (rval);
+ }
+
+ break;
+
+ case '^':
+ if (SPEC_LONG (val->type))
+ {
+ if (SPEC_USIGN (val->type))
+ SPEC_CVAL (val->type).v_ulong = (unsigned long) floatFromVal (lval) ^
+ (unsigned long) floatFromVal (rval);
+ else
+ SPEC_CVAL (val->type).v_long = (long) floatFromVal (lval) ^
+ (long) floatFromVal (rval);
+ }
+ else
+ {
+ if (SPEC_USIGN (val->type))
+ SPEC_CVAL (val->type).v_uint = (unsigned) floatFromVal (lval) ^
+ (unsigned) floatFromVal (rval);
+ else
+ SPEC_CVAL (val->type).v_int =
+ (int) floatFromVal (lval) ^ (int) floatFromVal (rval);
+ }
+ break;
+ }
+
+ return val;