前スレ
C++相談室 part158
https://mevius.5ch.net/test/read.cgi/tech/1645239402/
C++相談室 part160
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2022/04/15(金) 08:39:32.42ID:WMzvufu2717デフォルトの名無しさん
2022/05/07(土) 20:11:08.30ID:ihw8CMAo (2^2)^35か
2^(2^35)かどっちだ?
C++的には前者だが数学的には後者だな
2^(2^35)かどっちだ?
C++的には前者だが数学的には後者だな
718デフォルトの名無しさん
2022/05/07(土) 20:28:26.23ID:hLdUgsLX719デフォルトの名無しさん
2022/05/07(土) 21:33:22.65ID:GCz/eJtw >>687
/etc/pm/sleep.d
/etc/pm/sleep.d
720デフォルトの名無しさん
2022/05/08(日) 00:59:03.56ID:fONWhazS べき乗は右結合というのは宇宙の始まりから決まってゐる
なぜなら、(2^2)^35 = 2^(2*35)であって1重のべきにすぎないから左結合の多重冪は多重である意味が無い
なぜなら、(2^2)^35 = 2^(2*35)であって1重のべきにすぎないから左結合の多重冪は多重である意味が無い
721デフォルトの名無しさん
2022/05/08(日) 01:01:37.38ID:fONWhazS >>717
ここでの演算子^はXORの意味ではないから念のため
ここでの演算子^はXORの意味ではないから念のため
722デフォルトの名無しさん
2022/05/08(日) 06:50:42.66ID:RoE3BV2z 2+2+2 = 2*3
2*2*2 = 2^3
2^2^2 = 2↑3
2↑2↑2 = 2↑↑3
2*2*2 = 2^3
2^2^2 = 2↑3
2↑2↑2 = 2↑↑3
723デフォルトの名無しさん
2022/05/08(日) 06:51:37.65ID:RoE3BV2z 途中で送信しちまった
これをtemplateで一般化できるか?
これをtemplateで一般化できるか?
724デフォルトの名無しさん
2022/05/08(日) 07:50:20.51ID:21iaPdPG ここの定義で実装してみた
https://ja.wikipedia.org/wiki/クヌースの矢印表記#定義
#include <iostream>
template<int level>
struct tower {
template<class T, class U>
constexpr static auto op(T t, U u) {
T ret{1};
for (U i = 0; i < u; i++) ret = tower<level - 1>::op(t, ret);
return ret;
}
};
template<> // pow(t, u);
struct tower<1> {
template<class T, class U>
constexpr static auto op(T t, U u) {
T ret{1};
for (U i = 0; i < u; i++) ret *= t;
return ret;
}
};
int main() {
std::cout << tower<2>::op(uint64_t(3), 3) << std::endl;
}
https://ja.wikipedia.org/wiki/クヌースの矢印表記#定義
#include <iostream>
template<int level>
struct tower {
template<class T, class U>
constexpr static auto op(T t, U u) {
T ret{1};
for (U i = 0; i < u; i++) ret = tower<level - 1>::op(t, ret);
return ret;
}
};
template<> // pow(t, u);
struct tower<1> {
template<class T, class U>
constexpr static auto op(T t, U u) {
T ret{1};
for (U i = 0; i < u; i++) ret *= t;
return ret;
}
};
int main() {
std::cout << tower<2>::op(uint64_t(3), 3) << std::endl;
}
725デフォルトの名無しさん
2022/05/08(日) 08:36:28.64ID:vKAQqA9f726デフォルトの名無しさん
2022/05/08(日) 08:41:34.72ID:vKAQqA9f >既に述べた通り、1重のクヌースの矢印は冪乗を表す。また、2重のクヌースの矢印はテトレーションを表す。
{\displaystyle a\uparrow b=a^{b}} a\uparrow b = a^b
{\displaystyle a\uparrow \uparrow b={}^{b}a} a\uparrow\uparrow b = {}^b a
クヌースの矢印の矢印が一個ずつ足りないんじゃない?
{\displaystyle a\uparrow b=a^{b}} a\uparrow b = a^b
{\displaystyle a\uparrow \uparrow b={}^{b}a} a\uparrow\uparrow b = {}^b a
クヌースの矢印の矢印が一個ずつ足りないんじゃない?
727デフォルトの名無しさん
2022/05/08(日) 10:21:28.93ID:RTAOPX4V728デフォルトの名無しさん
2022/05/08(日) 11:30:55.36ID:vKAQqA9f729デフォルトの名無しさん
2022/05/08(日) 12:20:02.96ID:sGLUGFq3 >>728
タイムアウトすっぞ
タイムアウトすっぞ
730デフォルトの名無しさん
2022/05/08(日) 12:29:28.95ID:ZM5mEHZG 昔C++で少ない文字数で巨大な数を作るってのやったなあ
intは十分大きいとしてint main();の戻り値を競うって感じ
intは十分大きいとしてint main();の戻り値を競うって感じ
731デフォルトの名無しさん
2022/05/08(日) 12:51:18.92ID:riShKp28732デフォルトの名無しさん
2022/05/08(日) 13:13:57.96ID:sRJ9WYdm return ~0;で終わりでは?
733デフォルトの名無しさん
2022/05/08(日) 13:25:31.24ID:nwquViMM -1だからあんまり大きくないんじゃね?
734デフォルトの名無しさん
2022/05/08(日) 14:25:43.97ID:E3hRzs1K >>727
??
??
735デフォルトの名無しさん
2022/05/08(日) 14:51:21.54ID:fONWhazS FFTによる積の多倍長演算完全に理解した!
適当な基数の下で表した例えば4桁の数 (a b c d) と (c d e f) を筆算で計算したとき現れる8個の積和
(例えば最長のやつはaf + be + cd + dc)
というのは、 (a b c d) と (c d e f)をそれぞれ関数波形とみなしたf(n)、g(n)の畳み込み
h(k) = Σ[k=0..3]f(k)g(3-k) (k=0..7)
に他ならない(f(k)やg(k)の範囲外は0とみなす
ということは、h(k)、f(k)、g(k)それぞれのDFT(この場合は1の8乗根を基底とするやつ)をそれぞれH(k)、F(k)、G(k)として
H(k) = F(k) * G(k)
となるわけやなのでそうやって求めたH(k)を逆DFTしたらh(k)の値が得られているというしくみ
(このh(k)を基数B内に収まるようにcarry_and_fix()したら最終的な8桁の並びが得られる、
適当な基数の下で表した例えば4桁の数 (a b c d) と (c d e f) を筆算で計算したとき現れる8個の積和
(例えば最長のやつはaf + be + cd + dc)
というのは、 (a b c d) と (c d e f)をそれぞれ関数波形とみなしたf(n)、g(n)の畳み込み
h(k) = Σ[k=0..3]f(k)g(3-k) (k=0..7)
に他ならない(f(k)やg(k)の範囲外は0とみなす
ということは、h(k)、f(k)、g(k)それぞれのDFT(この場合は1の8乗根を基底とするやつ)をそれぞれH(k)、F(k)、G(k)として
H(k) = F(k) * G(k)
となるわけやなのでそうやって求めたH(k)を逆DFTしたらh(k)の値が得られているというしくみ
(このh(k)を基数B内に収まるようにcarry_and_fix()したら最終的な8桁の並びが得られる、
736デフォルトの名無しさん
2022/05/08(日) 14:53:42.06ID:fONWhazS FFTする高速化方法はここ↓見たらワカル(wは1のN乗根なので、w^N = 1とかw^(N/2)=-1とかいうのが式変形の要
https://qiita.com/peria/items/fbdd52768b4659823d88
いまちょっと他の用事で手が離せないので48年以内に累乗根の誤差の影響が無い形で実装してみるわサーセン;;;
そしたら漏れも勝ちや!
何と戦ってるのかは知らんが、
https://qiita.com/peria/items/fbdd52768b4659823d88
いまちょっと他の用事で手が離せないので48年以内に累乗根の誤差の影響が無い形で実装してみるわサーセン;;;
そしたら漏れも勝ちや!
何と戦ってるのかは知らんが、
737デフォルトの名無しさん
2022/05/08(日) 15:17:10.76ID:fONWhazS スマン誤記があったorz
畳み込みの式は正しくはこうっす
h(τ) = Σ[k=0..3]f(k)g(τ-k) (τ=0..7)
畳み込みの式は正しくはこうっす
h(τ) = Σ[k=0..3]f(k)g(τ-k) (τ=0..7)
738デフォルトの名無しさん
2022/05/08(日) 15:59:36.72ID:E3hRzs1K スペクトラムアナライザーでも作るのか
739デフォルトの名無しさん
2022/05/09(月) 00:09:35.20ID:yzB2nwTj740デフォルトの名無しさん
2022/05/09(月) 03:52:17.59ID:E3g8JMTZ 「~(1<<31)」 (8文字)が短かくなりそうだがint=4byte+オーバーフローの未定義動作を含むからNGという寸法か
しかし「123456789」もint=4byteが前提になってるしどうやって遊ぶんだ?
「std::numeric_limits<int>::max()」でとりあえずint最大値が帰るが
しかし「123456789」もint=4byteが前提になってるしどうやって遊ぶんだ?
「std::numeric_limits<int>::max()」でとりあえずint最大値が帰るが
741デフォルトの名無しさん
2022/05/09(月) 04:10:24.01ID:lLEJHk2f742デフォルトの名無しさん
2022/05/09(月) 07:35:52.38ID:yzB2nwTj -------- Large numbers using C++ --------
C++ 言語を用いて出来るだけ大きな数を出来るだけ少ない文字数で表現する
int main(); が出来るだけ大きな値を返すようにする
C++ は ISO/IEC 14882:2003 準拠とする
ただし、"int" "float" "double" で表現できる値は十分大きいものとする
事実上無限ビットあると考えて良い
あくまで「十分大きい」であり、大きさを規定した以外は言語仕様通りの動作をする
環境依存の動作、環境依存の値を返すものはNG
上記ルールと ISO/IEC 14882:2003 とで
mainの戻り値が1個の値に定まらないようなものはNG
たとえば、intのサイズに依存した値になるコードはNG
pre-processor 使用禁止
#define, #include などの禁止
コンパイラなどに指定するマクロも禁止
__FILE__ や __LINE__ などの組み込みマクロも使用禁止
ライブラリ関数や外部ファイル定義の関数や変数の使用禁止
pow, quit などの外部関数や変数の使用禁止
実行時間やメモリ使用量は問わない
メモリ解放不要
C++ 言語を用いて出来るだけ大きな数を出来るだけ少ない文字数で表現する
int main(); が出来るだけ大きな値を返すようにする
C++ は ISO/IEC 14882:2003 準拠とする
ただし、"int" "float" "double" で表現できる値は十分大きいものとする
事実上無限ビットあると考えて良い
あくまで「十分大きい」であり、大きさを規定した以外は言語仕様通りの動作をする
環境依存の動作、環境依存の値を返すものはNG
上記ルールと ISO/IEC 14882:2003 とで
mainの戻り値が1個の値に定まらないようなものはNG
たとえば、intのサイズに依存した値になるコードはNG
pre-processor 使用禁止
#define, #include などの禁止
コンパイラなどに指定するマクロも禁止
__FILE__ や __LINE__ などの組み込みマクロも使用禁止
ライブラリ関数や外部ファイル定義の関数や変数の使用禁止
pow, quit などの外部関数や変数の使用禁止
実行時間やメモリ使用量は問わない
メモリ解放不要
743デフォルトの名無しさん
2022/05/09(月) 07:42:44.70ID:yzB2nwTj 文字数が少ないものだとこんな感じ
25文字
int main(){return 9E999;}
30文字
int main(){return 9<<(9<<99);}
42文字
int A;int main(){return++A-9?9<<main():9;}
60文字
int A,B=9,C=9;int main(){for(;A--?B<<=B:A=B*C--;);return B;}
25文字
int main(){return 9E999;}
30文字
int main(){return 9<<(9<<99);}
42文字
int A;int main(){return++A-9?9<<main():9;}
60文字
int A,B=9,C=9;int main(){for(;A--?B<<=B:A=B*C--;);return B;}
744デフォルトの名無しさん
2022/05/09(月) 07:45:44.83ID:VfSI4PVa intを返せばいいのかと思ったけどfloatとか無限ビットとか言及しているのが気になるな。
解釈違うのかな?
解釈違うのかな?
745デフォルトの名無しさん
2022/05/09(月) 08:53:10.27ID:PsDnm+L1 必要に応じて環境のint型を int4294967296_t とか自由に変えていいわけか
746デフォルトの名無しさん
2022/05/09(月) 11:51:27.72ID:90x04ZHv 正解は ~0U>>1 です
747デフォルトの名無しさん
2022/05/09(月) 12:29:49.47ID:b/WmNbyW >>746
> たとえば、intのサイズに依存した値になるコードはNG
> たとえば、intのサイズに依存した値になるコードはNG
748デフォルトの名無しさん
2022/05/09(月) 12:36:28.70ID:vv2CegjB749デフォルトの名無しさん
2022/05/09(月) 12:37:51.56ID:b/WmNbyW 16bit, 32bit, 64bitで違う値を返すからNG
750デフォルトの名無しさん
2022/05/09(月) 13:09:06.67ID:uszWTY9x751デフォルトの名無しさん
2022/05/09(月) 13:38:49.81ID:b/WmNbyW 異なる値を返すからNG
何度書いてもNGなものはNG
何度書いてもNGなものはNG
752デフォルトの名無しさん
2022/05/09(月) 13:57:46.67ID:DLFHVgdp ~0U>>1 で int のサイズが同じ環境なのに違う値を返すケースある?
753デフォルトの名無しさん
2022/05/09(月) 14:07:18.41ID:PsDnm+L1754デフォルトの名無しさん
2022/05/09(月) 14:16:39.02ID:RDjTqhEj よくわからないパズルは他所でやれ
755デフォルトの名無しさん
2022/05/09(月) 14:20:50.13ID:vBDmnMzm 環境によってintの最大値が違うのに環境依存はまかりならんとかw
なら規格で保証されてる最大値(32767だっけ?)を返すしかなくね?
なら規格で保証されてる最大値(32767だっけ?)を返すしかなくね?
756デフォルトの名無しさん
2022/05/09(月) 14:22:28.17ID:SOqsBrLy757デフォルトの名無しさん
2022/05/09(月) 14:27:15.36ID:DLFHVgdp >ただし、"int" "float" "double" で表現できる値は十分大きいものとする
>事実上無限ビットあると考えて良い
これと
>たとえば、intのサイズに依存した値になるコードはNG
ここの兼ね合いがどうなってるのか文意が読み取れん
日本語難しい
>事実上無限ビットあると考えて良い
これと
>たとえば、intのサイズに依存した値になるコードはNG
ここの兼ね合いがどうなってるのか文意が読み取れん
日本語難しい
758デフォルトの名無しさん
2022/05/09(月) 14:29:47.27ID:4LSguCbO intの最大値ならINT_MAX
759デフォルトの名無しさん
2022/05/09(月) 14:31:48.86ID:HAgcLczC760デフォルトの名無しさん
2022/05/09(月) 17:07:31.36ID:A/IF7G4V761デフォルトの名無しさん
2022/05/09(月) 17:17:54.32ID:xCpkKQPu762デフォルトの名無しさん
2022/05/09(月) 17:54:22.09ID:L9YeT6Da お題スレでやってろ
763デフォルトの名無しさん
2022/05/09(月) 17:56:24.99ID:DvQbmhaz すぐにオーバーフローしたら大きな数が作れない ==> intは十分大きい
同じ値が返らないと数の定義にならない ==> 同じ値が返る
この2個の条件は必須
多倍長数が扱える言語であれば十分大きいは満たしているわけだけど
同じ値が返らないと数の定義にならない ==> 同じ値が返る
この2個の条件は必須
多倍長数が扱える言語であれば十分大きいは満たしているわけだけど
764デフォルトの名無しさん
2022/05/09(月) 20:08:33.86ID:wCt2CEsw >>735
証明してから使おうね‥‥
証明してから使おうね‥‥
765デフォルトの名無しさん
2022/05/10(火) 06:49:00.20ID:ME910CgO766デフォルトの名無しさん
2022/05/10(火) 07:07:25.40ID:/5WHE8tG767デフォルトの名無しさん
2022/05/10(火) 07:35:35.52ID:6pIq5VRX768デフォルトの名無しさん
2022/05/10(火) 09:46:20.51ID:MIazK+gu769デフォルトの名無しさん
2022/05/10(火) 12:27:13.81ID:KbKCNa1k770デフォルトの名無しさん
2022/05/10(火) 12:40:40.45ID:/5WHE8tG >>768
758にアンカーがないのでそこからしか読んでなかったが
「intを返す関数」と書いてあるのはどこか遡ってみた
で、742か
9E999とか書いてあるの見て思った
ア ホ か !
付き合ってらんね
758にアンカーがないのでそこからしか読んでなかったが
「intを返す関数」と書いてあるのはどこか遡ってみた
で、742か
9E999とか書いてあるの見て思った
ア ホ か !
付き合ってらんね
771デフォルトの名無しさん
2022/05/11(水) 00:56:06.02ID:UPU3lDYb 逆参照て何?
どーかんがえても意味不明なんだが?
どーかんがえても意味不明なんだが?
772デフォルトの名無しさん
2022/05/11(水) 01:21:28.84ID:UPU3lDYb >>597
数値としては
ビット0からビット17179869183の17179869184ビットあって
MSBのビット17179869183だけ1、それ以外全部0 という数
ちなみに log2(2^17179869183) = 17179869183 という数でもある
数値としては
ビット0からビット17179869183の17179869184ビットあって
MSBのビット17179869183だけ1、それ以外全部0 という数
ちなみに log2(2^17179869183) = 17179869183 という数でもある
773デフォルトの名無しさん
2022/05/11(水) 01:26:24.46ID:UPU3lDYb ちなみに10進数で一応計算してみた
約だけど
4.63718218*10^5171655945
約だけど
4.63718218*10^5171655945
774デフォルトの名無しさん
2022/05/11(水) 01:47:19.15ID:UPU3lDYb 100桁精度で計算してみた
2^17179869183 =
4.63718218509504584387714531277598505035321551306497981802919920776481\
1280740258379690028942685133666E+5171655945
2^17179869183 =
4.63718218509504584387714531277598505035321551306497981802919920776481\
1280740258379690028942685133666E+5171655945
775デフォルトの名無しさん
2022/05/11(水) 01:55:22.86ID:UPU3lDYb 1000桁
4.63718218509504584387714531277598505035321551306497981802919920776481\
1280740258379690028942685133665887678584875885591832718641905762127656\
8648464720428549339230429654230791681707765917647233112807227604202266\
5319507091896875357160842962215472898266643236555234127464648965219429\
4512975764838082263634232746025000505451315362217832502300416050059971\
6055861808134228895379488099475249306954395392974540860455538277768910\
6501779698066463774056727472854585596601051721933481196771957007013333\
1820937700316660548714353734677001021769055523397265041627700949880613\
6512390001031773699898144998699518865275093160899781961932357159230653\
7623370836815040562264217362228933327066544205490551615983201178741086\
9629443458030111199396338422961782744988511892557698949168820144192823\
3037701007229077794006504943886197679972934343613269571575719811291847\
2263408312031495611576479729358418227154841607037559274517841362656405\
8439611218916024169112008441360472444290176302521705087210814345468682\
750024133044013191605E+5171655945
これ以上は迷惑行為だからやめとく
4.63718218509504584387714531277598505035321551306497981802919920776481\
1280740258379690028942685133665887678584875885591832718641905762127656\
8648464720428549339230429654230791681707765917647233112807227604202266\
5319507091896875357160842962215472898266643236555234127464648965219429\
4512975764838082263634232746025000505451315362217832502300416050059971\
6055861808134228895379488099475249306954395392974540860455538277768910\
6501779698066463774056727472854585596601051721933481196771957007013333\
1820937700316660548714353734677001021769055523397265041627700949880613\
6512390001031773699898144998699518865275093160899781961932357159230653\
7623370836815040562264217362228933327066544205490551615983201178741086\
9629443458030111199396338422961782744988511892557698949168820144192823\
3037701007229077794006504943886197679972934343613269571575719811291847\
2263408312031495611576479729358418227154841607037559274517841362656405\
8439611218916024169112008441360472444290176302521705087210814345468682\
750024133044013191605E+5171655945
これ以上は迷惑行為だからやめとく
776デフォルトの名無しさん
2022/05/11(水) 02:49:25.02ID:IGkwLYWQ 僕まではセーフ
777デフォルトの名無しさん
2022/05/11(水) 07:00:39.20ID:UPU3lDYb 一番大きい10進正数 ・・・・・・999 を NMAXとおくとき
NMAX * NMAX == 1
NMAX == -1
が言える
NMAX * NMAX == 1
NMAX == -1
が言える
778デフォルトの名無しさん
2022/05/11(水) 07:56:05.93ID:UPU3lDYb ダチョウが死んだ
鳥インフルで殺処分らしい
鳥インフルで殺処分らしい
779デフォルトの名無しさん
2022/05/11(水) 21:23:58.71ID:Uorg83Ya インフルエンザの季節じゃないと思うケド…
780デフォルトの名無しさん
2022/05/11(水) 22:06:18.66ID:0NCcvhO8 ◆◆ダチョウについて語る!!◆◆ [無断転載禁止]©2ch.net
https://rio2016.5ch.net/test/read.cgi/wild/1491662825/
https://rio2016.5ch.net/test/read.cgi/wild/1491662825/
781デフォルトの名無しさん
2022/05/12(木) 12:52:25.00ID:ILoaqAhs せっかく計算してやったのになんの感謝もないな
782デフォルトの名無しさん
2022/05/12(木) 13:15:32.97ID:I3DTYm7n >>712
に挑戦してみて
に挑戦してみて
783デフォルトの名無しさん
2022/05/12(木) 19:53:55.36ID:NvxU75Me784デフォルトの名無しさん
2022/05/12(木) 19:57:03.47ID:ILoaqAhs どういう意図で質問してきてんだテメエ
ここは相談スレであってクイズスレじゃねぇんだよ馬鹿たれ
しかも、クイズのごとき問題出してもテメエで正解すら用意してない。
出て行けゴミ野郎
ここは相談スレであってクイズスレじゃねぇんだよ馬鹿たれ
しかも、クイズのごとき問題出してもテメエで正解すら用意してない。
出て行けゴミ野郎
785デフォルトの名無しさん
2022/05/12(木) 20:00:06.71ID:X+DkXX5S はいはい、わかったわかった
786デフォルトの名無しさん
2022/05/12(木) 20:04:07.89ID:NvxU75Me787デフォルトの名無しさん
2022/05/12(木) 20:41:05.66ID:I3DTYm7n 2^^6は
2120038728808211984885164691662274630835...............8862693010305614986891826277507437428736
であると書いているサイトがある。
2120038728808211984885164691662274630835...............8862693010305614986891826277507437428736
であると書いているサイトがある。
788デフォルトの名無しさん
2022/05/12(木) 21:01:03.42ID:NvxU75Me 有効数字1億桁とか下位1億桁なら簡単
全桁は不可能
全桁は不可能
789デフォルトの名無しさん
2022/05/12(木) 21:21:17.12ID:I3DTYm7n >>788
100桁ずつで良いからぜひぜひ
100桁ずつで良いからぜひぜひ
790デフォルトの名無しさん
2022/05/13(金) 00:43:07.89ID:66pxKN84 なぜかというと筆算を考えたらワカル
真ん中に行くにつれて桁の値を求めるのが一番積和の項数が大きいくて大変でありかつ
LHSとRHSの数のあらゆる桁が関わるから誤差に対してもチョー敏感、
真ん中に行くにつれて桁の値を求めるのが一番積和の項数が大きいくて大変でありかつ
LHSとRHSの数のあらゆる桁が関わるから誤差に対してもチョー敏感、
791デフォルトの名無しさん
2022/05/13(金) 08:40:43.88ID:DjujgnVD792デフォルトの名無しさん
2022/05/14(土) 13:54:53.41ID:rNqC99VF >>765
見えない敵の可視化
>>695
mul_f2i()の中で
k1 = 1;
k2 = t360 - 1;
for (; k1 < t180; k1++, k2--) {
double re, im;
re = b->data[k1] * c->data[k1] - b->data[k2] * c->data[k2];
im = b->data[k1] * c->data[k2] + b->data[k2] * c->data[k1];
d->data[k1] = re;
d->data[k2] = im;
}
としている積和絵算での誤差の拡大を問題視してないのはなんでじゃろがい?
別段b->data[・]もc->data[・]も絶対値が1未満と決まっているわけではないのでは……
決まっているとしても類似の大きさ同士の差で桁落ちが発生するのでは……
ケkッキョキ、誤差の適正な評価のためには>>679式に積和の都度上限と下限を見積もるしか無いんじゃないの
見えない敵の可視化
>>695
mul_f2i()の中で
k1 = 1;
k2 = t360 - 1;
for (; k1 < t180; k1++, k2--) {
double re, im;
re = b->data[k1] * c->data[k1] - b->data[k2] * c->data[k2];
im = b->data[k1] * c->data[k2] + b->data[k2] * c->data[k1];
d->data[k1] = re;
d->data[k2] = im;
}
としている積和絵算での誤差の拡大を問題視してないのはなんでじゃろがい?
別段b->data[・]もc->data[・]も絶対値が1未満と決まっているわけではないのでは……
決まっているとしても類似の大きさ同士の差で桁落ちが発生するのでは……
ケkッキョキ、誤差の適正な評価のためには>>679式に積和の都度上限と下限を見積もるしか無いんじゃないの
793デフォルトの名無しさん
2022/05/14(土) 20:43:21.69ID:YcL0sj9T Animalクラスを継承したCatクラスとDogクラスがあります
class Cat : public Animal
{
・・・
};
class Dog : public Animal
{
・・・
};
プログラムの中に無数にある以下のような箇所を
Animal *object = new Cat();
以下のようにDogクラスに書き換えたいな、と思ったとき
Animal *object = new Dog();
テキストエディタの一括置換機能を使うよりもっとスマートな方法ってありますか?
class Cat : public Animal
{
・・・
};
class Dog : public Animal
{
・・・
};
プログラムの中に無数にある以下のような箇所を
Animal *object = new Cat();
以下のようにDogクラスに書き換えたいな、と思ったとき
Animal *object = new Dog();
テキストエディタの一括置換機能を使うよりもっとスマートな方法ってありますか?
794デフォルトの名無しさん
2022/05/14(土) 20:57:04.02ID:HSfvjOUE >>793
Cat.cpp とDog.cpp をバックアップする
Dog.cpp を削除する
IDEのリファクタ機能で Cat クラスを Dog クラスにリネームする
バックアップしていた Cat.cpp とDog.cpp を上書きで戻す
これで無数にある Cat を Dog に置き換えられる
文字列置換と異なり Catalog が Dogalog になってしまうこともない
Cat.cpp とDog.cpp をバックアップする
Dog.cpp を削除する
IDEのリファクタ機能で Cat クラスを Dog クラスにリネームする
バックアップしていた Cat.cpp とDog.cpp を上書きで戻す
これで無数にある Cat を Dog に置き換えられる
文字列置換と異なり Catalog が Dogalog になってしまうこともない
795デフォルトの名無しさん
2022/05/14(土) 23:08:55.47ID:qVX+uY2w796デフォルトの名無しさん
2022/05/15(日) 00:01:26.20ID:qDTtv8xD >>795
>誤差はループ内のprintfで出力してるでしょ
知ってたが>>792の演算をやった後の結果が入った事後データd->data[・]に対して
x = d->data[i] * k;
e = (int64_t)floor(x + .5);
err_max = max(err_max, fabs(x - e));
とするだけではd->data[・]計算中に生じた仮数部LSBを超える誤差が全然見積もれていないんじゃな
いの
(唯一積の両側の絶対値が1以下だった場合は正当化されうるが、それはそれで似たような数の差での桁落ちを招きそう……
>誤差を減らす工夫
i2f()内で整数からフーリエ変換するときにRADIX / 2で事前carry_and_fix()してダイナミックレンジを抑えようとしている努力は認められる
しかしダイナミックレンジを抑えることが絶対的に誤差対策になるかというと以下略、
的な、
>誤差はループ内のprintfで出力してるでしょ
知ってたが>>792の演算をやった後の結果が入った事後データd->data[・]に対して
x = d->data[i] * k;
e = (int64_t)floor(x + .5);
err_max = max(err_max, fabs(x - e));
とするだけではd->data[・]計算中に生じた仮数部LSBを超える誤差が全然見積もれていないんじゃな
いの
(唯一積の両側の絶対値が1以下だった場合は正当化されうるが、それはそれで似たような数の差での桁落ちを招きそう……
>誤差を減らす工夫
i2f()内で整数からフーリエ変換するときにRADIX / 2で事前carry_and_fix()してダイナミックレンジを抑えようとしている努力は認められる
しかしダイナミックレンジを抑えることが絶対的に誤差対策になるかというと以下略、
的な、
797デフォルトの名無しさん
2022/05/15(日) 00:08:49.83ID:qDTtv8xD 多分仮数部LSBを超える誤差が整数部のLSBにまで達することは無い、という仮定のもとに
上のerr_maxの更新をやってるんだろうけど運悪く(RADIXが10だとして
9999.9999999999999
みたいなケースで仮数部LSB程度の誤差が生じたら最悪
10000.0000000000000
か
9999.9999999999999
かどっちかわからなくなって整数部LSBより上が誤差に侵食され(ry
上のerr_maxの更新をやってるんだろうけど運悪く(RADIXが10だとして
9999.9999999999999
みたいなケースで仮数部LSB程度の誤差が生じたら最悪
10000.0000000000000
か
9999.9999999999999
かどっちかわからなくなって整数部LSBより上が誤差に侵食され(ry
798デフォルトの名無しさん
2022/05/15(日) 01:29:26.60ID:Lu4IqK5o799デフォルトの名無しさん
2022/05/15(日) 05:48:25.74ID:f/5Hvrjj いつまでもFFTの話してるバカども、数論変換知らんの
800デフォルトの名無しさん
2022/05/15(日) 07:10:32.52ID:zbEPSoXa801デフォルトの名無しさん
2022/05/15(日) 07:13:35.68ID:zbEPSoXa802デフォルトの名無しさん
2022/05/15(日) 09:10:05.29ID:d9+IDznH 一時オブジェクト指向全盛でGoF本なんかが崇められてたとき
ここで質問してるやつにデザインパターン見直せとか糞レス返してる奴いたが
最近はオブジェクト指向じゃ生産効率上がらないことわかってGoF本のステータスも低下してるのか?
ここで質問してるやつにデザインパターン見直せとか糞レス返してる奴いたが
最近はオブジェクト指向じゃ生産効率上がらないことわかってGoF本のステータスも低下してるのか?
803デフォルトの名無しさん
2022/05/15(日) 09:19:34.13ID:duXfvT8B 今も昔も関係ない
GoF本をステータス視するのが間違ってる
デザパタを乱用するのも間違ってる
必要な人が必要なだけ黙って使うのがデザパタ
必要も無いのに手を出すことは間違ってる
今も昔もずーっと同じように間違ってる
GoF本をステータス視するのが間違ってる
デザパタを乱用するのも間違ってる
必要な人が必要なだけ黙って使うのがデザパタ
必要も無いのに手を出すことは間違ってる
今も昔もずーっと同じように間違ってる
804デフォルトの名無しさん
2022/05/15(日) 09:41:49.69ID:d9+IDznH オブジェクト指向じゃ生産効率向上しないことが明らかになって
そらGoF本の価値そのものが低下するわなww
new deleteなんて多用されたら困る分野なんていくらでもあるしな
そらGoF本の価値そのものが低下するわなww
new deleteなんて多用されたら困る分野なんていくらでもあるしな
805デフォルトの名無しさん
2022/05/15(日) 10:04:41.30ID:zbEPSoXa new deleteが全く使えない環境もある
806デフォルトの名無しさん
2022/05/15(日) 11:58:56.10ID:c/66LOo2 >>804
こういうこという奴は大規模開発に参加したことないニワカだろうな
こういうこという奴は大規模開発に参加したことないニワカだろうな
807デフォルトの名無しさん
2022/05/15(日) 12:12:00.10ID:+H3bKj0a 自分を大きく見せようとするやつの
型どおりの言いぐさだな
型どおりの言いぐさだな
808デフォルトの名無しさん
2022/05/15(日) 12:29:44.49ID:/JPgC0w0 オブジェクト指向がオワコンだったとしても代わりになるものって何かあるんですか?
809デフォルトの名無しさん
2022/05/15(日) 12:39:29.05ID:jVQ55S+h なんか上のレイヤしか触らんwebのひとがオブジェクト指向とデザインパターンをディスること多いわ
そらお前らが利用してるフレームワークを作るのに使っとるんやと
そらお前らが利用してるフレームワークを作るのに使っとるんやと
810デフォルトの名無しさん
2022/05/15(日) 12:51:15.81ID:wSyZqypG じゃあもうmain.cppにmain関数百万行書いて終わりにしていいんですか!?
811デフォルトの名無しさん
2022/05/15(日) 12:56:30.62ID:0scjaaG3 オブジェクト指向がオワコンかどうかは知らないが
少なくとも「C++でオブジェクト指向開発」を謳っている案件は漏れなくクソだ
少なくとも「C++でオブジェクト指向開発」を謳っている案件は漏れなくクソだ
812デフォルトの名無しさん
2022/05/15(日) 12:59:14.29ID:c/66LOo2813デフォルトの名無しさん
2022/05/15(日) 13:00:11.08ID:+mKsOYSe 最近はclassを使うプログラミングとオブジェクト指向プログラミングの両者のうちどちらが広くどちらが狭いとみなす?
814デフォルトの名無しさん
2022/05/15(日) 13:00:45.47ID:MKS6oR3e はよう糞まみれになろうぜ。
815デフォルトの名無しさん
2022/05/15(日) 13:02:04.44ID:Q6Qf7/b7 あまりオブジェクト指向に固執すると
令和のstaticおじさんみたいなもんだぞ
令和のstaticおじさんみたいなもんだぞ
816デフォルトの名無しさん
2022/05/15(日) 13:03:51.85ID:c/66LOo2■ このスレッドは過去ログ倉庫に格納されています
ニュース
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」★2 [冬月記者★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 『しんちゃんと岸田さん』 [175344491]
- 日本株、大暴落!!! [252835186]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- んなっても良いお🏡
- ( ・᷄ὢ・᷅ )お尻出して
