summaryrefslogtreecommitdiff
path: root/2.3-1/src/c/elementaryFunctions/bitset/u16bitsets.c
blob: ff72be3f0d1ef77b205ae3b980d98f82205d28b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* Scilab2C FOSSEE IITB */

#include "bitset.h"
#include<stdio.h>

uint16 u16bitsets(uint16 value,int position,int bit_value)
{
     if(bit_value==1)       
     {
       unsigned char  mask1 = 1 << (position-1) ;  /* we could cast to unsigned char, just to be safe */
       return (mask1 | value);
     }
     else
     {
       unsigned char mask2 = ~(1 << (position-1));  /*we could cast to unsigned char, just to be safe*/
       return (mask2 & value);

     } 

}