※前スレ
C++相談室 part154
https://mevius.5ch.net/test/read.cgi/tech/1610096040/
テンプレここまで
探検
C++相談室 part155
■ このスレッドは過去ログ倉庫に格納されています
2021/03/24(水) 12:07:15.39ID:R+oM8cup
>>236
いいわすれましたが、商が高速に求められれば、剰余は 被除数−商×除数、で求めるものですし、多分高速除算・高速剰余計算は多分そうしているでしょうね
いいわすれましたが、商が高速に求められれば、剰余は 被除数−商×除数、で求めるものですし、多分高速除算・高速剰余計算は多分そうしているでしょうね
242デフォルトの名無しさん
2021/04/19(月) 00:33:03.64ID:cH3u5yp0 >>240
質問者は掛け算と10で割る (小数点以下は無視する割り算ですよね?) しか聞いてないので、掛け算さえできれば良くないですか?
質問者は掛け算と10で割る (小数点以下は無視する割り算ですよね?) しか聞いてないので、掛け算さえできれば良くないですか?
243デフォルトの名無しさん
2021/04/19(月) 00:37:49.63ID:cH3u5yp0 ああ、10で割るのはあまりを求めたいからって書いてあった
でも10で割った余りって1の位の数字ですよね?
そんな話じゃない?
でも10で割った余りって1の位の数字ですよね?
そんな話じゃない?
244デフォルトの名無しさん
2021/04/19(月) 00:39:51.82ID:cH3u5yp0 まあいいや
チューニングする必要はないって話なんで、わり算の話は置いといて、結局やりたいのは整数同士の掛け算ですよね?
チューニングする必要はないって話なんで、わり算の話は置いといて、結局やりたいのは整数同士の掛け算ですよね?
245デフォルトの名無しさん
2021/04/19(月) 00:45:58.97ID:r2ULphPG 質問者が情報を後出ししたりしていてイマイチ信用に欠けるので、普通の整数のように何でもできる多倍長整数がほしいのか掛け算さえできればOKなのかは不明
247デフォルトの名無しさん
2021/04/19(月) 00:49:32.73ID:cH3u5yp0 >>247
最初から10進で数値を持つと、加減算ですら速度が低下します
10進化の頻度は各種演算の頻度よりも少ない、というか、演算を何千回・何万回した最後に 10 進に変換する、かもしれない、っていう状況で、最初から 10 進で持つのは無駄以外の何ものでもないかと
それに32bit までは BCD 補正命令がありましたが 64 bit の今は BCD 補正命令(AAA とかね)ですら削除されちゃっていますし
最初から10進で数値を持つと、加減算ですら速度が低下します
10進化の頻度は各種演算の頻度よりも少ない、というか、演算を何千回・何万回した最後に 10 進に変換する、かもしれない、っていう状況で、最初から 10 進で持つのは無駄以外の何ものでもないかと
それに32bit までは BCD 補正命令がありましたが 64 bit の今は BCD 補正命令(AAA とかね)ですら削除されちゃっていますし
249デフォルトの名無しさん
2021/04/19(月) 02:16:04.24ID:hAOdtYDs >>248
質問者は加減算はするんですか?
質問者は加減算はするんですか?
250デフォルトの名無しさん
2021/04/19(月) 02:16:30.94ID:hAOdtYDs ID変わってますが同じ人です
251デフォルトの名無しさん
2021/04/19(月) 06:59:05.63ID:6wuAqTFP 一応私
東大大型計算機センター時代に円周率ギネスに関わったこともあって
多倍長の知識や技術は確実にこのスレで一番だと思うのだけど
スルーするなら消えるね
東大大型計算機センター時代に円周率ギネスに関わったこともあって
多倍長の知識や技術は確実にこのスレで一番だと思うのだけど
スルーするなら消えるね
252デフォルトの名無しさん
2021/04/19(月) 07:39:37.59ID:MiZJ3RJg だって多倍長「整数」、と最初に断ってあるのに小数や指数表示の話を始めそうなふいんきだったし、
Q1、Q2に関しては64 bit同士の積の話なので
今日日のなんちゃら漸化式を使う円周率計算とかに使う
多倍長の掛け算みたいな別次元テクニックは明らかに使いどころが無いいいし……
Q1、Q2に関しては64 bit同士の積の話なので
今日日のなんちゃら漸化式を使う円周率計算とかに使う
多倍長の掛け算みたいな別次元テクニックは明らかに使いどころが無いいいし……
253デフォルトの名無しさん
2021/04/19(月) 07:53:01.92ID:MiZJ3RJg >>249
する
ただしQ1とQ2の質問の直接の範囲ではありません
しかし、とはいいつつ筆算のアルゴリズムで実装したら必要になったので
とりいそぎ加減算を実装してみた(>>231
Q3は多倍長整数を32 bit整数で割るやり方をガチで忘れたので質問したorz
のですが途中で思い出し実装した、というろくでもない経緯ですたサーセン、
>>235はついカッとなって書いた>>234の人はスマンカッタorz
今後の方向性としてはコンパイラはVCを使っているのでSSE4.1のイントリンシックを使って
お手軽に64 bitデータの積和を128 bit幅で計算する方向なキモス
>>239
>キャリーフラグやゼロフラグを触れるのはアセンブラしかないですからね
それは思わないでもないが積をやりだすと上位桁への伝搬が1 bitでは済まないので
C/C++ だけで多倍長を実装するのは結果オーライかと、
する
ただしQ1とQ2の質問の直接の範囲ではありません
しかし、とはいいつつ筆算のアルゴリズムで実装したら必要になったので
とりいそぎ加減算を実装してみた(>>231
Q3は多倍長整数を32 bit整数で割るやり方をガチで忘れたので質問したorz
のですが途中で思い出し実装した、というろくでもない経緯ですたサーセン、
>>235はついカッとなって書いた>>234の人はスマンカッタorz
今後の方向性としてはコンパイラはVCを使っているのでSSE4.1のイントリンシックを使って
お手軽に64 bitデータの積和を128 bit幅で計算する方向なキモス
>>239
>キャリーフラグやゼロフラグを触れるのはアセンブラしかないですからね
それは思わないでもないが積をやりだすと上位桁への伝搬が1 bitでは済まないので
C/C++ だけで多倍長を実装するのは結果オーライかと、
254デフォルトの名無しさん
2021/04/19(月) 08:16:03.30ID:6wuAqTFP その>>234だけど
まあ素人同士で頑張って
まあ素人同士で頑張って
255デフォルトの名無しさん
2021/04/19(月) 08:27:12.50ID:6wuAqTFP 2進多倍長の10進化にQ3を使うのはアホ
これだけは書いておいてあげる
これだけは書いておいてあげる
256デフォルトの名無しさん
2021/04/19(月) 08:36:36.63ID:wJLYJwE7 122=235か。
お前もう質問するなよ
お前もう質問するなよ
257デフォルトの名無しさん
2021/04/19(月) 08:47:34.79ID:cH3u5yp0 >>253
多倍長がどれほど多倍長かというのにもよりますが、とにかく速いQ1の回答はカラツバ法とか整数環上でFFTして畳み込みだと思います
Q3はそもそも多倍長整数をどう持つかによるので、仕様を確定しないと難しいんじゃないでしょうか
多倍長がどれほど多倍長かというのにもよりますが、とにかく速いQ1の回答はカラツバ法とか整数環上でFFTして畳み込みだと思います
Q3はそもそも多倍長整数をどう持つかによるので、仕様を確定しないと難しいんじゃないでしょうか
258デフォルトの名無しさん
2021/04/19(月) 08:51:43.03ID:cH3u5yp0 あ、64ビットにおさまるくらいの桁数の話なんですね
だったらパースとかするオーバーヘッドが大きそうなので、僕の言った方法は有効じゃなさそうです
失礼しました
だったらパースとかするオーバーヘッドが大きそうなので、僕の言った方法は有効じゃなさそうです
失礼しました
259デフォルトの名無しさん
2021/04/19(月) 08:55:57.38ID:RwTjYqyx 肩書きとかキャリアを己の発言の信憑性の根拠にするって、お前ここはニュー速VIPじゃないんだぞ
260デフォルトの名無しさん
2021/04/19(月) 12:17:34.06ID:zMLTVIrM261デフォルトの名無しさん
2021/04/19(月) 12:25:33.89ID:RwTjYqyx いやクソどうでも良いんだが
捨て台詞 (>>254) 吐いて退場したけど勘違いされてたら悪いと思って戻ってきたの?
捨て台詞 (>>254) 吐いて退場したけど勘違いされてたら悪いと思って戻ってきたの?
262デフォルトの名無しさん
2021/04/19(月) 12:34:37.87ID:zMLTVIrM >>257がバカ発言してて
同じ人と思われたらイヤだなあと思って
同じ人と思われたらイヤだなあと思って
263デフォルトの名無しさん
2021/04/19(月) 12:54:00.52ID:hAOdtYDs264デフォルトの名無しさん
2021/04/19(月) 13:17:17.86ID:zh6rCSPG こんなところで身バレしそうな職歴晒してまでどうしたいんだろう
時々いる煽り耐性ゼロの人かな
時々いる煽り耐性ゼロの人かな
265デフォルトの名無しさん
2021/04/19(月) 13:36:43.08ID:dtIEXEiV いやフツーに嘘でしょ
精々が
・学生のときにデカいプロジェクトに名前だけ入ってた
・技官がイキってる
・隣の研究室にいた
くらいじゃない
> 東大大型計算機センター時代に円周率ギネスに関わったこともあって
「関わった」という控えめで奥ゆかしい言い方を思えば、PIとかそのクラスではないことは明らか
精々が
・学生のときにデカいプロジェクトに名前だけ入ってた
・技官がイキってる
・隣の研究室にいた
くらいじゃない
> 東大大型計算機センター時代に円周率ギネスに関わったこともあって
「関わった」という控えめで奥ゆかしい言い方を思えば、PIとかそのクラスではないことは明らか
266デフォルトの名無しさん
2021/04/19(月) 16:48:40.50ID:mIgsEenU 盛り上がってるところすいません
マルチスレッドで1バイトの変数に対してatomicな操作をしたいのですが
ロックフリーで行いたい場合
ATOMIC_CHAR_LOCK_FREEの値が2以外の場合は保証されないのでしょうか?
マルチスレッドで1バイトの変数に対してatomicな操作をしたいのですが
ロックフリーで行いたい場合
ATOMIC_CHAR_LOCK_FREEの値が2以外の場合は保証されないのでしょうか?
267デフォルトの名無しさん
2021/04/19(月) 17:02:33.15ID:ssZtrIut268デフォルトの名無しさん
2021/04/19(月) 17:22:54.26ID:utLkXQPz 規格的にはそうですとしか言えんわな
現実的にはともかく
現実的にはともかく
269デフォルトの名無しさん
2021/04/19(月) 17:30:46.64ID:mIgsEenU270デフォルトの名無しさん
2021/04/19(月) 18:10:02.15ID:6wuAqTFP271デフォルトの名無しさん
2021/04/19(月) 18:10:29.58ID:6wuAqTFP272デフォルトの名無しさん
2021/04/19(月) 18:11:36.17ID:HuLqOw9z >>269
マルチスレッドが使えない環境かな
マルチスレッドが使えない環境かな
273デフォルトの名無しさん
2021/04/19(月) 19:29:48.98ID:xQPYHIMj274デフォルトの名無しさん
2021/04/19(月) 20:10:17.57ID:6wuAqTFP バカにはわからない
275デフォルトの名無しさん
2021/04/20(火) 01:11:18.41ID:lQgqPl99 言語、規格バカはマジでウザい
ちょっとした言い間違いで、配列とポインタについて
30分語られたわ
先輩だから、聞いてやったけど・・・
そいつ、仕事できないなくてハブられてるwww
ちょっとした言い間違いで、配列とポインタについて
30分語られたわ
先輩だから、聞いてやったけど・・・
そいつ、仕事できないなくてハブられてるwww
276デフォルトの名無しさん
2021/04/20(火) 04:53:21.68ID:MRJwD2x4 30分しか語れないんじゃそりゃハブられるわ
ポインタだけで1日終わるくらいがスタートラインだろ
ポインタだけで1日終わるくらいがスタートラインだろ
277デフォルトの名無しさん
2021/04/20(火) 06:53:00.02ID:RELc90o2 C++に関しては知識と開発能力が比例しないということを採用担当者は知っておくべき
278デフォルトの名無しさん
2021/04/20(火) 07:17:36.48ID:xhmy6KmQ C++20が憶えきれない
こんなことは初めてだ
こんなことは初めてだ
279デフォルトの名無しさん
2021/04/20(火) 08:09:40.68ID:Hk0/CBHu 配列とポインタは混同してると危険だから怪しいこと言ってる奴がチームにいたら捕まえて説明するよ
どんな言い間違いか知らんけど心配させるようなこと言う方が悪い
どんな言い間違いか知らんけど心配させるようなこと言う方が悪い
280デフォルトの名無しさん
2021/04/20(火) 08:30:33.16ID:ipiVKlKV こんなとこに同僚の愚痴書いて気晴らししてるやつが仕事できるとは到底思えないな。
281デフォルトの名無しさん
2021/04/20(火) 10:14:33.25ID:v3OtCzj2 同僚と先輩の区別もつかない奴はプログラマーには向いてない
282デフォルトの名無しさん
2021/04/20(火) 10:52:16.13ID:9UAiU1Oe linuxとwindowsで使える共通の開発環境ってなんでしょうか?
guiアプリを作りる場合です
エディタ:vscode
言語:c++
gui:qt
という感じですか?
pythonやelecrtonなんかもありますね
guiアプリを作りる場合です
エディタ:vscode
言語:c++
gui:qt
という感じですか?
pythonやelecrtonなんかもありますね
283デフォルトの名無しさん
2021/04/20(火) 12:10:41.97ID:VvQCOD1T284デフォルトの名無しさん
2021/04/20(火) 12:18:00.63ID:YUL53Jgh Karatsuba法を実装できるから実装してみた
https://ideone.com/W1j1o0
Karatsuba法推しの香具師はいっぺん自力で実装してみたらいいかもしんない
かもしんない運転、
言うは易しの好例に思えるorz、、、
https://ideone.com/W1j1o0
Karatsuba法推しの香具師はいっぺん自力で実装してみたらいいかもしんない
かもしんない運転、
言うは易しの好例に思えるorz、、、
285デフォルトの名無しさん
2021/04/20(火) 12:18:13.99ID:VIg6RvGl >>281
辞書くらい持ってるだろ?日本語も勉強しような
辞書くらい持ってるだろ?日本語も勉強しような
286デフォルトの名無しさん
2021/04/20(火) 12:36:36.65ID:q1a39yZP287デフォルトの名無しさん
2021/04/20(火) 12:42:32.22ID:VIg6RvGl >>286
そこ区別して同僚の愚痴を先輩の愚痴に書き換えたところでなにも変わらんだろアホ
そこ区別して同僚の愚痴を先輩の愚痴に書き換えたところでなにも変わらんだろアホ
288デフォルトの名無しさん
2021/04/20(火) 12:43:21.01ID:X7tfUSAH 技術的な話で太刀打ちできなさそうだと枝葉末節で揚げ足取りが始まる掲示板はどこでしょう?
そう、ここです!
そう、ここです!
289デフォルトの名無しさん
2021/04/20(火) 12:43:25.81ID:foxJ/HUw290デフォルトの名無しさん
2021/04/20(火) 13:00:09.50ID:xhmy6KmQ291デフォルトの名無しさん
2021/04/20(火) 13:46:48.72ID:NNyYGUS8292デフォルトの名無しさん
2021/04/20(火) 13:47:04.64ID:9UAiU1Oe293デフォルトの名無しさん
2021/04/20(火) 14:16:30.60ID:fd+AEuq4 C++11以降はそれ以前のC++とまるで別の言語のような感さえある。
だが基本中の基本である文字列操作がJavaやPythonほど簡単になってないのが残念。
だが基本中の基本である文字列操作がJavaやPythonほど簡単になってないのが残念。
294デフォルトの名無しさん
2021/04/20(火) 15:06:35.17ID:VvQCOD1T295デフォルトの名無しさん
2021/04/20(火) 15:35:17.43ID:9UAiU1Oe linuxでopenglやりたいので、c++かなと。
296デフォルトの名無しさん
2021/04/20(火) 20:37:50.18ID:Pk69v7H3297デフォルトの名無しさん
2021/04/20(火) 20:42:34.03ID:NN6yC6GV しったか乙
298デフォルトの名無しさん
2021/04/20(火) 20:55:33.24ID:Pk69v7H3 まあどの道64ビットに収まる桁数だったら意味ないってことは上で結論出てるけどな
299デフォルトの名無しさん
2021/04/20(火) 21:01:48.70ID:YUL53Jgh 掲示したソースコードにおける
最適化に対するメモリエリアシングの影響について:
最適化に対するメモリエリアシングの影響について:
300デフォルトの名無しさん
2021/04/20(火) 21:25:08.48ID:odq3qVNb クラスに特定のoperatorが定義されているか調べるために、
以下のようなtemplateを作ってMSVCでもclangでも一応期待通りに動いてはいるんだが、
VS2019のintelliSenseの解析が異常終了するらしく機能しなくなるんだよね、VS2017は大丈夫なんだけども
何か変かな?
template < typename OPERATOR, typename T > class has_operator
{
private:
template < typename U > static auto check(U x) -> decltype(x.operator OPERATOR(), std::true_type());
static std::false_type check(...);
public:
static bool const value = decltype(check(std::declval<T>()))::value;
};
以下のようなtemplateを作ってMSVCでもclangでも一応期待通りに動いてはいるんだが、
VS2019のintelliSenseの解析が異常終了するらしく機能しなくなるんだよね、VS2017は大丈夫なんだけども
何か変かな?
template < typename OPERATOR, typename T > class has_operator
{
private:
template < typename U > static auto check(U x) -> decltype(x.operator OPERATOR(), std::true_type());
static std::false_type check(...);
public:
static bool const value = decltype(check(std::declval<T>()))::value;
};
>>284
>Karatsuba法推しの香具師はいっぺん自力で実装してみたらいいかもしんない
わたしも、やろう、やろう、とおもってても最後は「この野郎」になってしまうのです
カラツバ、今の私には強敵です…
>Karatsuba法推しの香具師はいっぺん自力で実装してみたらいいかもしんない
わたしも、やろう、やろう、とおもってても最後は「この野郎」になってしまうのです
カラツバ、今の私には強敵です…
302デフォルトの名無しさん
2021/04/20(火) 22:33:18.23ID:nuXnJUWD 桁数nとしてカラツバはおよそnの1.6乗でFFTならnlognなのになぜか皆カラツバの方をチョイスしててワロ
文系の皆さんにはフーリエ変換なんて難し過ぎるか
文系の皆さんにはフーリエ変換なんて難し過ぎるか
303デフォルトの名無しさん
2021/04/20(火) 22:35:49.17ID:nuXnJUWD FFTの方は奥村のCアルゴリズム本に載ってるからアクセスしやすいけどね
カラツバはクヌース本くらいしか知らん
カラツバはクヌース本くらいしか知らん
305デフォルトの名無しさん
2021/04/21(水) 06:19:59.72ID:Y7fj3JnX QZは高卒だったのか
306デフォルトの名無しさん
2021/04/21(水) 09:14:33.98ID:d8/E1L9C307デフォルトの名無しさん
2021/04/21(水) 10:43:52.09ID:NcgxI3iC 高卒・・・そんなんで偉そうに留数定理とかのたまってたのか
308デフォルトの名無しさん
2021/04/21(水) 10:46:51.63ID:T8R/7AcW 複素数に関するアレコレが指導要領に入ってた頃の高卒だと思うと逆に悲しいな笑
309デフォルトの名無しさん
2021/04/21(水) 10:52:21.72ID:NcgxI3iC いや高校では複素解析やらんだろ・・
310デフォルトの名無しさん
2021/04/21(水) 10:55:55.53ID:d8/E1L9C 誘導してんだからあっち行けよ
311デフォルトの名無しさん
2021/04/21(水) 11:11:39.04ID:DSKXDkbA312デフォルトの名無しさん
2021/04/21(水) 11:15:29.03ID:bCpwaxws313デフォルトの名無しさん
2021/04/21(水) 11:23:22.29ID:DSKXDkbA314デフォルトの名無しさん
2021/04/21(水) 11:37:50.39ID:f6qdR5OJ QZを批判すると必ず現れるD:DSKXDkbAみたいな奴
怪しい
同一人物だろうな
QZは>>304と同じIDで書き込みしてみろよ
無理だろうがなw
それに多価関数がわからないと泣いていたよなQZww
哀れ過ぎる
怪しい
同一人物だろうな
QZは>>304と同じIDで書き込みしてみろよ
無理だろうがなw
それに多価関数がわからないと泣いていたよなQZww
哀れ過ぎる
315デフォルトの名無しさん
2021/04/21(水) 11:43:42.91ID:T8R/7AcW >>304は昨日なので、同じIDが出せたらモノホンのハッカーでは
316デフォルトの名無しさん
2021/04/21(水) 11:45:25.27ID:f6qdR5OJ なるほど
昨日だから今日これだけ暴れているのか
なおさら哀れになってくる
実際の自分より良く見せようとする病気=自己愛性パーソナリティ障害
昨日だから今日これだけ暴れているのか
なおさら哀れになってくる
実際の自分より良く見せようとする病気=自己愛性パーソナリティ障害
317デフォルトの名無しさん
2021/04/21(水) 12:05:54.31ID:tWbCEelV 技術系の板に精神分析を書き込む人って、その人自身が精神を病んだ経験ありそう
鏡に話しかけてる感じ
お大事に
鏡に話しかけてる感じ
お大事に
318デフォルトの名無しさん
2021/04/21(水) 12:17:39.89ID:v7jA28gl319デフォルトの名無しさん
2021/04/21(水) 12:17:53.81ID:ysdTsnNz320デフォルトの名無しさん
2021/04/21(水) 12:18:17.72ID:S0SCN4KK 言語規格厨のウザさは以上
コピー代入が、ムーブ代入がってそんなことより
さっさと仕事しろよ
工数足りないんだよ
コピー代入が、ムーブ代入がってそんなことより
さっさと仕事しろよ
工数足りないんだよ
321デフォルトの名無しさん
2021/04/21(水) 13:43:53.29ID:iJBMse6c それマ板向きの話題
煽りとかでなくわりとまじで
煽りとかでなくわりとまじで
322デフォルトの名無しさん
2021/04/21(水) 16:19:12.57ID:Xwi7hGL+323デフォルトの名無しさん
2021/04/21(水) 16:40:24.72ID:d8/E1L9C どうせならエトルフィン出してもらえよ
324デフォルトの名無しさん
2021/04/21(水) 16:49:56.10ID:tWbCEelV な、自作自演で同一人物が書き込んでいると思い込んでるだろ?
やたらと薬物(合法)の名前に詳しいだろ
この辺が病んでいる・病んでいた証拠なんだよ
やたらと薬物(合法)の名前に詳しいだろ
この辺が病んでいる・病んでいた証拠なんだよ
326デフォルトの名無しさん
2021/04/21(水) 17:11:51.30ID:BQWVCdUr 薬の名前はQZが自分で書いてたんだぞ
http://peace.2ch.net/test/read.cgi/tech/1313183984/303
>303 名前: ◆QZaw55cn4c [] 投稿日:2012/07/28(土) 18:08:51.36
>>>302
>飲んでるお薬 http://upload.wikimedia.org/wikipedia/commons/c/c2/Thorazine_advert.jpg
http://peace.2ch.net/test/read.cgi/tech/1313183984/303
>303 名前: ◆QZaw55cn4c [] 投稿日:2012/07/28(土) 18:08:51.36
>>>302
>飲んでるお薬 http://upload.wikimedia.org/wikipedia/commons/c/c2/Thorazine_advert.jpg
327デフォルトの名無しさん
2021/04/21(水) 17:57:01.32ID:d8/E1L9C328デフォルトの名無しさん
2021/04/21(水) 19:51:15.95ID:Y7fj3JnX どうでもいい
329デフォルトの名無しさん
2021/04/21(水) 19:58:40.75ID:2oKQsBoE >>284のKaratuba法のコードには計算結果に影響するバグがあった(爆
修正したやつを貼る、
https://ideone.com/mhRQte
バグとしては、>>284のままでは次の計算を誤る。
0xffffffffffffffffに対し0x0000000100000001を乗算
Num in hexa: 0xFFFFFFFEFFFFFFFF <== BUG!
Expected: 0x100000000FFFFFFFEFFFFFFFF
げいいんは、Karatuba法であるmul_mlen_mlen()の末尾で
z2 * 2^(b+1) + z0 に対し、z1 * 2^bを加算する
という演算をやっているのですだが、桁上がりをきちんと2^(b+2)のワードまで
伝えていなかった、|||。n_
あと細かい点として、符号反転を0に対して無駄に行う個所があったのでそこも修正すた、
カナーリ切羽詰まってきているのでレスはあとでまとめて読みませていただきまつ以下略、
修正したやつを貼る、
https://ideone.com/mhRQte
バグとしては、>>284のままでは次の計算を誤る。
0xffffffffffffffffに対し0x0000000100000001を乗算
Num in hexa: 0xFFFFFFFEFFFFFFFF <== BUG!
Expected: 0x100000000FFFFFFFEFFFFFFFF
げいいんは、Karatuba法であるmul_mlen_mlen()の末尾で
z2 * 2^(b+1) + z0 に対し、z1 * 2^bを加算する
という演算をやっているのですだが、桁上がりをきちんと2^(b+2)のワードまで
伝えていなかった、|||。n_
あと細かい点として、符号反転を0に対して無駄に行う個所があったのでそこも修正すた、
カナーリ切羽詰まってきているのでレスはあとでまとめて読みませていただきまつ以下略、
330デフォルトの名無しさん
2021/04/21(水) 20:01:20.31ID:9Ni9X3TR げいいん
331デフォルトの名無しさん
2021/04/21(水) 20:20:55.73ID:Y7fj3JnX ダサ
332デフォルトの名無しさん
2021/04/21(水) 20:22:03.31ID:tWbCEelV 🍺🐋鯨飲🐳
C++と関係ない話ばっかりだな
C++と関係ない話ばっかりだな
333デフォルトの名無しさん
2021/04/22(木) 00:17:13.55ID:ru2ShUiK334デフォルトの名無しさん
2021/04/22(木) 06:53:49.94ID:WQGVMWvQ mul_mlen_mlen()自体は桁数がスゲー長いケース(任意長)に対応していることは読めばワカル
Wrapperであるmul_u64_64()が128 ビットでそれを使っているというだけ
Wrapperであるmul_u64_64()が128 ビットでそれを使っているというだけ
335デフォルトの名無しさん
2021/04/22(木) 06:58:17.03ID:HV6xjPl7 いや、カラツバなんか実装する意味ねえつってるんだがどこまで馬鹿なんだ
336デフォルトの名無しさん
2021/04/22(木) 07:17:22.47ID:WQGVMWvQ337デフォルトの名無しさん
2021/04/22(木) 07:32:14.23ID:/jtf723l だめだこりゃ
338デフォルトの名無しさん
2021/04/22(木) 08:16:22.82ID:wJAS8IOG 桁数がスゲー長いケースならカラツバなんか使わんし
数倍長程度でも使わん
もちろん速度やリソースを無視して単に動くって意味なら何でも良い好きにしろ
数倍長程度でも使わん
もちろん速度やリソースを無視して単に動くって意味なら何でも良い好きにしろ
339デフォルトの名無しさん
2021/04/22(木) 10:16:28.69ID:yNSfYish long longで足りんとき俺はgmp使う
340デフォルトの名無しさん
2021/04/22(木) 11:19:45.75ID:ZUdmCczU おれはlong long long使う
■ このスレッドは過去ログ倉庫に格納されています
