Skip to content

Instantly share code, notes, and snippets.

View Clonkk's full-sized avatar
🌾

Regis Caillaud Clonkk

🌾
  • Datadog
  • Nantes
  • 05:16 (UTC +02:00)
View GitHub Profile
@Clonkk
Clonkk / oomhandler.nim
Created March 17, 2023 17:25
OOM Handlers check
import std/[os]
type
EOutoFMemory = object of OSError
var gOutOfMem: ref EOutOfMemory
new(gOutOfMem) # need to be allocated *before* OOM really happened!
gOutOfMem.msg = "out of memory"
proc handleOOM() {.nimcall, gcsafe, locks:0.} =
@Clonkk
Clonkk / foo.cpp
Last active January 24, 2022 11:14
Nim vs Cpp on avoiding copy
#include "foo.h"
int gid = 0;
Foo::Foo() {
std::cout << "Foo()" << std::endl;
this->val = 0;
this->own = true;
this->id = gid;
gid += 1;
printFoo();
@Clonkk
Clonkk / nimpyTensors.nim
Created October 19, 2021 12:08
Convert Numpy array to Arraymancer
import std/sequtils
import std/strformat
import std/tables
import arraymancer
import nimpy
import nimpy/raw_buffers
proc dtype*(t: PyObject): PyObject =
@Clonkk
Clonkk / interpgrids.nim
Last active September 15, 2021 10:56
Some stuff on grid and interpolation
import numericalnim
import arraymancer
import std/sequtils
import std/browsers
import std/random
import std/sugar
import std/os
randomize()
@Clonkk
Clonkk / nim.cfg
Created August 20, 2021 16:41
Heatmap, Grid, Interpolation
--threads:on
-d:release
-d:blas="openblas"
@Clonkk
Clonkk / NimpyDelaunay.nim
Created January 19, 2021 16:17
Experiments using Delaunay and ClouchTocher with Arraymancer + Nimpy
import numericalnim
import plotly
import nimpy
import arraymancer
import arraymancer/tensor/private/p_accessors
import timelog
import nimpyTensor
import gridutils