Skip to content

Instantly share code, notes, and snippets.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width,initial-scale=1'>
<title>Components development</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/bulma.min.css">
<link rel='stylesheet' href='/public/global.css'/>
@jensb1
jensb1 / gist:f33c8512b66dfdf4d84f55603a654a05
Last active March 13, 2021 10:32
Simple indent parser in Clojure
(ns analyze (:require
[clojure.string :refer [split starts-with? trim]]
[clojure.core :refer [tree-seq re-find]]))
(defn line-param [line]
(trim (str (second (re-find #"\s*(.*?):" (str line))))))
(defn line-value [line]
(trim (str (second (re-find #".*:(.*)" (str line))))))
@jensb1
jensb1 / jit.cpp
Last active March 17, 2021 07:48
A simple LLVM 12 JIT test with optimizations working
orc: jit.cpp
clang++ -g -o $@ $^ $(shell llvm-config-12 --cxxflags --ldflags --system-libs --libs core)
@jensb1
jensb1 / gist:69340306768ef40caa3310c296acf552
Created March 19, 2021 01:04
LLVM Orc v2 - loading separate file
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/Triple.h"
#include "llvm/Bitcode/BitcodeReader.h"
#include "llvm/CodeGen/CommandFlags.h"
#include "llvm/CodeGen/LinkAllCodegenComponents.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/ExecutionEngine/GenericValue.h"
#include "llvm/ExecutionEngine/JITEventListener.h"
#include "llvm/ExecutionEngine/ObjectCache.h"
#if !defined( __cpp_exceptions )
#include <iostream>
int main()
{
std::cerr << "Exception support required, example unavailable." << std::endl;
return 1;
}
#else
#include <iomanip>
## Refer to http://caffe.berkeleyvision.org/installation.html
# Contributions simplifying and improving our build system are welcome!
# cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1
# CPU-only switch (uncomment to build without GPU support).
# CPU_ONLY := 1
# uncomment to disable IO dependencies and corresponding data layers
:1000000000000420BD020000E5020000E70200003D
:10001000E9020000EB020000ED0200000000000019
:10002000000000000000000000000000EF020000DF
:10003000F102000000000000F3020000F5020000E1
:10004000F7020000F7020000F7020000F7020000CC
:10005000F7020000F7020000F7020000F7020000BC
:10006000F7020000F7020000F7020000F7020000AC
:10007000F7020000F7020000F7020000F70200009C
:10008000F7020000F7020000F7020000F70200008C
:10009000F7020000F7020000F7020000F70200007C
var shadow$provide = {};
'use strict';var f;/*
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
function p(a){var b=typeof a;return"object"!=b?b:a?Array.isArray(a)?"array":b:"null"}function aa(a){return Object.prototype.hasOwnProperty.call(a,ba)&&a[ba]||(a[ba]=++ca)}var ba="closure_uid_"+(1E9*Math.random()>>>0),ca=0;function da(a){const b=[];let c=0;for(const d in a)b[c++]=d;return b};function ea(a,b){null!=a&&this.append.apply(this,arguments)}f=ea.prototype;f.Fa="";f.set=function(a){this.Fa=""+a};f.append=function(a,b,c){this.Fa+=String(a);if(null!=b)for(let d=1;d<arguments.length;d++)this.Fa+=arguments[d];return this};f.clear=function(){this.Fa=""};f.toString=function(){return this.Fa};var t={},ha=null;function u(a){return null!=a&&!1!==a}function ia(a){return a instanceof Array}function w(a,b){return a[p(null==b?null:b)]?!0:a._?!0:!1}function x(a,b){var c=null==b?null:b.constructor;return Error(["No protocol method ",a," defined for type ",u(u(c)?c.mc:c)?c.Jb:p(b),": ",b].jo
var shadow$provide = {};
'use strict';var f;/*
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
function u(a){var b=typeof a;return"object"!=b?b:a?Array.isArray(a)?"array":b:"null"}function Xc(a){return Object.prototype.hasOwnProperty.call(a,aa)&&a[aa]||(a[aa]=++ba)}var aa="closure_uid_"+(1E9*Math.random()>>>0),ba=0;function ca(a){const b=[];let c=0;for(const d in a)b[c++]=d;return b}function Ce(a,b){return null!==a&&b in a?a[b]:void 0}const De="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function Ee(a,b){let c,d;for(let e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(let g=0;g<De.length;g++)c=De[g],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};function da(a,b){null!=a&&this.append.apply(this,arguments)}f=da.prototype;f.Ba="";f.set=function(a){this.Ba=""+a};f.append=function(a,b,c){this.Ba+=String(a);if(null!=b)for(let d=1;d<arguments.length;d++)this.Ba+=arguments[d];return this};f.clea
var shadow$provide = {};
'use strict';var f;/*
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
function u(a){var b=typeof a;return"object"!=b?b:a?Array.isArray(a)?"array":b:"null"}function Xc(a){return Object.prototype.hasOwnProperty.call(a,aa)&&a[aa]||(a[aa]=++ba)}var aa="closure_uid_"+(1E9*Math.random()>>>0),ba=0;function ca(a){const b=[];let c=0;for(const d in a)b[c++]=d;return b}function Ce(a,b){return null!==a&&b in a?a[b]:void 0}const De="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function Ee(a,b){let c,d;for(let e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(let g=0;g<De.length;g++)c=De[g],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};function da(a,b){null!=a&&this.append.apply(this,arguments)}f=da.prototype;f.Ba="";f.set=function(a){this.Ba=""+a};f.append=function(a,b,c){this.Ba+=String(a);if(null!=b)for(let d=1;d<arguments.length;d++)this.Ba+=arguments[d];return this};f.clea