/*
 * $Id: bitset.txt 15102 2010-07-14 12:48:39Z vszakats $
 */

/*  $DOC$
 *  $FUNCNAME$
 *     FT_BITSET()
 *  $CATEGORY$
 *     String
 *  $ONELINER$
 *     Set selected bit in a byte
 *  $SYNTAX$
 *     FT_BITSET( <cByte>, <nBitPos> ) -> cByte
 *  $ARGUMENTS$
 *     <cByte> is a character from CHR(0) to CHR(255).
 * 
 *     <nBitPos> is a number from 0 to 7 conforming to standard right-to-left
 *     bit numbering convention and representing the position of the bit
 *     within the byte.
 *  $RETURNS$
 *     Returns new byte, with designated bit set.  If parameters are faulty,
 *     returns NIL.
 *  $DESCRIPTION$
 *     In effect, ORs argument byte with a byte that has only the target bit
 *     set.  If bit is already set, it remains set.
 *     Note: Calls FT_ISBIT() which is also in this Library.
 * 
 *     This function is presented to illustrate that bit-wise operations
 *     are possible with Clipper code.  For greater speed, write .c or
 *     .asm versions and use the Clipper Extend system.
 *  $EXAMPLES$
 *     This code would set bit 4 in a byte represented by CHR(107):
 * 
 *          cNewbyte := FT_BITSET( CHR(107), 4 )
 *          ? ASC( cNewbyte )             // result: 123
 *          ? cNewbyte                    // result: '{'
 * 
 * 
 *     This code would set bit 5 in the byte represented by the letter 'A'.
 * 
 *          ? FT_BITSET( 'A', 5 )         // result: 'a'
 *                                        // bit 5 set
 * 
 *     For a demonstration of Clipper bit manipulations, compile and
 *     link the program bittest.prg in the Nanforum Toolkit source code.
 *  $SEEALSO$
 *     FT_BITCLR() FT_ISBIT()
 *  $END$
 */
