cgv
Loading...
Searching...
No Matches
bit_operations.h
1#pragma once
2
3#include "lib_begin.h"
4
5namespace cgv {
6 namespace utils {
8 CGV_API bool is_bit_set(unsigned int bit_idx, unsigned int bit_field);
10 CGV_API void enable_upper_bits(unsigned int& bit_field, unsigned int fst_bit_idx);
12 CGV_API void disable_upper_bits(unsigned int& bit_field, unsigned int fst_bit_idx);
14 CGV_API void enable_lower_bits(unsigned int& bit_field, unsigned int fst_bit_idx);
16 CGV_API void disable_lower_bits(unsigned int& bit_field, unsigned int fst_bit_idx);
18 CGV_API void set_bits(unsigned int& bit_field, unsigned int off, unsigned int n, unsigned int value);
19 }
20}
21
22#include <cgv/config/lib_end.h>
void enable_lower_bits(unsigned int &bit_field, unsigned int fst_bit_idx)
set all the bits of bit_field with index equal or less than fst_bit_idx
bool is_bit_set(unsigned int bit_idx, unsigned int bit_field)
check if a bit of a bit field is set
void disable_lower_bits(unsigned int &bit_field, unsigned int fst_bit_idx)
clear all the bits of bit_field with index equal or less than fst_bit_idx
void enable_upper_bits(unsigned int &bit_field, unsigned int fst_bit_idx)
set all the bits of bit_field with index equal or larger than fst_bit_idx
void disable_upper_bits(unsigned int &bit_field, unsigned int fst_bit_idx)
clear all the bits of bit_field with index equal or larger than fst_bit_idx
void set_bits(unsigned int &bit_field, unsigned int off, unsigned int n, unsigned int value)
set n bits starting with index off of the given bit field from the first bits of the given integer va...
the cgv namespace
Definition print.h:11