Skip to content

Instantly share code, notes, and snippets.

@0xc010d
Created March 30, 2012 09:23
Show Gist options
  • Select an option

  • Save 0xc010d/2250279 to your computer and use it in GitHub Desktop.

Select an option

Save 0xc010d/2250279 to your computer and use it in GitHub Desktop.
Masks
//
// Masks.h
//
// Created by Eugene Solodovnykov on 2/23/12.
//
#import <Foundation/Foundation.h>
NSInteger setBits(NSInteger mask, NSInteger bitMask);
NSInteger clearBits(NSInteger mask, NSInteger bitMask);
NSInteger toggleBits(NSInteger mask, NSInteger bitMask);
BOOL testBits(NSInteger mask, NSInteger bitMask);
//
// Masks.m
//
// Created by Eugene Solodovnykov on 2/23/12.
//
#include "Masks.h"
NSInteger setBits(NSInteger mask, NSInteger bitMask) {
return (mask | bitMask);
}
NSInteger clearBits(NSInteger mask, NSInteger bitMask) {
return (mask & (~ bitMask));
}
NSInteger toggleBits(NSInteger mask, NSInteger bitMask) {
return (mask ^ bitMask);
}
BOOL testBits(NSInteger mask, NSInteger bitMask) {
return !!(mask & bitMask);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment