iwiwi 備忘録

学んだことを殴り書きます。自分向けのメモです。

2016-11-01から1ヶ月間の記事一覧

数列の和を計算するアルゴリズム

数列の和の計算にアルゴリズムなんて考える余地はあるのか?と思ったが、誤差についても考える場合、単純な方法以外にも複数のアルゴリズムが存在し使われているということを教えてもらった。 Kahan summation algorithm - Wikipedia Pairwise summation - W…

Cython の落とし穴

ポインタを使ってあれこれしたいときの落とし穴を会社で教えてもらった。 numpy の ndarray.data の挙動が型を指定するかによって変わる tutorials NumpyPointerToC · cython/cython Wiki · GitHubここに書かれた方法2でポインタを取り出したい時、引数の型…

Regularized Greedy Forest (RGF) のロス関数をカスタマイズする

Regularized greedy forest (RGF) in C++RGF の公式実装のロス関数をカスタマイズするには、C++ のコードを直接書き換えることになる。とはいえそんなに難しくない。以下の方法がお手軽。 src/comm/AzLoss.cpp を開く AzLoss::getLosses 関数に loss_type ==…

malloc にわざと失敗させる

#define _GNU_SOURCE #include <dlfcn.h> #include <stddef.h> #include <stdlib.h> #include <stdio.h> #include <assert.h> typedef void* (*malloc_t)(size_t); static malloc_t libc_malloc = NULL; static unsigned long malloc_max_called = 1000 * 1000; void initialize() { libc_malloc = (malloc_t)</assert.h></stdio.h></stdlib.h></stddef.h></dlfcn.h>…