xconf.orgを書き換えていたらログインしてもすぐにログイン画面に戻ってしまうようになった.
対処法は
.Xauthority
.ICEauthority
の二つのファイルを消すことだった.
2013年11月30日土曜日
2013年10月13日日曜日
std::vectorの一部分からstd::stringを生成
std::stringのコンストラクタにイテレータ二つを与えて範囲を指定することができる.
例: std::vector<char> bufの最初の'\n'までをstd::stringとして切り出す
cit = find(buf.begin(), buf.end(), '\n');
std::string s(buf.begin(), cit);
2013年10月2日水曜日
dvipdfmxで日本語フォントを埋め込む
dvipdfmxで日本語フォントを埋め込む
c:/tex/share/texmf-dist/fonts/map/dvipdfmx/base/cid-x.mapを編集する.
rml H DFMINP3.TTC
gbm H DFGOTP5.TTC
rmlv V DFMINP3.TTC
gbmv V DFGOTP5.TTC
.emacsのyatexの設定
(setq tex-command "c:/tex/bin/ptex2pdf -l -ot \"-kanji=utf8 -no-guess-input-enc\" -od \"-f dlbase14.map\"")
(setq dvi2-command "c:/tex/bin/SumatraPDF.exe")
c:/tex/share/texmf-dist/fonts/map/dvipdfmx/base/cid-x.mapを編集する.
rml H DFMINP3.TTC
gbm H DFGOTP5.TTC
rmlv V DFMINP3.TTC
gbmv V DFGOTP5.TTC
.emacsのyatexの設定
(setq tex-command "c:/tex/bin/ptex2pdf -l -ot \"-kanji=utf8 -no-guess-input-enc\" -od \"-f dlbase14.map\"")
(setq dvi2-command "c:/tex/bin/SumatraPDF.exe")
2013年9月25日水曜日
PowerPointのスライドマスターで,マスターに配置した図形や画像を表示しないようにする
背景の書式設定で,「背景グラフィックを表示しない」にチェックを入れる.
マスターに配置した図形は「背景」として扱われるのか!
マスターに配置した図形は「背景」として扱われるのか!
2013年9月4日水曜日
2013年8月24日土曜日
UTF-8 BOMなしはVisual Studio 2010にとってはunicodeではない
UTF-8 BOMなしでコードを書いていますと,
「warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。」
と言われます.いや,Unicodeですがな,と思うのですが,Visual StudioはUTF-8 BOMありでないとUnicodeとして扱ってくれないらしいのです.コメントに日本語を使うのをやめるのがよいでしょうか.
「warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。」
と言われます.いや,Unicodeですがな,と思うのですが,Visual StudioはUTF-8 BOMありでないとUnicodeとして扱ってくれないらしいのです.コメントに日本語を使うのをやめるのがよいでしょうか.
ラベル:
programming,
visual studio,
windows
2013年8月19日月曜日
Freeglut+GLEW+glGenVertexArrays=動かない
OpenGL 4.3に対応したOpenGL Programming Guide (8th Edition)の,最初のプログラムを試そうと思いました.FreeglutとGLEWの最新(安定版)を入れたところ,glGenVertexArraysが正しく動作しません.調べたところ,
http://stackoverflow.com/questions/13558073/program-crash-on-glgenvertexarrays-call
ということで,glutのcontext関係の命令とGLEWが共存するには,glewExperimantal = GL_TRUE;を指定しなければならないようです.
最初のプログラムが素直に動かないってどうよ > 赤本
http://stackoverflow.com/questions/13558073/program-crash-on-glgenvertexarrays-call
ということで,glutのcontext関係の命令とGLEWが共存するには,glewExperimantal = GL_TRUE;を指定しなければならないようです.
最初のプログラムが素直に動かないってどうよ > 赤本
2013年6月8日土曜日
Blackmagic Design Intensity Shuttle for USB 3.0 + Sony Handycam HDR-CV500V
コントロールパネル
Blackmagic Design Control Panel の Set default video standard を HD 1080i 59.94 に設定する.
Media Express (version 3.2)
Edit > Preferences の Project Video Format を HD 1080i 59.94 に設定する.
Handycam
撮影設定 > HD/SD設定 を HD画質 に設定する.
撮影設定 > 録画モード を HD FH に設定する. < 必要ない.
一般設定 > 出力設定 > HDMI解像度 > ハイビジョン画質 を 1080i に設定する.
Blackmagic Design Control Panel の Set default video standard を HD 1080i 59.94 に設定する.
Media Express (version 3.2)
Edit > Preferences の Project Video Format を HD 1080i 59.94 に設定する.
Handycam
撮影設定 > HD/SD設定 を HD画質 に設定する.
一般設定 > 出力設定 > HDMI解像度 > ハイビジョン画質 を 1080i に設定する.
ラベル:
videocapture,
windows
2013年4月17日水曜日
bashの書式いろいろ
他のシェルスクリプトを呼び出す
source ./common.sh
文字列を分割する
$aをカンマで分割したい場合IFS=','$1,$2,...に分割された部分文字列が順次入る.
set -- $a
IFSがデリミタ.
関数
関数の定義はfuncname() {引数は,$1,$2,...に入る.
:
}
返り値は,echo で返す.
関数は`funcname`で呼び出す.
引数はコマンドラインでの作法と同じ.
簡単な例:
to_cyg() {
echo "/cygdrive/${1/:/}"
}
data_basedir="c:/data/trimming/"
src_dir="${data_basedir}src/"
cyg_src_dir=`to_cyg ${src_dir}`
ローカル変数
関数内でのみ有効なローカル変数の使用local $filename=$1
計算
bash限定とのことだが(未確認),exprを明示的に呼び出さなくてもよい記述方法として,$(( と $)) で囲む方法がある.中では,変数名に$を付けなくてよい.
local xmin=$2
local ymin=$3
local xmax=$4
local ymax=$7
local width=$((xmax - xmin + 1))
local height=$((ymax - ymin + 1))
配列
配列への代入は,()でくくる.p=(`split_answer ${answer}`)通常の変数と同じように使用できる.添字に変数を使う場合,$は不要.
p_width=5
:
${p[p_width]}
2013年4月16日火曜日
bashでファイル名操作
#! /usr/bin/sh
f="/cygdrive/c/data/trimming/src/JPCNN093.IMG"
echo "full: $f"
directory=${f%/*}
echo "directory: $directory"
other_directory=${directory/src/dst}
echo "other_directory: $other_directory"
basename=${f##*/}
echo "basename: $basename"
filename=${basename%.*}
echo "filename: $filename"
extension=${basename##*.}
echo "extension: $extension"
stringstreamをatoiの代わりに使う
そこまでして無理に使わなくてもという気もしますが.
#include <sstream>
std::stringstream s;
s << argv[1];
s >> width;
s.clear();
s << argv[2];
s >> height;
これで,
width = atoi(argv[1]);
height = atoi(argv[2]);
と同じことができる.
stringstreamを使いまわすときに,s.clear() すること.
入出力をまとめることもできるけれども,文字列の間に区切り文字が必要.
std::stringstream s;
s << argv[1] << " " << argv[2];
s >> width >> height;
2013年4月4日木曜日
2013年2月17日日曜日
cudaMallocの速度
cudaMallocに要する時間の測定結果.
環境
環境
- windows 8 64bit
- visual c++ 2010 express
- cuda 5.0
- intel core-i5 3317 1.70GHz
- GeForce GT 620M
- cudaMallocとcudaFreeだけ,転送はしない
- 0.3msec / cudaMalloc()
- サイズ4Mくらいまでは一定時間と考えてよい
- 大規模な処理なら無視できるが,時間にシビアな用途(画像処理など,1/60=16.7msecで作業を終わらせる必要があるなど)では,複数回実行すると実行時間に影響を与えるレベル.
ラベル:
c++,
CUDA,
programming,
windows
2013年2月14日木曜日
typedefされている型が,同じかどうか調べる
typedefされている型が,同じかどうか調べる.
typeidを使う.
typeinfoをインクルードする.
typeidを使う.
typeinfoをインクルードする.
#include <iostream>
#include <typeinfo>
typedef int type_a;
typedef int type_b;
typedef short type_c;
int main(int argc, char **argv)
{
if (typeid(type_a) == typeid(type_b)) {
std::cout << "same" << std::endl;
} else {
std::cout << "different" << std::endl;
}
if (typeid(type_a) == typeid(type_c)) {
std::cout << "same" << std::endl;
} else {
std::cout << "different" << std::endl;
}
return 0;
}
2013年2月11日月曜日
Visual C++ でwarningの抑制
ソース単位:
プロジェクトのプロパティ > 構成プロパティ > C/C++ > 詳細設定 > 指定の警告を無効にする に番号を指定
#pragma warning(disable: 4819)プロジェクト単位:
プロジェクトのプロパティ > 構成プロパティ > C/C++ > 詳細設定 > 指定の警告を無効にする に番号を指定
2013年2月10日日曜日
STLのfor_each
お題: std::vector<std::list<int> > の,std::list<int> の要素を全て削除する.
std::for_each() を使えばよろしい,と思った.
以下,ダメな例:
追記: しかしながら,メンバ関数をfor_eachの第3引数にする場合は,bind1st と mem_ref を使うのが定石らしく,かつ,参照呼び出しは,boostまで導入せねばならないようだ.読んだだけで未確認.
http://hippos-lab.com/blog/node/319
そこまでせなあかんのやったら,もう明示的にループまわすわ...
std::for_each() を使えばよろしい,と思った.
以下,ダメな例:
#include <algorithm> #include <list> #include <vector> void clear(std::list<int> l) { l.clear(); } int main(int argc, char **argv) { std::vector<std::list<int> > data; /* snip */ std::for_each(data.begin(), data.end(), clear); /* snip */ return 0; }以下,動く例:
#include <algorithm> #include <list> #include <vector> void clear(std::list<int> &l) { l.clear(); } int main(int argc, char **argv) { std::vector<std::list<int> > data; /* snip */ std::for_each(data.begin(), data.end(), clear); /* snip */ return 0; }どこが違うか? for_eachの引数として与える関数の引数を参照渡しにするかどうか,だけ.しかも,宣言部のみ.また値渡しの方は,全要素コピーが発生している? 気をつけよう.
追記: しかしながら,メンバ関数をfor_eachの第3引数にする場合は,bind1st と mem_ref を使うのが定石らしく,かつ,参照呼び出しは,boostまで導入せねばならないようだ.読んだだけで未確認.
http://hippos-lab.com/blog/node/319
そこまでせなあかんのやったら,もう明示的にループまわすわ...
2013年2月1日金曜日
同じ実行ファイルがcygwinにもある
ある実行ファイルについて,cygwinに同じ名前の実行ファイルが存在する場合に,cygwin外を優先して実行するには,PATHの設定を.bach_profile中で以下のように行う(例はpythonとtexlive).
export PATH=/cygdrive/c/Python27:/cygdrive/c/texlive/2012/bin/win32:$PATH
TeXで条件分岐
ifthenパッケージを用いると実現できる.
以下の例では,ColorFiguresを1にすると「color」,1以外にすると「mono」と表示される.
以下の例では,ColorFiguresを1にすると「color」,1以外にすると「mono」と表示される.
\documentclass{jarticle} \usepackage{ifthen} \def\ColorFigures{0} \begin{document} \ifthenelse{\equal{\ColorFigures}{1}}{color}{mono} \end{document}
登録:
投稿 (Atom)