前スレ
C++相談室 part156
https://mevius.5ch.net/test/read.cgi/tech/1621389313/
C++相談室 part157
■ このスレッドは過去ログ倉庫に格納されています
2021/08/09(月) 10:57:31.60ID:JaaB5Egp
372デフォルトの名無しさん
2021/09/15(水) 16:27:00.87ID:46YA8/2z >>369
ヒント: コンセプト
ヒント: コンセプト
373デフォルトの名無しさん
2021/09/16(木) 21:11:24.40ID:wgmfJty/ 単項+が意味を持つ例のやつか
374デフォルトの名無しさん
2021/09/17(金) 16:40:49.64ID:J/w/zJeW 仕事が生きがい?会社員の分際で?そろそろ認めなさい…あなたたちは単なる駒です
⇒赤羽の父ひろゆきが教える仕事の本質とやりたいことの違いが凄過ぎて感動が止まらない…
https://www.youtube.com/watch?v=zkwQOdq17dI
【ひろゆき/切り抜き】サラリーマンって資本主義の奴隷なの?
https://www.youtube.com/watch?v=Vi-dvyd5ksE&t=74s
【ひろゆき】社会人語っちゃうサラリーマンについて語りました
https://www.youtube.com/watch?v=pX7NHj_rIBg
奴隷は身近にある?日本の奴隷について【ひろゆき 切り抜き】
https://www.youtube.com/watch?v=evQjCUWIHV4
【ひろゆき】会社員なんて楽しくない?⇒楽しいしラクな仕事の仕方とは※サラリーマン必見!
https://www.youtube.com/watch?v=T95-FS8sT3w&t=390s
【ひろゆき】日本のサラリーマン制度...終わってますよwww
https://www.youtube.com/watch?v=Y-30zk2zDn0
【ひろゆき】視聴者の質問そっちのけで虚言癖アピールするひろゆき
https://www.youtube.com/watch?v=cMjk9B4J2n4
【ひろゆき/切り抜き】虚言癖ってどうやって直せばいい?
https://www.youtube.com/watch?v=5cS7vyb0tfE
⇒赤羽の父ひろゆきが教える仕事の本質とやりたいことの違いが凄過ぎて感動が止まらない…
https://www.youtube.com/watch?v=zkwQOdq17dI
【ひろゆき/切り抜き】サラリーマンって資本主義の奴隷なの?
https://www.youtube.com/watch?v=Vi-dvyd5ksE&t=74s
【ひろゆき】社会人語っちゃうサラリーマンについて語りました
https://www.youtube.com/watch?v=pX7NHj_rIBg
奴隷は身近にある?日本の奴隷について【ひろゆき 切り抜き】
https://www.youtube.com/watch?v=evQjCUWIHV4
【ひろゆき】会社員なんて楽しくない?⇒楽しいしラクな仕事の仕方とは※サラリーマン必見!
https://www.youtube.com/watch?v=T95-FS8sT3w&t=390s
【ひろゆき】日本のサラリーマン制度...終わってますよwww
https://www.youtube.com/watch?v=Y-30zk2zDn0
【ひろゆき】視聴者の質問そっちのけで虚言癖アピールするひろゆき
https://www.youtube.com/watch?v=cMjk9B4J2n4
【ひろゆき/切り抜き】虚言癖ってどうやって直せばいい?
https://www.youtube.com/watch?v=5cS7vyb0tfE
375デフォルトの名無しさん
2021/09/18(土) 12:55:20.00ID:fzYJNrfO 聞いてくれウィンドーズ10で
GetLocalTime(&st1);
const system_clock::time_point now = system_clock::now();
GetLocalTime&(st2);
とした後に、nowから
const time_t tt = system_clock::to_time_t(tp);
auto msec = duration_cast<milliseconds>(tp.time_since_epoch()).count() % 1000;
としてnowのms単位のUNIX Timeを算出したらば、
st1 ≦ now
は当然成立しているが、
now ≦ st2
は成立しないことがあり、何か
now ≦ st2 + 1
なんじゃわ;;;
何で?!
GetLocalTime(&st1);
const system_clock::time_point now = system_clock::now();
GetLocalTime&(st2);
とした後に、nowから
const time_t tt = system_clock::to_time_t(tp);
auto msec = duration_cast<milliseconds>(tp.time_since_epoch()).count() % 1000;
としてnowのms単位のUNIX Timeを算出したらば、
st1 ≦ now
は当然成立しているが、
now ≦ st2
は成立しないことがあり、何か
now ≦ st2 + 1
なんじゃわ;;;
何で?!
376デフォルトの名無しさん
2021/09/18(土) 12:57:50.95ID:fzYJNrfO 処理系はMSVC2019でつ、
duration_cast<T>はTで指定した時間単位未満は切り捨てとC++の規格で決まっているはず……
duration_cast<T>はTで指定した時間単位未満は切り捨てとC++の規格で決まっているはず……
377デフォルトの名無しさん
2021/09/18(土) 13:05:15.92ID:fzYJNrfO ちなみにst1 < st2 でありかつ (now ≦ st2) が非成立、というケースも発生するあるから
おかしいのは明らかにstd::chronoの方、
おかしいのは明らかにstd::chronoの方、
378デフォルトの名無しさん
2021/09/18(土) 13:23:54.83ID:I+biH5jK379デフォルトの名無しさん
2021/09/18(土) 13:43:19.07ID:fzYJNrfO >>378
>>377のは時刻のキャッシングみたいなことをしており呼び出した瞬間の時刻を返していないとしたらそれはGetLocalTime()の方ではない、という証左
つなみにマルチコアと最適化(いやしくもAPIの呼び出しがあるのであり得ないが)とプリエンプションの合わせ技で
実行順序が変になり得るかも、みたいな被害車妄想で
GetLocalTime(&st1);
const system_clock::time_point now = system_clock::now();
_ReadWriteBarrier();
GetLocalTime&(st2);
としてみたが>>377な現象は変わらんかったは、
>>377のは時刻のキャッシングみたいなことをしており呼び出した瞬間の時刻を返していないとしたらそれはGetLocalTime()の方ではない、という証左
つなみにマルチコアと最適化(いやしくもAPIの呼び出しがあるのであり得ないが)とプリエンプションの合わせ技で
実行順序が変になり得るかも、みたいな被害車妄想で
GetLocalTime(&st1);
const system_clock::time_point now = system_clock::now();
_ReadWriteBarrier();
GetLocalTime&(st2);
としてみたが>>377な現象は変わらんかったは、
380デフォルトの名無しさん
2021/09/18(土) 13:48:57.22ID:vjp4M7Ow windowsのAPI同士で比較しろ
一般に違うAPIを使ってるなら一貫した結果にならなくてもおかしくない
一般に違うAPIを使ってるなら一貫した結果にならなくてもおかしくない
381デフォルトの名無しさん
2021/09/18(土) 13:53:59.82ID:I+biH5jK ちゃんと知りたいならsystem_clock::nowが内部でどのAPIを呼んでいるのか調べてみては
382デフォルトの名無しさん
2021/09/18(土) 13:58:54.14ID:EqZgRVmV 変数tpはなにものですか
383デフォルトの名無しさん
2021/09/18(土) 14:01:55.85ID:EqZgRVmV というか% 1000っておかしくね???
384デフォルトの名無しさん
2021/09/19(日) 00:12:35.69ID:EWVuImUN >>375
お前の頭がおかしいんだよ
お前の頭がおかしいんだよ
385デフォルトの名無しさん
2021/09/19(日) 00:47:53.30ID:hcp/HEe5 不等号≦への理解、間違ってないか
386デフォルトの名無しさん
2021/09/19(日) 07:30:37.33ID:CNUd2o2A unsignedとintを比較してるとかどうせそういうオチだろ
387デフォルトの名無しさん
2021/09/19(日) 13:12:19.06ID:/yxUr6Cy 中途半端なコードだけチラ見せされてもな
再現する完全なコードを出せとしか
再現する完全なコードを出せとしか
388デフォルトの名無しさん
2021/09/19(日) 15:50:35.11ID:neurUQ4a >>386
天才なのでそんなヘマはしますしません、
>>387
再現コード貼る、
https://ideone.com/GeMebI
※ 冒頭コメントの通り、非Windows環境では現象再現しないコードなのので注意
ウィンドーズでの実行結果:
i=---: st1, chrono, st2: ORDER CHECK
i= 0: 1632034143228, 1632034143228, 1632034143228: OK.
i= 1: 1632034143229, 1632034143229, 1632034143229: OK.
i= 2: 1632034143229, 1632034143229, 1632034143229: OK.
i= 3: 1632034143229, 1632034143230, 1632034143229: NG!
i= 4: 1632034143229, 1632034143230, 1632034143229: NG!
i= 5: 1632034143230, 1632034143230, 1632034143230: OK.
i= 6: 1632034143230, 1632034143230, 1632034143230: OK.
i= 7: 1632034143230, 1632034143231, 1632034143230: NG!
i= 8: 1632034143230, 1632034143231, 1632034143230: NG!
i= 9: 1632034143230, 1632034143231, 1632034143230: NG!
==> ORDER CHECK 「NG!」のところでchrono > st2 になっており、chronoのtime_pointがSYSTEMTIMEを1 msだけ追い越している
天才なのでそんなヘマはしますしません、
>>387
再現コード貼る、
https://ideone.com/GeMebI
※ 冒頭コメントの通り、非Windows環境では現象再現しないコードなのので注意
ウィンドーズでの実行結果:
i=---: st1, chrono, st2: ORDER CHECK
i= 0: 1632034143228, 1632034143228, 1632034143228: OK.
i= 1: 1632034143229, 1632034143229, 1632034143229: OK.
i= 2: 1632034143229, 1632034143229, 1632034143229: OK.
i= 3: 1632034143229, 1632034143230, 1632034143229: NG!
i= 4: 1632034143229, 1632034143230, 1632034143229: NG!
i= 5: 1632034143230, 1632034143230, 1632034143230: OK.
i= 6: 1632034143230, 1632034143230, 1632034143230: OK.
i= 7: 1632034143230, 1632034143231, 1632034143230: NG!
i= 8: 1632034143230, 1632034143231, 1632034143230: NG!
i= 9: 1632034143230, 1632034143231, 1632034143230: NG!
==> ORDER CHECK 「NG!」のところでchrono > st2 になっており、chronoのtime_pointがSYSTEMTIMEを1 msだけ追い越している
389デフォルトの名無しさん
2021/09/19(日) 15:57:36.84ID:neurUQ4a こっそり訂正するが、>>377で
>st1 < st2 でありかつ (now ≦ st2) が非成立、というケースも発生するあるから
と言ったがな、ありゃ誤報だスマンカッタ、
あとちなみに、>>375を書いた時点では、現象再現はFILETIMEを使わずに、以下の方法で、
SYSTEMTIMEと ( (time_point - epochタイム) を tm構造体に変換したもの、の
それぞれからから直接シリアル日時を出して比較すた、
year * (12 * 31 * 24 * 60 * 60 * 1000)
+ month * (31 * 24 * 60 * 60 * 1000) // 一ヵ月の日数を31固定で換算しているが、大小比較目的なのでこれで問題無い。
+ day * (24 * 60 * 60 * 1000)
+ hour * (60 * 60 * 1000)
+ minute * (60 * 1000)
+ second * (1000)
+ millisecond
>st1 < st2 でありかつ (now ≦ st2) が非成立、というケースも発生するあるから
と言ったがな、ありゃ誤報だスマンカッタ、
あとちなみに、>>375を書いた時点では、現象再現はFILETIMEを使わずに、以下の方法で、
SYSTEMTIMEと ( (time_point - epochタイム) を tm構造体に変換したもの、の
それぞれからから直接シリアル日時を出して比較すた、
year * (12 * 31 * 24 * 60 * 60 * 1000)
+ month * (31 * 24 * 60 * 60 * 1000) // 一ヵ月の日数を31固定で換算しているが、大小比較目的なのでこれで問題無い。
+ day * (24 * 60 * 60 * 1000)
+ hour * (60 * 60 * 1000)
+ minute * (60 * 1000)
+ second * (1000)
+ millisecond
390デフォルトの名無しさん
2021/09/19(日) 16:10:18.78ID:HwX1dH8g まともに読んでないがバリアの使い方がおかしくて実行順序入れ替わってるとかじゃね??
391デフォルトの名無しさん
2021/09/19(日) 16:33:01.30ID:neurUQ4a >>390
(1) _ReadWriteBarrier()は最強のバリアーやぞ;;;
(2) GetLocalTime()がどんな副作用を持つ関数かコンパイラが知るはずは無いのだから
最適化でコードの入れ替えや変数のレジスタ割り当てしっぱなしということはあり得ない
(3) ていうかそれ以前に、GetLocalTime()やstd::chronoの呼び出し元がシングルスレッドなのだから
それで順序がおかしくなるとかCPUがおかしいか、スレッドをプリエンプトして再びディスパッチする際に
別のコアに実行させようとする際にOSがヘマしているかのどちらかという話に……
ちなみに漏れは正常動作しており、本人が言うのだから間違いない
(1) _ReadWriteBarrier()は最強のバリアーやぞ;;;
(2) GetLocalTime()がどんな副作用を持つ関数かコンパイラが知るはずは無いのだから
最適化でコードの入れ替えや変数のレジスタ割り当てしっぱなしということはあり得ない
(3) ていうかそれ以前に、GetLocalTime()やstd::chronoの呼び出し元がシングルスレッドなのだから
それで順序がおかしくなるとかCPUがおかしいか、スレッドをプリエンプトして再びディスパッチする際に
別のコアに実行させようとする際にOSがヘマしているかのどちらかという話に……
ちなみに漏れは正常動作しており、本人が言うのだから間違いない
392デフォルトの名無しさん
2021/09/19(日) 16:39:43.92ID:k8GedCcQ393はちみつ餃子 ◆8X2XSCHEME
2021/09/19(日) 17:02:40.43ID:nkVr2ypq >>375
GetLocalTime の分解能は 10ms くらいっぽいぞ。
system_clock::now がもっと精度の高い API を使っていたら
そんくらいの前後はあってもおかしくないんじゃね。
GetLocalTime の分解能は 10ms くらいっぽいぞ。
system_clock::now がもっと精度の高い API を使っていたら
そんくらいの前後はあってもおかしくないんじゃね。
394デフォルトの名無しさん
2021/09/19(日) 17:17:42.61ID:k8GedCcQ https://ideone.com/qA5yOL
system_clockの部分を生のFILETIMEで置き換えてみた
実行結果はこんな感じ
i= 0: 132765453416200000, 132765129416213861, 132765453416200000: NG!
i= 1: 132765453416210000, 132765129416218094, 132765453416210000: NG!
i= 2: 132765453416210000, 132765129416218837, 132765453416210000: NG!
i= 3: 132765453416210000, 132765129416219530, 132765453416210000: NG!
GetLocalTimeやめたら?
system_clockの部分を生のFILETIMEで置き換えてみた
実行結果はこんな感じ
i= 0: 132765453416200000, 132765129416213861, 132765453416200000: NG!
i= 1: 132765453416210000, 132765129416218094, 132765453416210000: NG!
i= 2: 132765453416210000, 132765129416218837, 132765453416210000: NG!
i= 3: 132765453416210000, 132765129416219530, 132765453416210000: NG!
GetLocalTimeやめたら?
395デフォルトの名無しさん
2021/09/19(日) 17:28:49.56ID:UeoKc9fZ 時刻取得用のAPIをパフォーマンス計測用に使っちゃったんだね
WIN32では大昔からQueryPerformanceFrequencyとQueryPerformanceCounterを使うよ
https://docs.microsoft.com/en-us/windows/win32/api/profileapi/
WIN32では大昔からQueryPerformanceFrequencyとQueryPerformanceCounterを使うよ
https://docs.microsoft.com/en-us/windows/win32/api/profileapi/
396デフォルトの名無しさん
2021/09/19(日) 17:59:29.70ID:UeoKc9fZ 時刻取得でそのまま精度を上げるAPIとしては
GetSystemTimePreciseAsFileTime
https://docs.microsoft.com/ja-jp/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime
ただしWindows 8以降。それ以前だと以下を使うしかないっぽいね。
GetSystemTimeAsFileTime
std::system_time::nowの実装としては、_Xtime_get_ticksを使用している(2021年9月21日17:57JST現在)
https://github.com/microsoft/STL/blob/main/stl/inc/chrono#L663-L665
これが使用しているAPIについて聞いたStackoverflowの質問
https://stackoverflow.com/questions/54933940/what-clock-does-the-visual-studio-2017-crt-implementation-of-stdchronosystem
上記によると最初に書いたAPIである模様
GetSystemTimePreciseAsFileTime
https://docs.microsoft.com/ja-jp/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime
ただしWindows 8以降。それ以前だと以下を使うしかないっぽいね。
GetSystemTimeAsFileTime
std::system_time::nowの実装としては、_Xtime_get_ticksを使用している(2021年9月21日17:57JST現在)
https://github.com/microsoft/STL/blob/main/stl/inc/chrono#L663-L665
これが使用しているAPIについて聞いたStackoverflowの質問
https://stackoverflow.com/questions/54933940/what-clock-does-the-visual-studio-2017-crt-implementation-of-stdchronosystem
上記によると最初に書いたAPIである模様
397デフォルトの名無しさん
2021/09/19(日) 19:46:00.85ID:neurUQ4a >>393
GetLocalTime()の精度が10 ms台だというのは
Windowsのデフォルトのスレッドへの最大ディスパッチ時間15.6 ms(PCによっては10 ms)の影響が混入している可能性、
>>392のリンク先のような計測方法をとった場合、計測中に他のスレッドに実行権を横取りされたりすると、どうしても
期待する時間に対して15.6 msとか(高優先のスレッドが相次いでディスパッチされた場合はあるいはもっと)実際の時間が大きくなる
一方>>375の計測方法は時間の順序にのみ注目しており、プリエンプションの影響を受けない(はずだった
この話に猜疑があるなら後で述べる
>>392
>>392の情報提供はdクスやし実際乗り換えようかと考えているが、それはそうとして、std::chronoのふるまいを検証しなくて委員会?
GetLocalTime()の精度が10 ms台だというのは
Windowsのデフォルトのスレッドへの最大ディスパッチ時間15.6 ms(PCによっては10 ms)の影響が混入している可能性、
>>392のリンク先のような計測方法をとった場合、計測中に他のスレッドに実行権を横取りされたりすると、どうしても
期待する時間に対して15.6 msとか(高優先のスレッドが相次いでディスパッチされた場合はあるいはもっと)実際の時間が大きくなる
一方>>375の計測方法は時間の順序にのみ注目しており、プリエンプションの影響を受けない(はずだった
この話に猜疑があるなら後で述べる
>>392
>>392の情報提供はdクスやし実際乗り換えようかと考えているが、それはそうとして、std::chronoのふるまいを検証しなくて委員会?
398デフォルトの名無しさん
2021/09/19(日) 20:05:49.20ID:neurUQ4a というわけでms単位のUNIX timeを得るにあたってstd::chronoとGetFileTimeAsSystemTime()が同じ精度であり互換であることを
直接検証すた、
https://ideone.com/9Opqj9
実行結果(Windows 10)
i=---: st1, chrono, st2: ORDER CHECK
i= 0: 1632049473157, 1632049473157, 1632049473157: OK.
i= 1: 1632049473158, 1632049473158, 1632049473158: OK.
i= 2: 1632049473159, 1632049473159, 1632049473159: OK.
i= 3: 1632049473159, 1632049473159, 1632049473159: OK.
i= 4: 1632049473159, 1632049473159, 1632049473159: OK.
i= 5: 1632049473159, 1632049473159, 1632049473159: OK.
i= 6: 1632049473159, 1632049473159, 1632049473159: OK.
i= 7: 1632049473159, 1632049473159, 1632049473159: OK.
i= 8: 1632049473160, 1632049473160, 1632049473160: OK.
i= 9: 1632049473160, 1632049473160, 1632049473160: OK.
NG times=0/10
問題無くなったやたー
直接検証すた、
https://ideone.com/9Opqj9
実行結果(Windows 10)
i=---: st1, chrono, st2: ORDER CHECK
i= 0: 1632049473157, 1632049473157, 1632049473157: OK.
i= 1: 1632049473158, 1632049473158, 1632049473158: OK.
i= 2: 1632049473159, 1632049473159, 1632049473159: OK.
i= 3: 1632049473159, 1632049473159, 1632049473159: OK.
i= 4: 1632049473159, 1632049473159, 1632049473159: OK.
i= 5: 1632049473159, 1632049473159, 1632049473159: OK.
i= 6: 1632049473159, 1632049473159, 1632049473159: OK.
i= 7: 1632049473159, 1632049473159, 1632049473159: OK.
i= 8: 1632049473160, 1632049473160, 1632049473160: OK.
i= 9: 1632049473160, 1632049473160, 1632049473160: OK.
NG times=0/10
問題無くなったやたー
399デフォルトの名無しさん
2021/09/19(日) 20:13:38.40ID:neurUQ4a >>393
GetSystemTime()は確かに根本的に精度悪かったスマンカッタorz
この結果からすると、ウィンドーズのシステム時間のの実装は、
OSがプリエンプトした際に更新し、ディスパッチ中は値が変わらないというしくみな可能性が大きい
※ 取得時間の間隔が15.6 msの倍数にならないのは、15.6 msというのがあくまで1津のスレッドが
ディスパッチされてからプリエンプトされるまでの「最大」時間であって実際は高優先のやつに横取りされたり
自発的に待ちに入ったりで15.6 msより小さい時間で実行権をOSに返すからだと思う
GetSystemTime()は確かに根本的に精度悪かったスマンカッタorz
この結果からすると、ウィンドーズのシステム時間のの実装は、
OSがプリエンプトした際に更新し、ディスパッチ中は値が変わらないというしくみな可能性が大きい
※ 取得時間の間隔が15.6 msの倍数にならないのは、15.6 msというのがあくまで1津のスレッドが
ディスパッチされてからプリエンプトされるまでの「最大」時間であって実際は高優先のやつに横取りされたり
自発的に待ちに入ったりで15.6 msより小さい時間で実行権をOSに返すからだと思う
400デフォルトの名無しさん
2021/09/19(日) 21:46:58.47ID:UeoKc9fZ 古いWIN32開発者には常識的な話で検証の必要もなく、実際に検証用のプログラムは昔から大量に作られてるからだと思う
取得時間の間隔が15.6 msの倍数にならないのは「主に16ビット Windows との下位互換性のため」
https://docs.microsoft.com/ja-jp/windows/win32/sysinfo/windows-time
取得時間の間隔が15.6 msの倍数にならないのは「主に16ビット Windows との下位互換性のため」
https://docs.microsoft.com/ja-jp/windows/win32/sysinfo/windows-time
401デフォルトの名無しさん
2021/09/19(日) 22:17:24.32ID:k8GedCcQ >>400
後半って「Windows時刻」の説明だよね?
GetSystemTimeで得られるのは「システム時刻」であって、また別の時刻体系だと読んだけど間違ってる?
https://docs.microsoft.com/ja-jp/windows/win32/sysinfo/system-time
WinAPIスレに持っていったほうがいいかもな
後半って「Windows時刻」の説明だよね?
GetSystemTimeで得られるのは「システム時刻」であって、また別の時刻体系だと読んだけど間違ってる?
https://docs.microsoft.com/ja-jp/windows/win32/sysinfo/system-time
WinAPIスレに持っていったほうがいいかもな
402デフォルトの名無しさん
2021/09/19(日) 22:38:35.16ID:UeoKc9fZ403デフォルトの名無しさん
2021/09/20(月) 00:06:39.19ID:luBeUSFz 周期15.6 msを下位互換性のために新しいWindowsがエミュレートしているというのはありえない
1スレッドへの最大割り当て時間としての15.6 msはPCによって変わり得るデフォルト値にすぎないし、
http://hp.vector.co.jp/authors/VA007219/rtc_pic.html
だいたい設定でも変わるし、
https://atmarkit.itmedia.co.jp/ait/articles/1410/30/news150_2.html
(スレッドのクォンタムタイム)
取得間隔が15.6 msにならない理由は>>399で説明いしたし
1スレッドへの最大割り当て時間としての15.6 msはPCによって変わり得るデフォルト値にすぎないし、
http://hp.vector.co.jp/authors/VA007219/rtc_pic.html
だいたい設定でも変わるし、
https://atmarkit.itmedia.co.jp/ait/articles/1410/30/news150_2.html
(スレッドのクォンタムタイム)
取得間隔が15.6 msにならない理由は>>399で説明いしたし
404デフォルトの名無しさん
2021/09/20(月) 00:10:20.87ID:luBeUSFz で、GetTickCount()の分解能かきちり1 msであることはビジーループ的に値をとってみたらワカル
分解能に関して後方互換性も糞もなく昔からそいうブツのはず
多分やけど、ハードウェアのカウンタを読んでるだけやからなあれ
分解能に関して後方互換性も糞もなく昔からそいうブツのはず
多分やけど、ハードウェアのカウンタを読んでるだけやからなあれ
405デフォルトの名無しさん
2021/09/20(月) 00:25:55.12ID:luBeUSFz と思って、
const int N = 10;
std::vector<DWORD> vec;
DWORD curTmg = GetTickCount();
DWORD prevTmg;
while (vec.size() < (size_t)N) {
prevTmg = curTmg;
curTmg = GetTickCount();
if (prevTmg != curTmg) {
vec.push_back(curTmg);
}
}
for (int i = 0; i < N; i++) {
(差分vec[i] - vec[i-1]をprint)
}
というのをやったら、
const int N = 10;
std::vector<DWORD> vec;
DWORD curTmg = GetTickCount();
DWORD prevTmg;
while (vec.size() < (size_t)N) {
prevTmg = curTmg;
curTmg = GetTickCount();
if (prevTmg != curTmg) {
vec.push_back(curTmg);
}
}
for (int i = 0; i < N; i++) {
(差分vec[i] - vec[i-1]をprint)
}
というのをやったら、
406デフォルトの名無しさん
2021/09/20(月) 00:26:50.20ID:luBeUSFz vec[0]=1391507593
vec[1]=1391507609 (diff=16)
vec[2]=1391507625 (diff=16)
vec[3]=1391507640 (diff=15)
vec[4]=1391507656 (diff=16)
vec[5]=1391507671 (diff=15)
vec[6]=1391507687 (diff=16)
vec[7]=1391507703 (diff=16)
vec[8]=1391507718 (diff=15)
vec[9]=1391507734 (diff=16)
やったわorz
まつがえますたすみません;;;
勉強になるなあ、
vec[1]=1391507609 (diff=16)
vec[2]=1391507625 (diff=16)
vec[3]=1391507640 (diff=15)
vec[4]=1391507656 (diff=16)
vec[5]=1391507671 (diff=15)
vec[6]=1391507687 (diff=16)
vec[7]=1391507703 (diff=16)
vec[8]=1391507718 (diff=15)
vec[9]=1391507734 (diff=16)
やったわorz
まつがえますたすみません;;;
勉強になるなあ、
407デフォルトの名無しさん
2021/09/20(月) 06:12:36.98ID:DnvAIBnA >>402
自己レスです
GetTickCountとGetLocalTimeとGetSystemTimeの分解能調査
https://ideone.com/wKC8DA
1000回値が変わるのにかかった時間をマイクロ秒で計測した(std::chrono::high_resolution_clock::now()で計測)
PS C:\> .\ConsoleApplication8.exe
15614998
1003946
1000238
PS C:\> .\ConsoleApplication8.exe
15621414
1001066
1001218
PS C:\>
結論: GetLocalTimeは約1秒なのでこの環境(Win10+ハード)では1ms程度の分解能がある
感想: 誤差大きい
自己レスです
GetTickCountとGetLocalTimeとGetSystemTimeの分解能調査
https://ideone.com/wKC8DA
1000回値が変わるのにかかった時間をマイクロ秒で計測した(std::chrono::high_resolution_clock::now()で計測)
PS C:\> .\ConsoleApplication8.exe
15614998
1003946
1000238
PS C:\> .\ConsoleApplication8.exe
15621414
1001066
1001218
PS C:\>
結論: GetLocalTimeは約1秒なのでこの環境(Win10+ハード)では1ms程度の分解能がある
感想: 誤差大きい
408デフォルトの名無しさん
2021/09/20(月) 07:46:32.11ID:Pqsh6MJQ ここはWindowsAPIスレになったのか
409デフォルトの名無しさん
2021/09/20(月) 07:51:13.46ID:l/aXhlvm スレタイも読めない、検索できないやつがまともなプログラム書けるはずもなく・・・
410デフォルトの名無しさん
2021/09/20(月) 07:52:13.05ID:Mm5TpRqo windows API使いたがるひとがいてめんどくさい
こっちはなるべく標準のc++使いたいのに
こっちはなるべく標準のc++使いたいのに
411デフォルトの名無しさん
2021/09/20(月) 08:19:53.25ID:VgAULHWI POSIXと比べるとクソ過ぎて話にならんよな
412デフォルトの名無しさん
2021/09/20(月) 10:01:57.22ID:LqQpPYvk プラットフォーム固有の話も参考になる
今回の流れは Win32 API と std::chrono の違いが端緒だしスレ違いというほどではない
今回の流れは Win32 API と std::chrono の違いが端緒だしスレ違いというほどではない
413デフォルトの名無しさん
2021/09/20(月) 10:48:50.60ID:T+6xg0LJ そのクソがなんで一番利用者多いのか考えてみろ
414デフォルトの名無しさん
2021/09/20(月) 11:24:41.17ID:VgAULHWI バカに合わせてるからだろ
言わせんなよ恥ずかしい
言わせんなよ恥ずかしい
415ハノン ◆QZaw55cn4c
2021/09/20(月) 11:26:09.83ID:+hQanlE4 私馬鹿よねーお馬鹿さんよねー今日も win32api
416デフォルトの名無しさん
2021/09/20(月) 11:30:28.88ID:DnvAIBnA とりあえず動かないから面白くないということなのかもなということで、Linuxのclock_gettimeにも対応しといた。
BSDとmac組は知らん。
https://ideone.com/Z9CfOo
一応WIN32はあえて低解像度のを計測してるという点だけは補足しておきます。
BSDとmac組は知らん。
https://ideone.com/Z9CfOo
一応WIN32はあえて低解像度のを計測してるという点だけは補足しておきます。
417デフォルトの名無しさん
2021/09/20(月) 12:15:53.36ID:rmuhdvcF timeBeginPeriod
木屋さん元気かな
木屋さん元気かな
418デフォルトの名無しさん
2021/09/20(月) 12:28:29.25ID:26DwFCZj 元の質問見てないけどQPCでええんちゃうの
419デフォルトの名無しさん
2021/09/20(月) 12:45:29.78ID:DnvAIBnA >>417
スレッドのスケジューリングも変化するので注意です。
tickとはそもそもそういうものでしたが。
http://archive.linux.or.jp/JF/JFdocs/The-Linux-Kernel-20.html
>>418
>>395でそう言ったし、high_resolution_clockで使用されてるのもそれ
スレッドのスケジューリングも変化するので注意です。
tickとはそもそもそういうものでしたが。
http://archive.linux.or.jp/JF/JFdocs/The-Linux-Kernel-20.html
>>418
>>395でそう言ったし、high_resolution_clockで使用されてるのもそれ
420デフォルトの名無しさん
2021/09/20(月) 12:51:33.23ID:VgAULHWI CreateWaitableTimerEx(NULL,NULL,CREATE_WAITABLE_TIMER_HIGH_RESOLUTION,TIMER_ALL_ACCESS)
421デフォルトの名無しさん
2021/09/20(月) 13:22:11.61ID:DnvAIBnA422デフォルトの名無しさん
2021/09/20(月) 13:58:28.71ID:VgAULHWI バカか
計測するなら精度高めないと意味ないだろ
計測するなら精度高めないと意味ないだろ
423デフォルトの名無しさん
2021/09/20(月) 14:31:11.65ID:LO5PkHvF そもそもパフォーマンスの計測に使うなんて言ってなくない?
424デフォルトの名無しさん
2021/09/20(月) 16:05:39.48ID:DnvAIBnA >>422
この例はExついてないけど、こういう使い方をするものなんだよ。
待機可能タイマー オブジェクトの使用 - Win32 apps | Microsoft Docs
https://docs.microsoft.com/ja-jp/windows/win32/sync/using-waitable-timer-objects
>>423
>>388で求めているのは正確には時刻取得だね。つまりsystem_clockの話。
俺がしてるのは時間計測なのでsteady_clockの話。
違いは時刻の修正などにより増減するかしないかという特性の違いと、それを実現するHWタイマの分解能/性能の違い。
GetLocalTimeの分解能は文書にも記述がなく、>>393の指摘だけで事実関係が不明なまま宙に浮いてたので、>>416などでそれを計測した。
ここでは10〜15.6msの出元であるGetTickCountもついでに計測した。
steady_clockとsystem_clockをどこかで同時に取得して、steady_clockの分解能のまま時刻っぽいものを得るみたいなことも短期的には現実的な精度でできなくはないけど。
この例はExついてないけど、こういう使い方をするものなんだよ。
待機可能タイマー オブジェクトの使用 - Win32 apps | Microsoft Docs
https://docs.microsoft.com/ja-jp/windows/win32/sync/using-waitable-timer-objects
>>423
>>388で求めているのは正確には時刻取得だね。つまりsystem_clockの話。
俺がしてるのは時間計測なのでsteady_clockの話。
違いは時刻の修正などにより増減するかしないかという特性の違いと、それを実現するHWタイマの分解能/性能の違い。
GetLocalTimeの分解能は文書にも記述がなく、>>393の指摘だけで事実関係が不明なまま宙に浮いてたので、>>416などでそれを計測した。
ここでは10〜15.6msの出元であるGetTickCountもついでに計測した。
steady_clockとsystem_clockをどこかで同時に取得して、steady_clockの分解能のまま時刻っぽいものを得るみたいなことも短期的には現実的な精度でできなくはないけど。
425デフォルトの名無しさん
2021/09/25(土) 05:50:44.21ID:B+D0wTVh 3種類ぐらいのタイマの時刻が1000回変化するのに要するトータル時間Tを測っているらしいが
この計測結果からSYSTEMTIMEの分解能がHWタイマの分解能/性能の違いに起因すると結論づけることはできない
実態は>>375な計り方でst1: SYSTEMTIME、now: nowtime_point、st2: SYSTEMTIME、の順で立て続けに時間をとると
>>388の通り
st1 ≦ now && now ≦ st2 + 1 ms
という結果なわけで、この「1 ms(<15.6 ms)というのは本当にハードウェアタイマの分解能なんかい話が違うぞ?!」と詰問されて
答えに窮する>>424な未来が見える見えまくり
この計測結果からSYSTEMTIMEの分解能がHWタイマの分解能/性能の違いに起因すると結論づけることはできない
実態は>>375な計り方でst1: SYSTEMTIME、now: nowtime_point、st2: SYSTEMTIME、の順で立て続けに時間をとると
>>388の通り
st1 ≦ now && now ≦ st2 + 1 ms
という結果なわけで、この「1 ms(<15.6 ms)というのは本当にハードウェアタイマの分解能なんかい話が違うぞ?!」と詰問されて
答えに窮する>>424な未来が見える見えまくり
426デフォルトの名無しさん
2021/09/25(土) 05:55:32.54ID:B+D0wTVh427デフォルトの名無しさん
2021/09/25(土) 06:02:51.16ID:B+D0wTVh ごめ、Sleep(1000)を入れたのではOSにプリエンプションの機会を与えてしまうからNG
正しくは
GetSystemTime(&st1);
15.6 ms未満のビジーループ <== 訂正
now = system_clock::now();
GetSystemTime(&st2);
とすると、
st1 ≦ now && now ≦ st2 + 15.6 ms
にnowの精度が劣化する、に訂正
OSのAPIもプリエンプションの機会にならない保証が無いのでビジーループはガチでビジーループで作る必要があり、
面倒なのでやらないがな!
正しくは
GetSystemTime(&st1);
15.6 ms未満のビジーループ <== 訂正
now = system_clock::now();
GetSystemTime(&st2);
とすると、
st1 ≦ now && now ≦ st2 + 15.6 ms
にnowの精度が劣化する、に訂正
OSのAPIもプリエンプションの機会にならない保証が無いのでビジーループはガチでビジーループで作る必要があり、
面倒なのでやらないがな!
428デフォルトの名無しさん
2021/09/25(土) 07:18:10.24ID:B+D0wTVh といいつつAPIに頼らずに10 ms規模のビジーループ(ビジーウェイト)させるのはやや技巧を要すると思ったので漏れが自らやってやった、
https://ideone.com/CjXN4X
※ 計測の実行は要Windows
結果、1 ms、8 ms、16 ms、1秒のどれに変えても>>388と同じで、
std::chrono::now()の時刻nowに対し、その直後にGetSystemTime()で得た時刻st2が
1 msだけ追い越されることはあっても決して 1 msより大きく追い越されることは無かったorz
なぜじゃ闇が深いなこれ、
もちろんGetSystemTime()ではなくGetSystemTimePreciseAsFileTime()を使う(↑のソースコードのPRECISE_AS_FILETIMEマクロ定義を有効化する
と>>398の通りドンピシャな時刻順になる点はビジーウェイトがあっても変わらない。
GetSystemTime()のふるまいが一方的に謎杉
https://ideone.com/CjXN4X
※ 計測の実行は要Windows
結果、1 ms、8 ms、16 ms、1秒のどれに変えても>>388と同じで、
std::chrono::now()の時刻nowに対し、その直後にGetSystemTime()で得た時刻st2が
1 msだけ追い越されることはあっても決して 1 msより大きく追い越されることは無かったorz
なぜじゃ闇が深いなこれ、
もちろんGetSystemTime()ではなくGetSystemTimePreciseAsFileTime()を使う(↑のソースコードのPRECISE_AS_FILETIMEマクロ定義を有効化する
と>>398の通りドンピシャな時刻順になる点はビジーウェイトがあっても変わらない。
GetSystemTime()のふるまいが一方的に謎杉
429デフォルトの名無しさん
2021/09/25(土) 08:12:02.95ID:HzR9ZlyY WinAPIスレに持っていってくれますか?
結局<chrono>に固有の問題(?)ではなくて背後のAPI関数に関することって分かったはずなんで
結局<chrono>に固有の問題(?)ではなくて背後のAPI関数に関することって分かったはずなんで
430デフォルトの名無しさん
2021/09/25(土) 08:44:57.34ID:HzR9ZlyY とか言いつつ自分で探してきたので貼っちゃう……
GetSystemTimeの分解能が15.6msというのはXPまでの話らしい
https://www.thedelphigeek.com/2007/10/calculating-accurate.html
GetSystemTimeの分解能が15.6msというのはXPまでの話らしい
https://www.thedelphigeek.com/2007/10/calculating-accurate.html
431デフォルトの名無しさん
2021/09/25(土) 09:20:27.88ID:ZWKkb85T432デフォルトの名無しさん
2021/09/25(土) 17:45:16.21ID:+JZgAVsh > プリエンプションの機会
機会を与えないことができるのは昔のWindowsだろ
機会を与えないことができるのは昔のWindowsだろ
433デフォルトの名無しさん
2021/09/25(土) 18:35:43.94ID:8CcFj4Yb 今だって邪魔できるよ
消極的ではあるけど
消極的ではあるけど
434デフォルトの名無しさん
2021/09/25(土) 18:44:00.64ID:+JZgAVsh 割り込み禁止命令が実行できたり
割り込みコントローラにコマンド出せたりする
デバドラかMODESETみたいのないと無理だよ
割り込みコントローラにコマンド出せたりする
デバドラかMODESETみたいのないと無理だよ
435デフォルトの名無しさん
2021/09/26(日) 12:46:15.93ID:9lvhFgGq std::complex<double> の変数 a, b について、OpenMP の並列リージョン内での
#pragma omp atomic
a += b;
が
error: invalid expression type for '#pragma omp atomic'
というエラーを出すんですが、std::complex はアトミック演算の対象外ですか?
それとも他の何かを見落としてる可能性がある?
#pragma omp atomic
a += b;
が
error: invalid expression type for '#pragma omp atomic'
というエラーを出すんですが、std::complex はアトミック演算の対象外ですか?
それとも他の何かを見落としてる可能性がある?
436デフォルトの名無しさん
2021/09/26(日) 13:03:13.46ID:4UIlewCz ompのAPI仕様書を読むと対象はスカラー型のみって書いてあるから対象外なんじゃないの?
437デフォルトの名無しさん
2021/09/26(日) 13:04:21.25ID:4UIlewCz ここのx and vってとこ
https://www.openmp.org/spec-html/5.0/openmpsu95.html
https://www.openmp.org/spec-html/5.0/openmpsu95.html
438デフォルトの名無しさん
2021/09/26(日) 13:07:22.68ID:9lvhFgGq 数学とか物理の用語としては複素数はスカラーですが、コンピューター用語としては違うんでしたっけ?
439デフォルトの名無しさん
2021/09/26(日) 13:18:19.13ID:loHIOGgF 確かモルダーを疲れさせる女のこと
440デフォルトの名無しさん
2021/09/26(日) 13:28:55.11ID:pztAGZv/ 対象外
ぷりみ恥部とPOD以外だめ
ぷりみ恥部とPOD以外だめ
441デフォルトの名無しさん
2021/09/26(日) 14:59:44.58ID:4UIlewCz >>438
std::complexはclass型だよ。c++では
std::complexはclass型だよ。c++では
442デフォルトの名無しさん
2021/09/26(日) 15:02:24.84ID:9lvhFgGq443はちみつ餃子 ◆8X2XSCHEME
2021/09/27(月) 00:54:20.59ID:vtQXnC4F >>438
C++ におけるスカラ型の定義
・ 算術型 (整数型と浮動小数点数型)
・ 列挙型
・ ポインタ型
・ メンバへのポインタ型
・ std::nullptr_t
・ 以上を cv 修飾 (const や volatile で修飾) したもの
https://timsong-cpp.github.io/cppwp/n3337/basic.types#9
言語によって定義は異なっている (または定義を持たない) ので
コンピューター用語として一般化は出来ないと思う。
C++ におけるスカラ型の定義
・ 算術型 (整数型と浮動小数点数型)
・ 列挙型
・ ポインタ型
・ メンバへのポインタ型
・ std::nullptr_t
・ 以上を cv 修飾 (const や volatile で修飾) したもの
https://timsong-cpp.github.io/cppwp/n3337/basic.types#9
言語によって定義は異なっている (または定義を持たない) ので
コンピューター用語として一般化は出来ないと思う。
444デフォルトの名無しさん
2021/09/27(月) 06:07:00.04ID:vzE92GBt ここはC++スレだからC++用語で必要充分だ
無理に一般化する必要はない
無理に一般化する必要はない
445デフォルトの名無しさん
2021/09/27(月) 08:56:19.98ID:P6ytpwfT 複素数が「算術型」じゃないのって冷静に考えるの結構奇妙だな
446デフォルトの名無しさん
2021/09/27(月) 19:18:30.57ID:LR1S7vXs 複素数を直接扱う命令がないCPUが多い以上、小数2個で表される複素数がスカラではないのは自然だと思うけど
それを言い出すと、一般線形群と呼ばれる行列はなんでも算術型になるのではないか?と思えてくるし
それを言い出すと、一般線形群と呼ばれる行列はなんでも算術型になるのではないか?と思えてくるし
447デフォルトの名無しさん
2021/09/27(月) 19:25:38.25ID:n9hc+rIL arithmeticを「算術」とか仰々しく訳すからおかしくなる
要は小学生がさんすうで習うような単純な数のことよ
要は小学生がさんすうで習うような単純な数のことよ
448デフォルトの名無しさん
2021/09/27(月) 22:16:24.75ID:D7AKGDxr そもそも数学でも複素数はスカラじゃないよな
449デフォルトの名無しさん
2021/09/27(月) 22:19:03.53ID:sGjfmd1K ベクトルの係数になるんだから基本的にスカラじゃねえの
450デフォルトの名無しさん
2021/09/27(月) 22:43:23.51ID:PI7czi9F スカラーだったりベクトルだったりするらしい
http://izumi-math.jp/K_Manabe/what_v/what_v_3.htm
http://izumi-math.jp/K_Manabe/what_v/what_v_3.htm
451デフォルトの名無しさん
2021/09/27(月) 22:51:45.61ID:GPisoDJi 複素ベクトル空間の係数体の元として見ればスカラだし複素数体を実ベクトル空間と見れば複素数は実ベクトル
452デフォルトの名無しさん
2021/09/28(火) 07:58:37.24ID:ZoUlFxaV 除算が定義できる体なので普通はスカラーとして扱うと思うけどな。
2要素の実ベクトルや2自由度の行列に適切な演算を導入することによって同一視することはできる。
2要素の実ベクトルや2自由度の行列に適切な演算を導入することによって同一視することはできる。
453デフォルトの名無しさん
2021/09/29(水) 10:21:13.97ID:QYKzykPR >>447
要は小学生がさんすうで習うような単純な数のことを「算術」と言うんだが
要は小学生がさんすうで習うような単純な数のことを「算術」と言うんだが
454ハノン ◆QZaw55cn4c
2021/09/29(水) 18:51:49.92ID:+NS+8RdU455デフォルトの名無しさん
2021/09/29(水) 19:37:07.20ID:F6bYTA4Q 好きなX^2=-Iを満たす行列Xを用意すればaI+bXが複素数の表現になるよ
456デフォルトの名無しさん
2021/09/30(木) 04:33:42.15ID:a96KQdEj457デフォルトの名無しさん
2021/09/30(木) 10:27:42.19ID:rsDh5L5E i 0
0 i
0 i
458デフォルトの名無しさん
2021/09/30(木) 12:07:05.65ID:CrfxKotF 複素数z=x+iy (x, y:実数)とした場合どうやって行列で表現できるのか分からん
そもそも無理だろ
そもそも無理だろ
459デフォルトの名無しさん
2021/09/30(木) 12:15:59.67ID:LH+TfD4u いい加減スレチだぞお前ら
460デフォルトの名無しさん
2021/09/30(木) 12:39:55.75ID:HqpdIwHE 複素数の実行列表現あたりで調べれば出てくるから自分で調べろ。
複素数ライブラリの実装は行列表現だろ。
複素数ライブラリの実装は行列表現だろ。
461デフォルトの名無しさん
2021/09/30(木) 14:36:41.46ID:rqtJMe+2 承認欲求が満たされなかったキチガイのハ◯ンが荒らしてるんだな
462ハノン ◆QZaw55cn4c
2021/09/30(木) 21:06:22.87ID:SS5VJirH463デフォルトの名無しさん
2021/09/30(木) 22:32:11.42ID:hyVGcxZ+ 複素数ライブラリの実装が行列表現な訳ないだろ
464デフォルトの名無しさん
2021/10/01(金) 04:28:27.07ID:YSb3+a7i パウリ行列やで
465デフォルトの名無しさん
2021/10/01(金) 08:55:53.93ID:wyBR1P+Z それは四元数では
466デフォルトの名無しさん
2021/10/01(金) 11:45:26.96ID:o+E+DUKy そもそも勝手な演算❎とかを用意して、それを複素数の演算になるような演算規則にすればいいだけの話
普通のプログラミング言語での実装は2要素ベクトルに対して複素数積となるような演算を*に対応させているんだと思うけどな
行列積が複素数の積と同一視できるような表現行列があるというだけ
群論とか環論とか体論とか入門的にでもやればわかるよ
普通のプログラミング言語での実装は2要素ベクトルに対して複素数積となるような演算を*に対応させているんだと思うけどな
行列積が複素数の積と同一視できるような表現行列があるというだけ
群論とか環論とか体論とか入門的にでもやればわかるよ
467デフォルトの名無しさん
2021/10/02(土) 13:55:46.16ID:cR/mfYmg ベクトルの要素は座標変換で変わるからスカラーではない
468デフォルトの名無しさん
2021/10/02(土) 13:59:33.99ID:cR/mfYmg まつがえたorz
誤: 変わるから
正: 変化すっから
誤: 変わるから
正: 変化すっから
469デフォルトの名無しさん
2021/10/02(土) 14:34:20.70ID:7v0dyN4q 物理屋さんか?
470デフォルトの名無しさん
2021/10/02(土) 14:56:43.55ID:cR/mfYmg んまーたしかに物理現象は座標変換しても変わらない(同じもの)とみなすのが
物理の先生なのかもしれん スカラーもそん延長線上の概念
しかし観測が系に影響を与えると言い出した時点でいつまで真理でありつづけることやら……
物理の先生なのかもしれん スカラーもそん延長線上の概念
しかし観測が系に影響を与えると言い出した時点でいつまで真理でありつづけることやら……
471デフォルトの名無しさん
2021/10/02(土) 20:42:45.96ID:xJ5F1jwy >>467
言葉足らずだったかもしれないが、複素数体と数学的にはR2の正規直交基底かつ基底の長さが1のベクトルの成分表示を、適切な演算を入れることによって同一視することができるという話をしているのであって、一般的なベクトル空間の話をしている訳ではない。
言葉足らずだったかもしれないが、複素数体と数学的にはR2の正規直交基底かつ基底の長さが1のベクトルの成分表示を、適切な演算を入れることによって同一視することができるという話をしているのであって、一般的なベクトル空間の話をしている訳ではない。
472デフォルトの名無しさん
2021/10/02(土) 21:15:26.25ID:cR/mfYmg スカラーか否かというのは数をどこに使うかの話であって
数をどう表現するかの話ではないし、
数をどう表現するかの話ではないし、
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】 アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 [お断り★]
- 「二枚舌は許されない」中国外務省 高市総理の発言を批判… [BFU★]
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★2 [お断り★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★8 [樽悶★]
- 「二枚舌は許されない」中国外務省 高市総理の発言を批判… ★2 [BFU★]
- 中国国際航空が日本便を減便へ、春節休みも SNSでは投稿相次ぐ [七波羅探題★]
- 【実況】博衣こよりのえちえちお子様ランチ🛸💜🥀🧪🍃
- 【悲報】高市有事、中国から追加の報復措置が来る模様 [834922174]
- 【画像】中国軍、高市早苗の新作画像を公開wwwwwwwwww [834922174]
- 【男磨き】ハウスルール汁遊び禁止🈲🏡【ジョージメンズコーチ】
- 恐ろしい😈のちゅちょちゅちょ・ちぇびるのお🏡
- でもさ、国会議員の歳費が上がると民間給与も連動して上がると言われてるんだよ [237216734]
