山口屋~活動日誌~

私生活で主な出来事をピックアップ

フーリエ変換 FFT 実数

2021-07-23 12:56:03 | ソフトウェア開発
通常のFFTの入出力は複素数となるが、実数のみの入力であればFFTの計算量は減らせるはずである。
Ooura's Mathematical Software Packages:FFT (高速フーリエ・コサイン・サイン変換) の概略と設計法
書籍で解説されているものはなかなか見つからず、今のところ下記だけである。
金田康正:並列数値処理、並列数値処理シリーズ9、pp.192-194、2010、コロナ社
森正武、名取亮、鳥居達生:数値計算、岩波講座情報科学18、pp.172-174、1982、岩波書店(計算量を減らすための式変形の余地が残る)

複素数入力のFFTとは別に、実数のみ入力のFFTの専用ルーチンを用意する場合は時間間引きアルゴリズムでないと簡潔な対称性が現れない旨の記述が、下記のページの7.1(22ページ)あたりにある。
ブライアン・ガウ(ブライアン・ガウ):FFT アルゴリズム(PDF)
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Open XML SDK msi インストーラー C# Office Excel Word PowerPoint

2021-07-22 12:50:35 | ソフトウェア開発
C# で Microsoft Office を操作するなら、公式では Open XML SDK というパッケージがあるが、インストーラーがなく GitHub での公開となっている。

Visual Studio のプロジェクト毎に参照先として指定するのではなく、ダウンロードしようとバッチを作成。コマンドの意味は詳しいところまではよくわかりません。
<バッチ内のコマンド>
@rem NuGet プロバイダーをインストール
powershell -NoProfile -ExecutionPolicy unrestricted -Command "Install-PackageProvider -Name NuGet -Force -ForceBootstrap -Scope CurrentUser"
@rem Open XML SDK をインストール(ダウンロード)
powershell -NoProfile -ExecutionPolicy unrestricted -Command "Install-Package -Name DocumentFormat.OpenXml -Source https://www.nuget.org/api/v2 -Force -ForceBootstrap -Scope CurrentUser -SkipDependencies"

-Force -ForceBootstrap -Scope CurrentUser は無人インストールするための管理者権限絡みの設定
-Source https://www.nuget.org/api/v2 は付けないとエラーになるらしい。
Qiita:NuGetからパッケージをダウンロードする
-SkipDependencies は依存関係を無視
GitHub:Installation failed in powershell, got Dependency loop detected for package 'squirrel.windows' · Issue #1671

上記のコマンドで、%UserProfile%\AppData\Local\PackageManagement\NuGet\Packages にダウンロードされる。

C# の名前空間には下記あたりを追加すればよいらしい。
Ararami Studio:C#でExcelファイルを操作する (Open XML) 準備編
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;

Open XML SDK の使い方はこれから勉強する。
@IT:ExcelなしでExcelファイルを操作するには?(純正SDK編)
Ararami Studio:C#でExcelのシート一覧を取得する (Open XML)
浦下.com:Open XML SDK for Officeのダウンロード、Excel、Word、PowerPointに書き込み出来るSDK
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

例外 エラー test dword ptr [eax],eax ; probe page. chkstk.asm

2021-07-15 03:46:38 | ソフトウェア開発
test dword ptr [eax],eax ; probe page. chkstk.asm

Visual Studio でプログラムを実行中、上記箇所で例外が発生するのは、オーバーフローが原因とのこと。固定長配列などで大きいデータを取ろうとしたときに起きることが多いらしく、Windowsのスタック領域は2MBらしい。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

エラー C1853 プリコンパイル ヘッダー ファイルが旧バージョンのコンパイラで作成されています。

2021-07-15 03:23:51 | ソフトウェア開発
エラー C1853 プリコンパイル ヘッダー ファイルが旧バージョンのコンパイラで作成されています。また、C++ のプリコンパイル済みヘッダー ファイルを C で使用しています (その逆も考えられます)。

Visual Studio での上記エラーメッセージは、通常ソースファイルの拡張子が、プリコンパイル ヘッダー ファイルをコンパイルするためのソースファイル(stdafx.cpp や pch.cpp)の拡張子と異なっていると発生する。

対処は、ソースファイルのプロパティでプリコンパイル済ヘッダーを使用しない設定にする。設定後は、'#include "stdafx.h"'または'#include "pch.h"'があってもエラーは出ない。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

エラー C1010 プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。

2021-07-15 02:59:10 | ソフトウェア開発
エラー C1010 プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか?

エラー C1010 プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "pch.h"' をソースに追加しましたか?

Visual Studio での上記エラーメッセージは、ソースファイルのプロパティでプリコンパイル済ヘッダーを使用する設定になっているのに、'#include "stdafx.h"'または'#include "pch.h"'が無い場合に生じる。

対処は、ソースファイルのプロパティで、プリコンパイル済ヘッダーを使用しない設定にする。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする