Debian 11 (bullseye) - GCC 11.2 インストール(ソースビルド)! (2022-05-04)
Debian GNU/Linux 11 へ最新版 GCC をソースビルドでインストールする方法についての記録です。
Debian GNU/Linux 11 へ最新版 GCC をソースビルドでインストールする方法についての記録です。
Debian GNU/Linux 10.9.0 へ最新版 GCC をソースビルドでインストールする方法についての記録です。
LMDE 2 (Linux Mint Debian Edition 2) へ最新版 GCC をソースビルドでインストールする方法についての記録です。
こんにちは。 前回、 BBP(Bailey, Borwein, Plouffe) の公式を使用して任意の桁の円周率を16進で計算するアルゴリズムを C++ で実装しました。 C++ - 円周率計算(BBP の公式使用)! 今回は、同じアルゴリズムを Ruby で実装してみました。
こんにちは。 円周率を計算する際、小数点以下1桁目から希望の桁までを全て計算する方法以外に、希望の桁だけを計算する方法もあります。 小数点以下1桁目から希望の桁までを全て計算した後、任意の桁の値が正しいかどうかを検証するために使用したりします。 今回は BBP(Bailey, Borwein, Plouff...
こんにちは。 前回 C++ で「べき剰余」のアルゴリズムを実装しました。 C++ - べき剰余アルゴリズムの実装! 今回は Ruby で実装してみました。
こんにちは。 C++ に「べき剰余アルゴリズム」を実装したい事案があったので、記録しておきます。
こんにちは。 C や C++ で多倍長浮動小数点演算を行いたく MPFR ライブラリをソースビルドでインストールしてみました。
こんにちは。 今、円周率を計算するための公式で最も高速だと言われているのは、 Ramanujan(ラマヌジャン)系の「Chudnovsky(チャドノフスキー)の公式」です。 今回は、C++ で Chudnovsky の公式を使用して円周率を計算してみました。
C++ で Twitter Streming API を使用してツイート等の情報を取得する方法についての記録(ソースコードの紹介)です。 (C++ にそれほど精通している訳でもありません。ご承知おきください)
Linux Mint 17 や CentOS 7.0 では C++ 用 YAML パーサ yaml-cpp の最新版 0.5 系 をインストールして使用出来ましたが、CentOS 6.6 では 0.5 系のインストールができなかったので、旧バージョンの 0.3 系をインストールして使用してみました。 使用方法も...
各種プログラミング言語、 C, C++, Objective-C, Java, Scala, Ruby, Python でベンチマークテストを行ってみました。
GNU C++ で JSON データを読み込んで解析する方法についての記録です。 ライブラリは定番の、そしてヘッダファイルの配置だけで済む “picojson” を使用します。(他に JSON-C や rapidjson 等もあるかと思いますが)
ccache は、コンパイラ・キャッシュで前回のプリプロセスの結果を再利用して次回以降のコンパイル時間を大幅に短縮する。 よって、ビルド(コンパイル+リンク)が大幅に高速化されます。
C++ で YAML ファイルの内容を解析する方法についての記録です。 (YAML の詳細についてはここでは説明しませんが、簡単に言えばテキストの設定ファイルだと思っていればよい) (C++ にそれほど精通している訳でもありません。ご承知おきください)
C++ で UTF-8 の文字列から部分文字列を抽出する方法についての記録です。 前回の「C++ - UTF-8 文字列の文字数をカウント!」の応用です。 (C++ にそれほど精通している訳でもありません。ご承知おきください)
C++ で UTF-8 の文字列の文字数をカウントする方法についての記録です。 (C++ にそれほど精通している訳でもありません。ご承知おきください)
こんばんは。 パッケージでインストールされる GCC(GNU Compiler Collection) はバージョンが若干古く、新しいバージョンで搭載された機能を試す(使用する)ことができません。 (例えば、旧バージョンでは boost ライブラリを使用しなければならなかった “regex” が標準で使用できる...
パッケージでインストールされる GCC(GNU Compiler Collection) はバージョンが若干古く、新しいバージョンで搭載された機能を試す(使用する)ことができません。 (例えば、旧バージョンでは boost ライブラリを使用しなければならなかった “regex” が標準で使用できるようになっている...
C++ で twitcurl ライブラリを使用して Twitter へポストする方法についての記録です。 (C++ にそれほど精通している訳でもありません。ご承知おきください)
C++ から MariaDB(MySQL) へ接続する方法についての記録です。 (C++ にそれほど精通している訳でもありません。ご承知おきください)
前回、前々回 C++ で Boost(Regex) ライブラリを利用して正規表現マッチングを行う方法について紹介しました。 C++ - Boost で正規表現マッチング! C++ - Boost で正規表現マッチング(Iterator 版)! 今回は正規表現でマッチした部分を置換する方法についての...
前回 C++ で Boost(Regex) ライブラリを利用して正規表現マッチングを行う方法について紹介しました。 C++ - Boost で正規表現マッチング! 今回はイテレータを使用したバージョンについての記録です。 (C++ にそれほど精通している訳でもありません。ご承知おきください)
C++ で Boost(Regex) ライブラリを利用して正規表現マッチングを行う方法についての記録です。 C++ 4.9 以降であれば標準ライブラリで用意されていますが、今回は 4.8.2 の環境を想定しているので Boost を使用します。 (C++ にそれほど精通している訳でもありません。ご承知おきくだ...
気分転換に CentOS サーバ構築以外の話題にします。 C++ で ShiftJIS で書かれたテキストファイルを UTF-8 に変換する方法についての記録(簡単な例)です。 (それほど洗練されたソースコードでもありません。ご承知おきください)
CentOS サーバ構築関連の記事の合間に、気分転換で別カテゴリのストック記事を。 C++ で Web サイトの HTML を取得してファイルに保存する方法についての記録です。 (それほど洗練されたソースコードでもありません。ご承知おきください)
各種ソート処理について C++ で実装して速度を計測してみました。 以下、各種ソート処理の概要と C++ ソースです。
前回は「ヒープ」の生成を「上方移動」で行うアルゴリズム、C++ での実装について紹介しました。 C++ - ヒープ生成(上方移動)! 今回は「下方移動」によるヒープの生成についてです。 以下、簡単な説明と C++ ソースコードの紹介です。
今回は「ヒープ」という情報処理試験等でもよく登場する「木(二分木)」のアルゴリズムについてです。 以下、簡単な説明と C++ ソースコードの紹介です。
今回は、最小二乗法で近似方程式で解くアルゴリズムを C++ で実装してみました。 以下、簡単な説明と C++ ソースコードの紹介です。
今回は、線形計画法を「シンプレックス法」で解くアルゴリズムを C++ で実装してみました。 以下、簡単な説明と C++ ソースコードの紹介です。
ここ最近、連立方程式を「ガウス・ジョルダン法」や「ガウス・ジョルダン(ピボット選択)法」で解くアルゴリズムを C++ で実装したことを紹介しました。 C++ - 連立方程式解法(ガウス・ジョルダン法)! C++ - 連立方程式解法(ガウス・ジョルダン(ピボット選択)法)! 今回は、連立方程式を「ガ...
先日は、連立方程式を「ガウス・ジョルダン法」で解くアルゴリズムを C++ で実装したことを紹介しました。 C++ - 連立方程式解法(ガウス・ジョルダン法)! 今回は、連立方程式を「ガウス・ジョルダン法」を応用した「ガウス・ジョルダン(ピボット選択)法」で解くアルゴリズムを C++ で実装してみました...
今回は、連立方程式を「ガウス・ジョルダン法」で解くアルゴリズムを C++ で実装してみました。 以下、簡単な説明と C++ ソースコードの紹介です。
以前、「フーリエ級数展開」を C++ で実装したり、「複素フーリエ級数展開」についての記事を紹介しました。 C++ - フーリエ級数展開 複素フーリエ級数展開! 今回は、「フーリエ変換・離散フーリエ変換」、特に C++ での離散フーリエ変換の実装についてです。 それほど、深くは掘り下げていません。...
今回は、「フーリエ級数展開」を C++ で実装してみました。 ちなみに、テイラー展開は以前紹介しています。 C++ - テイラー展開 ( exp(x) )! C++ - テイラー展開 ( cos(x) )!
これまで多倍長整数の演算については話をしていましたが、今回は多倍長の浮動小数点同士の加減算について考えてみました。
多桁(多倍長)整数同士の大小の比較についてです。 もちろん、プログラミング言語の整数型に収まるような大きさの整数ではなく、整数型で扱えないような大きな整数での話です。 多桁(多倍長)演算する場合、大抵は配列を使用します。今回も配列を使用した(よくある)方法を試してみました。
これまで、「標準(筆算)法」や「Karatsuba 法」による多桁同士の乗算アルゴリズムの C++ への実装を紹介しました。 C++ - 多桁乗算(標準(筆算)法)! C++ - 多桁乗算(Karatsuba 法)! 今回は、「Karatsuba 法」の上位にある「Toom-Cook 法」アルゴリ...
先日、「標準(筆算)法」による多桁同士の乗算アルゴリズムを C++ に実装してみました。 C++ - 多桁乗算(標準(筆算)法)! 今回は、「標準(筆算)法」より高速に乗算が可能な「Karatsuba 法」アルゴリズムを C++ で実装してみました。
以前、多桁(データ型を超える整数)の加減乗除アルゴリズムを C++ に実装してみました。 C++ - 多桁計算! C++ - 多桁計算(その2)! ただ、乗算は一方が多桁でもう一方が小さい桁数と限定していました。 今回は、「標準(筆算)方式」による多桁同士の乗算アルゴリズムを C++ で実装して...
以前、多桁(データ型を超える整数)の加減乗除アルゴリズムを C++ に実装してみました。 C++ - 多桁計算! 今回は、少し改良してみました。
今まで、円周率を Arctan 系の公式で多桁計算する概念、C++ アルゴリズムを紹介してきました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! C++ - 円周率計算(オイラーの公式)! C++ - 円周率計算(オイラーの公式(...
今まで、円周率をマチンの公式や Klingensitierna の公式、オイラーの公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! C++ - 円周率計算(オイラーの公式)! ...
今まで、円周率をマチンの公式や Klingensitierna の公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! C++ - 円周率計算(オイラーの公式)! 今回も、同様に...
今まで、円周率をマチンの公式や Klingensitierna の公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! 今回も、同様に \(\arctan\)系の公式である「オイラー...
以前、円周率をマチンの公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! 今回は、マチンの公式同様 \(\arctan\)系の公式である「Klingenstierna の公式」を使用して、円周率 \(\pi\) を計算してみました。 当然、プログラ...
以前、コンピュータで大きな桁数を計算する概念・アルゴリズムを紹介しました。 C++ - 多桁計算! 今回は、階乗(n!)を多桁計算するアルゴリズムについてです。
以前、コンピュータで大きな桁数を計算する概念・アルゴリズムを紹介しました。 C++ - 多桁計算! 今回は、ネイピア数(自然対数の底) \(e\) を多桁計算するアルゴリズムについてです。 当然、プログラミン言語そのものが保有している関数は使用しません。級数展開して計算します。
先日は、コンピュータで大きな桁数を計算する概念・アルゴリズムを紹介しました。 C++ - 多桁計算! 今回は、その概念を応用して円周率 \(\pi\) を計算してみました。 使用した公式は、マチン(Machin)の公式です。 当然、プログラミン言語そのものが保有している三角関数は使用しません。級数展...
通常、C言語等では整数型で扱える数値を超える値の加減乗除はそのままでは計算不可能です。 今回は、データ型を超える整数の加減乗除の方法についてです。
何組かの x, y データが与えられ、これらの点全てを通る補間多項式を求める方法に「ニュートン補間」というものがあります。 先日は「ラグランジュ補間」について紹介しました。 C++ - ラグランジュ補間! 以下、一部 \(\TeX\) で記載。
何組かの x, y データが与えられ、これらの点全てを通る補間多項式を求める方法に「ラグランジュ補間」というものがあります。 以下、一部 \(\TeX\) で記載。
GNU C/C++ で autoconf, automake を使って make する方法についての記録です。 個人で簡単な GNU C/C++ ソースをコンパイルするなら、gcc, g++ コマンドを使用すればいいのですが、ソースが大掛かりになるとファイルも増えて、コンパイルが面倒になってきます。 また、そ...
少し前には、\(f(x)=0\) の解を2分法により求める C++ アルゴリズムについて紹介しました。 C++ - 非線形方程式の解法(2分法)! 今日は、方程式 \(f(x)=0\) の解をニュートン法により求める C++ アルゴリズム についてです。 ニュートン法の概念・アルゴリズムは以下の通り。
方程式 \(f(x)=0\) の解を2分法により求める C++ アルゴリズム についてです。 まず、1次方程式(つまりグラフ上で直線)以外の方程式を非線形方程式と呼びます。 そして、このような方程式の根を求める方法に「2分法」というものがあります。
先日、\(e ^ {x}\)をテイラー展開を用いて計算する C++ アルゴリズム について紹介しました。 C++ - テイラー展開 [ exp(x) ]! 今日は、\(\cos x\)をテイラー展開を用いて計算してみました。 ※以下、一部 \(\TeX\) で記載
今回は \(e ^ {x}\)をテイラー展開を用いて計算する C++ アルゴリズム についてです。 ※以下、一部 \(\TeX\) で記載 まず、
関数 \(f(x)\) の定積分を微小区間に分割して近似値として求める方法を数値積分と言います。 そして、以前「台形則による定積分」についてお話ししました。 C++ - 数値積分(台形則による定積分)! Ruby - 数値積分(台形則による定積分)! 今回は、「シンプソン則による定積分」を C+...
関数 \(f(x)\) の定積分を微小区間に分割して近似値として求める方法を数値積分と言います。 今回は、数値積分の中でも「台形則による定積分」を C++ で挑戦してみました。
少し前に、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについて紹介しました。 C++ - 一様乱数(線形合同法)! C++ - 一様乱数の一様性検定(カイ2乗検定)! 今回は、正規乱数を発生させて実際に正規分布になっているかを検証してみました。 まず、「正規乱数」とは「正規...
少し前に、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについて紹介しました。 C++ - 一様乱数(線形合同法)! 今回は、それらの生成した一様乱数が本当に一様かどうかを「カイ2乗検定」で検証してみました。
今日は、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについてです。 まず、 「一様乱数とは、ある有限の区間内で全ての実数が一様に(同じ濃度で)現れるような擬似乱数のことである。」 です。
今日は、任意の自然数を素因数分解する C++ によるアルゴリズムについてです。 まず、 自然数 p (> 1) が 1 と p の他に正の約数を持たない場合、p を素数という。 です。そして、 任意の自然数を素数の積で表すことを、素因数分解という。但し、1 の素因数分解は 1 と定義す...
今日は、2 以上 n 以下の自然数の中から素数を抽出(素数以外を排除)する C++ によるアルゴリズムについてです。 まず、 「自然数 p ( > 1 ) が 1 と p の他に正の約数を持たない場合、p を素数という。」 です。 そして、簡単に言うと、自然数の配列をふるいに見立てて素数以外を排除してい...
今日は、任意の自然数が素数か否かを判定する C++ によるアルゴリズムについてです。 まず、 自然数 p ( > 1 ) が 1 と p の他に正の約数を持たない場合、p を素数という。 単純に考えると、 与えられた自然数 p が素数であるか否かを判定するには、2 から p まで順に割...
C++ と Ruby で、ユークリッドの互除法を使って2つの自然数の最大公約数を求めるプログラムを作成してみました。 まず、ユークリッドの互除法について、 「自然数 a, b ( a > b ) について、a を b で割った剰余を r とすると、a と b の最大公約数は b と r の GCD に等し...
最近 C++ (GNU版) も弄っているので、練習がてら円周率を計算するプログラムを作成しました。 と言っても、モンテカルロ法です。 モンテカルロ法、その他円周率の計算等については各自調べてください。
【はじめに】 Yahoo!ファイナンス掲載情報の自動取得(スクレイピング)は禁止されています。(参照) 以下の記事を参考にすることもお勧めしません。 こんばんは。 当方、今まで Ruby + Hpricot や Java + Tidy で Yahoo!ファイナンスからデータを取得してきました。 しかし...
当方が普段使用している Cygwin 1.7.15 には、パッケージからインストール可能な GCC (GNU Compiler Collection) 3.4.4 が入っています。 しかし、当記事執筆時点では GCC は 4.7.1 が最新のようです。 C++ でプログラミングしたいものがあるため、GCC の最...