2018年 1月 の投稿一覧

solidityで2次元配列を1次元配列にして返却する

solidityで2次元配列を1次元配列にして返却する

solidityは現状多次元配列を返却できない。stringの配列も2次元配列扱いだから返却できない。
どうにかして数値データだけでも一撃で取得できないものかと下記のコードを書いてみた。
データをuint256に限定とかすれば一応、一撃で取得できる?これ実用的なのかな。
まだよくわかっていないけれど、viewの関数はgasが一切かからないからこれはこれでいいかも知れない。

solidityのgas消費量調査

solidityのgas消費量調査

例えばバブルソート実行時、
storage領域(メンバ変数的なとこ)を直接何回も書き換えるより、
memory領域で計算終わらせて最後にstorage領域にコピーした方がgasが安いことがわかった。

https://ethfiddle.com/Ge47VLSHtf

Solidityでクイックソート

Solidityでクイックソート

c言語でクイックソート

c言語でクイックソート

Javaでひさびさのポリモフィズム動物園(多態性動物園)

Javaでひさびさのポリモフィズム動物園(多態性動物園)

c言語で配列の要素数を取得するマクロ

c言語で配列の要素数を取得するマクロ

c言語で配列の要素数を取得する関数は作れないと思っていたが、
関数じゃなくてマクロにしたら実装できたっぽい。
これで配列の先頭アドレスを渡す各種関数に配列のサイズを渡さなくて済みそう。

配列の要素数をその都度計算する分、引数で渡すのに比べて
パフォーマンスは低下するけれど気にするほどのことではない。

GET_ARRAY_LENGTHというマクロ

c言語でバブルソートの練習

c言語でバブルソートの練習