トップ «前の日記(2009-01-02) 最新 次の日記(2009-01-05)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|

ToDo:


2009-01-04

_ maxima

http://d.hatena.ne.jp/yshl/20090103#1230992412

ふむふむありがたや。 とりあえずインストールしたけど 拡張子は mac でいいのかなぁ。

(01:57)

_ int vs size_t problem

size_t が under flow してしまう問題は

#include <vector>
using namespace std;
int main() {
    vector<int> v;
    v.push_back(1);
    v.push_back(2);
    v.push_back(3);
    for (size_t i = 0; i < v.size(); i++) {
        printf("%d\n", v[i]);
    }
    for (size_t i = v.size()-1; i < v.size(); i--) {
        printf("%d\n", v[i]);
    }
}

というのをイディオムにするという手を思いついた。 意図はどうしようもなくわかりにくいけど、 コードの変更少なくループを逆転できるのは魅力的…

(11:43)

本日のツッコミ(全5件) [ツッコミを入れる]
_ yshl (2014-05-24 01:54)

Maxima の拡張子ですが、/usr/share/maxima/ 以下にインストールされたファイルの拡張子が mac や dem になっていて、dem はデモ用のファイルのようだったので、mac にしてみました。
ただ、vim は拡張子が mac の場合デフォルトではアセンブリと判定するようなので、mac をアセンブリ用に使う人を考えると max 等にした方が無難かもしれません。

_ shinh (2014-05-24 01:54)

その mac は macro の mac じゃないかなぁ…とか思って気がひけていました。最も無難なのは maxima ですかねえ…

_ kazuho (2014-05-24 01:54)

(size_t)-1 と比較するのではダメなのでしょうか? それを避けたい、ということでしたらすみません。

for (size_t i = v.size() - 1; i != (size_t)-1; i--)

_ kodera (2014-05-24 01:54)

1刻みなら、
for (size_t i = v.size(); i--; )
ループ内の処理によっては、sizeのリロードも減ってお得な感じ、とか。

_ shinh (2014-05-24 01:54)

ありがとうございます。色んな流儀があるものですね…元々書いた時の心境は、インクリメントしてるループをデクリメントに変える時に、3個所変える場所があると間違えがちだけど、こう書くと2個所ですむんだなぁ、とか思ったんじゃないかと思います。いくらでも宗教論争できそうで楽しい部分ですね…

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

2009年
1月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1.shinh(2014-05-24 01:54) 2.yt(2014-05-24 01:54) 3.shinh(2014-05-24 01:54)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h