Skip to content

Instantly share code, notes, and snippets.

View k06a's full-sized avatar
🚀
DeFi dreamer

Anton Bukov k06a

🚀
DeFi dreamer
View GitHub Profile
@k06a
k06a / gist:7daf00b7c72e3db15adc
Created February 1, 2015 01:02
Prime numbers integral by Eratosthenes
int64_t nn = 100000000;
vector<int> ip(nn,1);
size_t pos = 2;
ip[0] = 0;
ip[1] = 0;
while ((pos = find(ip.begin()+pos, ip.end(), 1) - ip.begin()) < nn) {
for (size_t j = pos*pos; j < ip.size(); j+=pos)
ip[j] = 0;
pos += 1 + (pos>2);
}
@k06a
k06a / ViewController.m
Created May 20, 2015 15:02
Show/hide navigation bar on push/pop
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:NO animated:YES];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
if (self.isMovingFromParentViewController)
#import <UIKit/UIKit.h>
@interface TintedButton : UIButton
@end
@k06a
k06a / UIColor+Interpolation.m
Created June 16, 2015 14:59
UIColor+Interpolation
+ (UIColor *)colorBetweenColor:(UIColor *)color1
andColor:(UIColor *)color2
atProgress:(CGFloat)progress
{
CGFloat r1,g1,b1,a1,r2,g2,b2,a2;
[color1 getRed:&r1 green:&g1 blue:&b1 alpha:&a1];
[color2 getRed:&r2 green:&g2 blue:&b2 alpha:&a2];
return [UIColor colorWithRed:r1+(r2-r1)*progress
green:g1+(g2-g1)*progress
blue:b1+(b2-b1)*progress
#import <Cocoa/Cocoa.h>
#import <objc/runtime.h>
@implementation NSControl (Subclasses)
+ (void)load
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
method_exchangeImplementations(class_getInstanceMethod([self class], @selector(initWithCoder:)),
@k06a
k06a / add.cpp
Created October 14, 2015 16:34
Add two decimal number stored in strings
string add(const string & s1, const string & s2)
{
int flag = 0;
string ret(std::max(s1.size(),s2.size())+1, '0');
for (int i = 0; i < ret.size(); i++) {
int v = (i < s1.size() ? s1[s1.size()-1-i]-'0' : 0)
+ (i < s2.size() ? s2[s2.size()-1-i]-'0' : 0) + flag;
flag = v/10;
v -= flag*10;
ret[ret.size()-1-i] = v+'0';
@k06a
k06a / RefString.cpp
Last active October 16, 2015 07:17
std::string substring reference without copying
struct RefString
{
RefString(const string & s, int i, int l) : s(s), i(i), l(l) {}
const char & operator [] (int x) const {
return s[i+x];
}
size_t length() const {
return l;
@k06a
k06a / UIImage+Grayscale.m
Last active November 25, 2015 14:18
UIImage+Grayscale
@implementation UIImage (Grayscale)
UIImage *grayscaleImageFromCIImage(CIImage *image, CGFloat scale) {
CIImage *blackAndWhite = [CIFilter filterWithName:@"CIColorControls" keysAndValues:kCIInputImageKey, image, @"inputBrightness", @0.0, @"inputContrast", @1.1, @"inputSaturation", @0.0, nil].outputImage;
CIImage *output = [CIFilter filterWithName:@"CIExposureAdjust" keysAndValues:kCIInputImageKey, blackAndWhite, @"inputEV", @0.7, nil].outputImage;
CGImageRef ref = [[CIContext contextWithOptions:nil] createCGImage:output fromRect:output.extent];
UIImage *result = [UIImage imageWithCGImage:ref scale:scale orientation:UIImageOrientationUp];
CGImageRelease(ref);
return result;
}
@k06a
k06a / erase-git.sh
Last active May 14, 2021 03:14
Git remove some dirs
# Fetch
git clone https://github.com/username/reponame reponame
for b in `git branch -r | grep -v -- '->'`; do git branch --track ${b##origin/} $b; done
# Analyze
curl https://bootstrap.pypa.io/get-pip.py > get-pip.py && sudo python get-pip.py && rm get-pip.py
sudo pip install git-fat
git fat -a find 1000000
git ls-tree -r -t -l --full-name HEAD | sort -n -k 4
@k06a
k06a / NSValue+CVMat.h
Last active January 15, 2016 08:30
NSValue C++ object
#import <Foundation/Foundation.h>
namespace cv {
class Mat;
}
@interface NSValue (CVMat)
+ (instancetype)valueWithCVMat:(cv::Mat)mat;
@property (readonly) cv::Mat CVMatValue;