Skip to content

Instantly share code, notes, and snippets.

Arvid Gerstmann Leandros

View GitHub Profile
@Leandros
Leandros / compresspdf.sh
Created Apr 2, 2019
Compress PDF (requires ghostscript)
View compresspdf.sh
#!/bin/bash
readonly input="$1"
readonly output="$2"
readonly preset="$3"
if [ "$input" = "" ] || [ "$output" = "" ] || [ "$preset" = "" ]; then
echo "usage: $0 [input file] [output file] [screen|ebook|printer|prepress]"
exit 1
fi
@Leandros
Leandros / Makefile
Last active Mar 11, 2019
Minimal C++ Makefile
View Makefile
CC = clang++
CXX = clang++
DEBUG = -ggdb -O1 -march=native
RELEASE = -O2
CPPFLAGS := -I.
CXXFLAGS := $(DEBUG) -W -Wall -Wextra -std=c++17
LDLIBS := -lm
OUTPUT_OPTION = -MMD -MP -o $@ -MJ $@.json
# Modify your C++ filesuffix here:
View main.cpp
/*
* Compile with re2c:
* $ re2c main.cpp -o main.re2c.cpp --nested-ifs --bit-vectors --utf-8 --no-debug-info
* $ g++ -std=c++17 -O3 -o test_re2c main.re2c.cpp
*/
#include <iostream>
#include <fstream>
bool
@Leandros
Leandros / results.txt
Last active Jul 2, 2018
PractRand Results
View results.txt
################################### SPLITMIX
############################################
$ ./splitmix | ./PractRand/RNG_test stdin32 -multithreaded
RNG_test using PractRand version 0.93
RNG = RNG_stdin32, seed = 0x1c3196f9
test set = normal, folding = standard (32 bit)
rng=RNG_stdin32, seed=0x1c3196f9
length= 256 megabytes (2^28 bytes), time= 3.0 seconds
no anomalies in 124 test result(s)
@Leandros
Leandros / random.h
Created Jul 2, 2018
C++ Pseudo Random Number Generators
View random.h
/* Copyright (c) 2018 Arvid Gerstmann. */
/* This code is licensed under MIT license. */
#ifndef AG_RANDOM_H
#define AG_RANDOM_H
class splitmix
{
public:
using result_type = uint32_t;
static constexpr result_type (min)() { return 0; }
@Leandros
Leandros / main.z
Created Jun 23, 2018
Zlang Example
View main.z
import Vec3;
import std::Concepts;
import std::Gc;
func Square(x: int) -> int {
return x * x;
}
/* PrintTest is overloaded on different concepts. */
View index.html
<html>
<head>
<meta charset="utf-8">
<meta property="og:url" content="https://foo.bar">
<style>
#h1 {
font-size: 32px;
color: #fff;
}
</style>
@Leandros
Leandros / foo.cxx
Last active May 15, 2018
How I pimpl
View foo.cxx
#include "foo.hxx"
struct Foo::Implementation
{
int bar = 0;
};
PIMPL_UNIQUE_IMPL(Foo)
Foo::Foo()
View types.h
#pragma once
struct Type0 { int x; };
struct Type1 { int x; };
struct Type2 { int x; };
struct Type3 { int x; };
struct Type4 { int x; };
struct Type5 { int x; };
struct Type6 { int x; };
struct Type7 { int x; };
View build.sh
#!/bin/bash
cflags="-O3 -std=c++14 -ggdb3 -frecord-gcc-switches"
ldflags="-grecord-gcc-switches -gcolumn-info"
# Cleanup
rm -rf obj
rm test test.pdb
mkdir -p obj
You can’t perform that action at this time.