Skip to content

Instantly share code, notes, and snippets.


Giles Bathgate GilesBathgate

View GitHub Profile
View Unique_hash_map.h
// Copyright (c) 1997-2000
// Utrecht University (The Netherlands),
// ETH Zurich (Switzerland),
// INRIA Sophia-Antipolis (France),
// Max-Planck-Institute Saarbruecken (Germany),
// and Tel-Aviv University (Israel). All rights reserved.
// This file is part of CGAL (
// $URL$
GilesBathgate / ID_support_handler_benchmark.cpp
Created Nov 9, 2020
ID_support_handler performance benchmark
View ID_support_handler_benchmark.cpp
#include <benchmark/benchmark.h>
#include <CGAL/Nef_3/ID_support_handler.h>
#include <CGAL/Nef_3/SNC_indexed_items.h>
// A bit unconventional ;)
static int data[][2]
#include ""
namespace CGAL {
GilesBathgate / main.cpp
Last active Nov 4, 2020
ID_support_handler benchmark.
View main.cpp
#include <iostream>
static int allocations = 0;
static int totalBytes = 0;
//Logging allocator
template<class T>
struct Allogator {
typedef T value_type;
T* allocate(size_t n, const void* = nullptr)
View Prusa i3 Cooldown GCODE
G92 E0 ; zero extruder
G1 E-3.0 F1500 ; retract
G4 ; wait
M104 S0 ; turn off temperature
{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+30, max_print_height)}{endif} ; Move print head up
M106 S255 ; turn fan on
G1 X125 Y0 F3000.0 ; goto middle
M190 R0 T40 ; turn off bed and wait for cooldown
M107 ; turn off fan
G1 X0 Y200 F3000 ; home X axis
View Program.cs
using Microsoft.Deployment.WindowsInstaller;
using System;
using WixSharp;
using WixSharp.CommonTasks;
namespace Setup1
class Program
static void Main()
GilesBathgate / Harvester.cs
Last active Feb 21, 2021
Harvester implementation
View Harvester.cs
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Xml.Linq;
using WixSharp;
using WixSharp.CommonTasks;
namespace WixSharp
View benchmark-update.d
extern (C) void* _aaGetX(void** paa, const TypeInfo_AssociativeArray ti, in size_t valuesize, in void* pkey, out bool found) pure nothrow;
V* slot(K, V)(ref V[K] aa, K key, out bool found)
return cast(V*) _aaGetX(cast(void**)&aa, typeid(V[K]), V.sizeof, &key, found);
void update(K, V, C, U)(ref V[K] aa, K key, C create, U update)
if (is(C : V delegate()) || is(C : V function()) && (is(U : V delegate(ref V)) || is(U : V function(ref V))))
View Not so Simple!
pragma(lib, "mscoree.lib");
extern (Windows)
View Minimal C++ example
#include "stdafx.h"
#include <metahost.h>
#pragma comment(lib, "mscoree.lib")
int _tmain(int argc, _TCHAR* argv[])
ICLRMetaHost *pMetaHost = NULL;
HRESULT hr = CLRCreateInstance(CLSID_CLRMetaHost, IID_ICLRMetaHost,(LPVOID*)&pMetaHost);
View simple gmpq test.
alias uint mp_limb_t;
struct __mpz_struct
int _mp_alloc;
int _mp_size;
mp_limb_t *_mp_d;