Annotation of 42BSD/usr.lib/lib2648/setmat.c, revision 1.1

1.1     ! root        1: /*     setmat.c        4.1     83/03/09        */
        !             2: /*
        !             3:  * setmat: set the value in m[r, c] to nval.
        !             4:  */
        !             5: 
        !             6: #include "bit.h"
        !             7: 
        !             8: setmat(m, rows, cols, r, c, nval)
        !             9: bitmat m;
        !            10: int rows, cols, r, c, nval;
        !            11: {
        !            12:        register int offset, thisbit;
        !            13: 
        !            14:        if (r<0 || c<0 || r>=rows || c>=cols) {
        !            15: #ifdef TRACE
        !            16:                if (trace)
        !            17:                        fprintf(trace, "setmat range error: (%d, %d) <- %d in a (%d, %d) matrix %x\n", r, c, nval, rows, cols, m);
        !            18: #endif
        !            19: 
        !            20:                return;
        !            21:        }
        !            22:        offset = r*((cols+7)>>3) + (c>>3);
        !            23:        thisbit = 0x80 >> (c&7);
        !            24:        if (nval)
        !            25:                m[offset] |= thisbit;
        !            26:        else
        !            27:                m[offset] &= ~thisbit;
        !            28: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.