spin on the RITZ -129ページ目

なし

なしうめぇ!


硬ぇ!細胞壁硬ぇ!石細胞すげぇ!ペントザン・リグニンありがとう!




秋に食べる梨は美味しいね。ビバ石細胞!

りんごよりも梨の方が好きです。あのジャギジャギ感がすごく好き。りんごも梨も硬いものが好きです。硬派なんです。


みずみずしすぎるほどの梨ですよ。送られてきましたよ。テンションあがりますよ。




リグニンっていうのが、石細胞に一役かっているとか。

ウィキペディアによれば、

『高等植物の木化に関与する高分子のフェノール性化合物』

なんだってー。木かよ!なしの硬さは木に由来してるのかよ!



もういっこ食べよう。

俺は優良ドライバー

なんか


『車校卒業してから1年間無事故無違反偉いで賞』


的なカードが県から送られてきたよ

えぇ、まぁ、なんつーか、ペーパードライバーなんですがね
だって、バイセコーで十分なんだもの。車自体持ってないし


うちの車、今は保険なんたらで自分乗れないし


っつーか家族ほぼ全員ミッション乗りなんだけど……なんで?



友達は
『男は黙ってミッション乗れ!!!!!』
なんて言ってましたけど、正直オートマ運転しやすいしねー



無事故無違反ならなんか安くなるとかないのかねー

double*&型

Yamamoto's Laboratory

先ほど記事に書いたMatrixクラスの話の続きなんですが、上のリンク先でMatrixクラスが見られます。
どんな風に実装したのかな~なんて思いつつ見ていたんですが、添え字演算子のオーバーロードで
double* &operator[](int i){ return(p_top[i]); }
(p_topはdouble**型、コンストラクタでメモリ確保している)

なんていう書かれ方をしているんですが、これがどうにもわからないorz

double*&型って・・・・・・・何?
参照型のポインタってことでいいのかしら?


上記リンクのようにMatrixクラスオブジェクトAを宣言したとして

A[0][1]








・・・・・・・・・・・・・・あ!
最初の[0]がオーバーロードされた添え字演算子で、そのあとの[1]は元々の添え字演算子ってことか!?
まずp_top[0]が返ってきて、それに[1]が合体!ってことでいいのか!?



・・・・・・・・・・・・・・別にoperatorの前の&要らなくね?
試しに&消してみたけど、普通に動くよ。



・・・・・・・・・・・・・・ワカラナス(´・ω・`)

Matrixクラス

昨日手前味噌で書いたMatrixクラスですが、やっぱり先人の知恵ってのはすごい。
適当に「Matrixクラス C++」って調べると、出るわ出るわ。


昔の人が同じようなことを考えてきたように、自分も同じことを考えていました。

行列計算をするなら、行列同士の積とか、実数との積とかいるんでしょうが、昨日書いたプログラムのように演算子オーバーロードを使うと、オブジェクトが返されるときに全ての要素のコピー必要なので、それなりの大きさになるとやっぱり遅くなりますねぇ・・・・

多分他の方法でもコピーは必要になるんだろうけど、どうやって高速にするんだろうか・・・・
数値計算ってのは正確である必要もあるけど、高速である必要もあるしね。



うちの学科は情報工学なんですが、一人だけ物理をガッチガチにやっている先生がいます。

代数学の授業はその先生だったんですが、研究では数百×数百次の行列の積とかを計算するので、高速化はかかせないと言ってましたね。
何使ってるんだろう・・・・・サイラボ?マトラブ?


Matlab便利だよね。確立統計の中心極限定理の章で畳み込みとかの関数使ったけどすげー便利

SWAP×SWAP

C言語の教科書で、ポインタの説明になるとほぼ必ず出てくるswap関数。


普通は交換する2つともう1つ退避用の変数を使って交換するのですが、ちょっと変わったやり方があります。


それは、排他的論理和(XOR)を使うのだ!

#include <stdio.h>

int main(void)
{
    int a = 9;
    int b = 5;

    printf("a = %d , b = %d\n", a, b);

    a = a ^ b;
    b = a ^ b;
    a = a ^ b;

    printf("a = %d , b = %d\n", a, b);

    return 0;
}

これはこれで、結構有名なプログラムだったりするみたい。でもこないだまで知らなかった(苦笑)

どこかのサイトでみたんだけど、どこで見たかは覚えてません。


こういうことがちょちょっと出来るのは面白い。


4bit符号無し2進数であらわす。ちょこっと解説

最初:

a = 1001

b = 0101

a = a ^ b後:

a = 1100

b = 0101

b = a ^ b後:

a = 1100

b = 1001

a = a ^ b後:

a = 0101

b = 1001


う~む、実にスマート