summaryrefslogtreecommitdiff
path: root/src/c/elementaryFunctions/bitset/u16bitsets.c
blob: 953e46c9db1973e8d61822a32e58cfc63200b7bc (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);

     } 

}