Doxygen Source Code Documentation
qbitbits.c File Reference
#include "f2c.h"Go to the source code of this file.
| Defines | |
| #define | LONGBITS 32 | 
| #define | LONG8BITS (2*LONGBITS) | 
| Functions | |
| integer | qbit_bits (longint a, integer b, integer len) | 
| longint | qbit_cshift (longint a, integer b, integer len) | 
Define Documentation
| 
 | 
| 
 Definition at line 8 of file qbitbits.c. Referenced by qbit_cshift(). | 
| 
 | 
| 
 Definition at line 4 of file qbitbits.c. | 
Function Documentation
| 
 | ||||||||||||||||
| 
 Definition at line 15 of file qbitbits.c. References a, L, and ulongint. 
 | 
| 
 | ||||||||||||||||
| 
 Definition at line 33 of file qbitbits.c. References a, LONG8BITS, and ulongint. 
 00035 {
00036         ulongint x, y, z;
00037 
00038         x = (ulongint)a;
00039         if (len <= 0) {
00040                 if (len == 0)
00041                         return 0;
00042                 goto full_len;
00043                 }
00044         if (len >= LONG8BITS) {
00045  full_len:
00046                 if (b >= 0) {
00047                         b %= LONG8BITS;
00048                         return (longint)(x << b | x >> LONG8BITS - b );
00049                         }
00050                 b = -b;
00051                 b %= LONG8BITS;
00052                 return (longint)(x << LONG8BITS - b | x >> b);
00053                 }
00054         y = z = (unsigned long)-1;
00055         y <<= len;
00056         z &= ~y;
00057         y &= x;
00058         x &= z;
00059         if (b >= 0) {
00060                 b %= len;
00061                 return (longint)(y | z & (x << b | x >> len - b));
00062                 }
00063         b = -b;
00064         b %= len;
00065         return (longint)(y | z & (x >> b | x << len - b));
00066         }
 | 
 
                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
 
 
 
 
       
	   
	   
	   
	  