闘え
※前スレ
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/
C vs C++ vs Rust Part.2
https://mevius.5ch.net/test/read.cgi/tech/1639539350/
探検
C vs C++ vs Rust Part.3
■ このスレッドは過去ログ倉庫に格納されています
2022/01/27(木) 22:19:47.56ID:avZQ9Wm7
685デフォルトの名無しさん
2022/03/20(日) 23:25:08.78ID:Ftc+D3LS 業界標準ツールのRust化も激しいよな
例えばJavaScriptでおなじみのトランスパイラBabel
遅いので当然ながらRust版のSWCというのが作成されて
React/Next.jp環境でもBabelからそのRust版へと移行された
例えばJavaScriptでおなじみのトランスパイラBabel
遅いので当然ながらRust版のSWCというのが作成されて
React/Next.jp環境でもBabelからそのRust版へと移行された
686デフォルトの名無しさん
2022/03/20(日) 23:39:52.49ID:1+CNf8az 全部であるかのごとくに書いてるけどごくごく一部だし、しかも期待したほど速度が上がらずに困ってたよねw
JavaScriptに比べてだぞ?w
JavaScriptに比べてだぞ?w
687デフォルトの名無しさん
2022/03/20(日) 23:57:33.12ID:jG5ySy9q >>686
swcはbabelより20〜50倍速い
swcはbabelより20〜50倍速い
688デフォルトの名無しさん
2022/03/21(月) 00:09:57.25ID:BAdp3agq 公称だろ?w 実際試した人がそうでもなかった(忘れたけど1.x倍くらい)って言ってたよw
689デフォルトの名無しさん
2022/03/21(月) 00:10:28.20ID:BAdp3agq しかも場合によっては遅くなるって言ってたw
690デフォルトの名無しさん
2022/03/21(月) 00:53:26.08ID:1rsJ1Bxd691デフォルトの名無しさん
2022/03/21(月) 01:13:09.95ID:BAdp3agq まあ自分で試したわけじゃないから、そう言われても何とも言えんけどなw
692デフォルトの名無しさん
2022/03/21(月) 03:44:24.39ID:qXBNR9Nr >>669
> fn subsets_collect<T>(s: &Vec<T>)
ガイガー君は相変わらず素人のままだな
そこは&Vec<T>ではなく&[T]と書くのだよ
Vec自体の固有機能に関する動作の場合を除き
狭くVecのみを対象にするのはバカげている
スライスを対象にするのが鉄則
&Vec<T> ←Vecしか受け付けられない
&[T] ←Vecも配列もスライスも受け付ける
> fn subsets_collect<T>(s: &Vec<T>)
ガイガー君は相変わらず素人のままだな
そこは&Vec<T>ではなく&[T]と書くのだよ
Vec自体の固有機能に関する動作の場合を除き
狭くVecのみを対象にするのはバカげている
スライスを対象にするのが鉄則
&Vec<T> ←Vecしか受け付けられない
&[T] ←Vecも配列もスライスも受け付ける
693デフォルトの名無しさん
2022/03/21(月) 04:14:12.72ID:BAdp3agq >>692
そんなこと言われなくても知っとるわwwww
それは俺のポリシーとして、可能ならVecを返すならVecを受けたいだけw
今回のケースではメリットとかないよw
同様にsliceで受けたらArrayで返したいし、iteratorを受けたらiteratorを返したいw
そんなこと言われなくても知っとるわwwww
それは俺のポリシーとして、可能ならVecを返すならVecを受けたいだけw
今回のケースではメリットとかないよw
同様にsliceで受けたらArrayで返したいし、iteratorを受けたらiteratorを返したいw
694デフォルトの名無しさん
2022/03/21(月) 04:24:26.11ID:Czlt7YRo695デフォルトの名無しさん
2022/03/21(月) 04:53:35.01ID:BAdp3agq >>694
[i32] ... Array
&[i32] ... スライス
T ... T
&T ... Tの参照
という理解で、
・特定の型の参照はスライスとして扱える
・Arrayの参照はスライスと区別できない
と思ってて
→スライスで渡されたらArrayで返す
という発想なんだが、違うの?
[i32] ... Array
&[i32] ... スライス
T ... T
&T ... Tの参照
という理解で、
・特定の型の参照はスライスとして扱える
・Arrayの参照はスライスと区別できない
と思ってて
→スライスで渡されたらArrayで返す
という発想なんだが、違うの?
696デフォルトの名無しさん
2022/03/21(月) 05:13:22.29ID:Czlt7YRo697デフォルトの名無しさん
2022/03/21(月) 05:32:43.26ID:BAdp3agq >>696
なん。。だと!?!?そんな基本的なところを気付いていなかったのかw
では
・Arrayの参照(&[T;N])はスライス([T])と区別できる
let a = &[1,2,3];
のaは俺はずっとスライスと思ってたけど、そうではなく、
let a = &[1,2,3] as &[i32];
とかでないとスライス(の参照)にはならんってことかwwww
これはすまんかったw
ちょっともう一度最初から整理し直さないといかんかもw
ありがとw
なん。。だと!?!?そんな基本的なところを気付いていなかったのかw
では
・Arrayの参照(&[T;N])はスライス([T])と区別できる
let a = &[1,2,3];
のaは俺はずっとスライスと思ってたけど、そうではなく、
let a = &[1,2,3] as &[i32];
とかでないとスライス(の参照)にはならんってことかwwww
これはすまんかったw
ちょっともう一度最初から整理し直さないといかんかもw
ありがとw
698デフォルトの名無しさん
2022/03/21(月) 06:00:44.84ID:Czlt7YRo >>697
そこはコアースされます
配列とスライスの違いをわかりやすく使用例で示しましょう
まず「配列を受け取り」その各値を2倍にした「配列を返す」関数twice()です
fn twice<const N: usize>(input: &[isize; N]) -> [isize; N] {
let mut output: [isize; N] = [0; N];
for i in 0..N {
output[i] = input[i] * 2;
}
output
}
わかりやすいようforで回して代入しています
fn main() {
let input = [1, 2, 3];
println!("{:?}", twice(&input));
}
もちろんちゃんと動いて[2, 4, 6]となりますね
この関数の引数をスライスを受け取るように型を&[isize]へ変えても大丈夫なのですが
ただし関数を使う時にちょっと状況が変わってきます
そこには様々な違いと問題が生じますので実体験しましょう
これがスライスと配列の違いを理解するためのあなたへの宿題です
そこはコアースされます
配列とスライスの違いをわかりやすく使用例で示しましょう
まず「配列を受け取り」その各値を2倍にした「配列を返す」関数twice()です
fn twice<const N: usize>(input: &[isize; N]) -> [isize; N] {
let mut output: [isize; N] = [0; N];
for i in 0..N {
output[i] = input[i] * 2;
}
output
}
わかりやすいようforで回して代入しています
fn main() {
let input = [1, 2, 3];
println!("{:?}", twice(&input));
}
もちろんちゃんと動いて[2, 4, 6]となりますね
この関数の引数をスライスを受け取るように型を&[isize]へ変えても大丈夫なのですが
ただし関数を使う時にちょっと状況が変わってきます
そこには様々な違いと問題が生じますので実体験しましょう
これがスライスと配列の違いを理解するためのあなたへの宿題です
699デフォルトの名無しさん
2022/03/21(月) 06:10:12.41ID:BAdp3agq700デフォルトの名無しさん
2022/03/21(月) 06:18:10.57ID:Czlt7YRo701デフォルトの名無しさん
2022/03/21(月) 06:22:52.71ID:BAdp3agq >>700
一応配列で渡されたら配列で返したい心理の説明をしておくと、例えばベクタなど配列と同じような構造で動的に拡張可能なコレクションをずっと持ち回っていると、そいつが過去に持っていたデータなどが後ろにくっついてる可能性があったり、余計なメモリを確保していたり、gcなどが効きにくくなったりするので、内部処理で使ったオブジェクトではない、綺麗な生成データを固定で作って返す風習があるんだよw
一応配列で渡されたら配列で返したい心理の説明をしておくと、例えばベクタなど配列と同じような構造で動的に拡張可能なコレクションをずっと持ち回っていると、そいつが過去に持っていたデータなどが後ろにくっついてる可能性があったり、余計なメモリを確保していたり、gcなどが効きにくくなったりするので、内部処理で使ったオブジェクトではない、綺麗な生成データを固定で作って返す風習があるんだよw
702デフォルトの名無しさん
2022/03/21(月) 06:32:23.88ID:Czlt7YRo703デフォルトの名無しさん
2022/03/21(月) 06:33:56.07ID:BAdp3agq >>702
できるし頼んでないのでwwwww
できるし頼んでないのでwwwww
704デフォルトの名無しさん
2022/03/21(月) 06:40:05.89ID:Czlt7YRo705デフォルトの名無しさん
2022/03/21(月) 06:42:57.16ID:BAdp3agq706デフォルトの名無しさん
2022/03/21(月) 06:50:01.91ID:Czlt7YRo707デフォルトの名無しさん
2022/03/21(月) 06:53:37.67ID:BAdp3agq708デフォルトの名無しさん
2022/03/21(月) 06:57:16.08ID:Czlt7YRo709デフォルトの名無しさん
2022/03/21(月) 06:59:16.07ID:BAdp3agq710デフォルトの名無しさん
2022/03/21(月) 07:00:45.10ID:BAdp3agq こういう輩は確かに煽ってみるに限るなw 面白いしw
711デフォルトの名無しさん
2022/03/21(月) 07:04:34.69ID:Czlt7YRo712デフォルトの名無しさん
2022/03/21(月) 07:05:47.35ID:BAdp3agq 他の可能性があるんだ〜へぇ〜それは思いつかなかったなw
どうでもいいけどwwwwwwww
どうでもいいけどwwwwwwww
713デフォルトの名無しさん
2022/03/21(月) 07:14:14.39ID:Czlt7YRo714デフォルトの名無しさん
2022/03/21(月) 07:16:48.53ID:BAdp3agq はいはい、嘘乙wwwww
715デフォルトの名無しさん
2022/03/21(月) 07:18:49.08ID:BAdp3agq ってもう終わりなのかよwwwww
夜までまだ長いぞw
夜までまだ長いぞw
716デフォルトの名無しさん
2022/03/21(月) 07:36:36.37ID:cgJvFkX3 フレームワークのドキュメントは読むのに言語につきてのドキュメントは読まないで雰囲気でやっていたのか
717デフォルトの名無しさん
2022/03/21(月) 07:58:11.85ID:BAdp3agq 早速転生してきたのかw いい心がけだw
いや読んだけど一度切りだよw
俺は必要がなければ読み返さないし、明確にsliceの定義をしているものがなかったので、誤った解釈のままだっただけw
Rustのドキュメントって例ばっかりで、あんまり定義が明確じゃないんだよなw
arrayは定義はあるんだけど、今まで初期化にしか使わなかったから、使わなすぎて間違って覚えてたw
immutableがデフォだとわざわざarrayを使う意味があんまりないんだよねw
いや読んだけど一度切りだよw
俺は必要がなければ読み返さないし、明確にsliceの定義をしているものがなかったので、誤った解釈のままだっただけw
Rustのドキュメントって例ばっかりで、あんまり定義が明確じゃないんだよなw
arrayは定義はあるんだけど、今まで初期化にしか使わなかったから、使わなすぎて間違って覚えてたw
immutableがデフォだとわざわざarrayを使う意味があんまりないんだよねw
718デフォルトの名無しさん
2022/03/21(月) 23:29:47.68ID:5Szv6JZQ719デフォルトの名無しさん
2022/03/22(火) 02:53:53.03ID:ZDHdo9X7720デフォルトの名無しさん
2022/03/22(火) 09:25:40.89ID:VA79WEBN なんだかRustってマウント取り合いのキモイ連中ばかりなんだな。
721デフォルトの名無しさん
2022/03/22(火) 09:53:23.73ID:BbUMgG6B >>720
これ
これ
722デフォルトの名無しさん
2022/03/22(火) 11:11:44.38ID:cPdOMca8 そう。学習時間が増えるのは仕方ないしそれはそれでいいんだが、
その副作用としてマウンターがイナゴレベルで発生するのがな。
その副作用としてマウンターがイナゴレベルで発生するのがな。
723デフォルトの名無しさん
2022/03/22(火) 11:33:10.12ID:8EjbgNwb そろそろRust版毛の壁が誕生するのかな
724デフォルトの名無しさん
2022/03/22(火) 12:18:47.19ID:ZDHdo9X7 Rustごときにそんなものは生まれないし、マウントとか気にしてるからそういう空気になるだけw
気をつけるべきは、
・言葉の定義に関する揚げ足取りだけとか
・関係ないことを誰も聞いてもないのに話し始めるとか
・スレ違いの話題とか
そういうのくらいw
気をつけるべきは、
・言葉の定義に関する揚げ足取りだけとか
・関係ないことを誰も聞いてもないのに話し始めるとか
・スレ違いの話題とか
そういうのくらいw
725デフォルトの名無しさん
2022/03/22(火) 13:35:20.32ID:pdrrbcyh 以下のサイトによるとrust製ソフトで一番有名なfirefoxでさえC言語のコードの方がまだ多いらしい
正直、まだまだC/C++に代わるって議論する段階じゃなさそう
https://4e6.github.io/firefox-lang-stats/
正直、まだまだC/C++に代わるって議論する段階じゃなさそう
https://4e6.github.io/firefox-lang-stats/
726デフォルトの名無しさん
2022/03/22(火) 14:09:58.25ID:l3SAD7eY727デフォルトの名無しさん
2022/03/22(火) 14:36:30.97ID:CigmH2/4 Firefoxは超巨大プロダクトの1つだからね
数千万行ものコードで書かれてるみたい
さすがに全部書き換えられなくても仕方ないでしょ
毎日順調に1万行を書き換えても10年とかかかるよ
数千万行ものコードで書かれてるみたい
さすがに全部書き換えられなくても仕方ないでしょ
毎日順調に1万行を書き換えても10年とかかかるよ
728デフォルトの名無しさん
2022/03/22(火) 14:39:46.62ID:oqIjUDQq 新規追加分はどういう割合かしらん。
729デフォルトの名無しさん
2022/03/22(火) 15:27:56.84ID:q+lZbjeY Netscape6の頃から数えると20年以上の歴史があるプロダクトだから数年で10%置き換えられたのはなかなか良いペースなのでは
730デフォルトの名無しさん
2022/03/22(火) 20:15:02.78ID:ZDHdo9X7 https://wiki.mozilla.org/Oxidation
"...
Rust Weaknesses
One major issue with Rust relates to personnel.
There is a wide variety of experience levels within Mozilla, for both coding and reviewing.
Rust's learning curve is steep at the start, which can be intimidating. (The new borrow checker released in Rust 1.31 helped greatly with this.)
There are also technical challenges.
Compilation is slow.
Crossing the C++/Rust boundary can be difficult.
See "Blockers and obstacles" below for more details about work being done to remedy these weaknesses.
..."
"...
Rust Weaknesses
One major issue with Rust relates to personnel.
There is a wide variety of experience levels within Mozilla, for both coding and reviewing.
Rust's learning curve is steep at the start, which can be intimidating. (The new borrow checker released in Rust 1.31 helped greatly with this.)
There are also technical challenges.
Compilation is slow.
Crossing the C++/Rust boundary can be difficult.
See "Blockers and obstacles" below for more details about work being done to remedy these weaknesses.
..."
731デフォルトの名無しさん
2022/03/24(木) 13:49:05.58ID:A9GFlV37732460
2022/03/24(木) 14:52:36.70ID:A9GFlV37 なんかちょっと見ないうちにえらく盛り上がってるのな
んで、SubSets[Subsets*]]の話になってるが、本質はそこじゃなく
SubSets[Subsets[{a,b,c}]]におけ要素が合併(U)、結合演算に閉じている集合族選び出して位相空間を作り出すってのが到達目標なんだわ。
羃集合の羃集合なんて、なんの工夫もなく実装できるもんだと思ってたらPythonはそれすら出来なかったということで、
集合演算においてはMathematicaレベルにすらない。
位相空間を選び出すには、さらにそこから演算規則にそぐわない集合族は排除しなきゃいけない。
3要素から作り出した位相空間は29個に及ぶんだけど、
Python は既に羃集合の羃集合すら簡単に書けないことが確定した時点で数学研究には使えないってことが明らかなんよね。
それなりのプログラム組んだらいけるってことならC++でもC#でもいけるんですわ。www
ちなみに数学科の初年度でドロップアウトするのがまさにここらしいので、
信学会正員の俺が試しに流行のPython調べてみたって話ですわ、
間違いないのは
・数学の研究に寄与するのはPythonじゃなく素直にMathematica
・Excelファイル外部からいじくりたければOpenpyxelじゃなくC#+EPPLUS
ってこってすわ
ちなみに、数値演算ってことならハナからPythonなんて検討するような対象じゃなく単なるゴミ糞レベルwww
素直にA100でも用意してCUDAでも使えばいい。
なんでゴミ糞Pythonとか流行ってんの?さっぱり理解できんわ。
こんなんWebScrapingとかWeb侵入以外とういうメリットあるの?
あほが使う言語 == Python でFA?
んで、SubSets[Subsets*]]の話になってるが、本質はそこじゃなく
SubSets[Subsets[{a,b,c}]]におけ要素が合併(U)、結合演算に閉じている集合族選び出して位相空間を作り出すってのが到達目標なんだわ。
羃集合の羃集合なんて、なんの工夫もなく実装できるもんだと思ってたらPythonはそれすら出来なかったということで、
集合演算においてはMathematicaレベルにすらない。
位相空間を選び出すには、さらにそこから演算規則にそぐわない集合族は排除しなきゃいけない。
3要素から作り出した位相空間は29個に及ぶんだけど、
Python は既に羃集合の羃集合すら簡単に書けないことが確定した時点で数学研究には使えないってことが明らかなんよね。
それなりのプログラム組んだらいけるってことならC++でもC#でもいけるんですわ。www
ちなみに数学科の初年度でドロップアウトするのがまさにここらしいので、
信学会正員の俺が試しに流行のPython調べてみたって話ですわ、
間違いないのは
・数学の研究に寄与するのはPythonじゃなく素直にMathematica
・Excelファイル外部からいじくりたければOpenpyxelじゃなくC#+EPPLUS
ってこってすわ
ちなみに、数値演算ってことならハナからPythonなんて検討するような対象じゃなく単なるゴミ糞レベルwww
素直にA100でも用意してCUDAでも使えばいい。
なんでゴミ糞Pythonとか流行ってんの?さっぱり理解できんわ。
こんなんWebScrapingとかWeb侵入以外とういうメリットあるの?
あほが使う言語 == Python でFA?
733デフォルトの名無しさん
2022/03/24(木) 15:06:02.22ID:A9GFlV37 >>705
1=1==3と定義することに近いのがδ関数って知ってる?
そう、数学科以外、測度論ってやらないんですよ
連続系の上に離散系を構築したりする。ラプラス変換の上にZ変換作ったりね
そこで使われるのが
∫δ(x)dx =1
本来1点だけが非0の関数なんて積分しても0にしかならない
δ関数ってのは
半直線の面積 == 1
にしますってわけわからん"約束"なんですよ
本来0においてのみ∞、それ以外0って関数は積分しても0にしかならない
それをδ関数に限って1と"約束"するのがポイントなんですね。物理においても工学においても
こういうフェイクでも破綻しないってこじつけが超関数論
1=1==3と定義することに近いのがδ関数って知ってる?
そう、数学科以外、測度論ってやらないんですよ
連続系の上に離散系を構築したりする。ラプラス変換の上にZ変換作ったりね
そこで使われるのが
∫δ(x)dx =1
本来1点だけが非0の関数なんて積分しても0にしかならない
δ関数ってのは
半直線の面積 == 1
にしますってわけわからん"約束"なんですよ
本来0においてのみ∞、それ以外0って関数は積分しても0にしかならない
それをδ関数に限って1と"約束"するのがポイントなんですね。物理においても工学においても
こういうフェイクでも破綻しないってこじつけが超関数論
734デフォルトの名無しさん
2022/03/24(木) 15:33:33.46ID:A9GFlV37 なんかPythonごとき使えるだけのPythonerがでしゃばってるけど
C/C++/C#使えるプログラマが能力的にPython使えないなんてことないからwww
ちょい使ってみてやっぱこりゃあかんってがっかりすることが多い
Cxx使ってて補助言語としてPerl使う、
プログラムランチャーやらお気軽シェルスクリプトとしてはbashもPowerShellを使う、
数値計算電卓にはMatlabもOctaveもScilabも使う、
数式計算ならMathematica もMapleも Mupadも使える、
こういうユーザにとっては
世間でPython流行ってるけどこれ使う意味あんの?って話ね
言語処理系として流行ってる以外にどこがアドバンテージなの?
ってこどですわ
C/C++/C#使えるプログラマが能力的にPython使えないなんてことないからwww
ちょい使ってみてやっぱこりゃあかんってがっかりすることが多い
Cxx使ってて補助言語としてPerl使う、
プログラムランチャーやらお気軽シェルスクリプトとしてはbashもPowerShellを使う、
数値計算電卓にはMatlabもOctaveもScilabも使う、
数式計算ならMathematica もMapleも Mupadも使える、
こういうユーザにとっては
世間でPython流行ってるけどこれ使う意味あんの?って話ね
言語処理系として流行ってる以外にどこがアドバンテージなの?
ってこどですわ
735デフォルトの名無しさん
2022/03/24(木) 15:46:03.00ID:iUQBARfO >>734
深層学習には何使うの?
深層学習には何使うの?
736デフォルトの名無しさん
2022/03/24(木) 15:54:22.45ID:A9GFlV37 空集合の扱いだけど
?と{?}は違うんでね
オチャメなバクとごまかしてたんじゃ
正解に辿り着かないよwww
-
集合族がせいぜいべき集合だと勘違いしてつまづく数学科連中が多いんだそ-な(数学セミナーで読んだ)
3要素からなる集合は最大8個
そこから考えられる集合の属は最大2^8=256個
そのなかで有限演算の結び、非加算合併演算に関して閉じている集合属は29個
?と{?}は違うんでね
オチャメなバクとごまかしてたんじゃ
正解に辿り着かないよwww
-
集合族がせいぜいべき集合だと勘違いしてつまづく数学科連中が多いんだそ-な(数学セミナーで読んだ)
3要素からなる集合は最大8個
そこから考えられる集合の属は最大2^8=256個
そのなかで有限演算の結び、非加算合併演算に関して閉じている集合属は29個
737デフォルトの名無しさん
2022/03/24(木) 15:56:43.89ID:A9GFlV37738デフォルトの名無しさん
2022/03/24(木) 15:57:59.36ID:A9GFlV37739デフォルトの名無しさん
2022/03/24(木) 15:58:08.77ID:y95b8UUh こりゃ貧乏人かな?
740デフォルトの名無しさん
2022/03/24(木) 19:43:58.62ID:1Vr2GJ3G 空集合をうっかり忘れるのはお茶目なバグという以外に表現はないw ちなみに普通はファイと読むんだよw 集合論自体はそんな難しいものじゃないw
Mathematicaは簡単な数式が解ける、グラフが簡単に描けるなどの理由で使う人は昔からいたけど、今はもっと複雑なことしたい人が多いから、数値計算にはRやPythonを使う人が多いと思うw
数理最適化分野も一部の商用ソフトを除けばPythonが多いと思うw
pythonが使われるのは、単に中をC/C++で書いて外側をPythonにすると速くて扱いやすいからw
機械学習(NN)とDBは全く違うけど、もし自然言語処理に詳しいならword2vecの解説記事でも書いてたら世のためにでもなるんじゃない?w 俺も多少は分かるけどw
Mathematicaは簡単な数式が解ける、グラフが簡単に描けるなどの理由で使う人は昔からいたけど、今はもっと複雑なことしたい人が多いから、数値計算にはRやPythonを使う人が多いと思うw
数理最適化分野も一部の商用ソフトを除けばPythonが多いと思うw
pythonが使われるのは、単に中をC/C++で書いて外側をPythonにすると速くて扱いやすいからw
機械学習(NN)とDBは全く違うけど、もし自然言語処理に詳しいならword2vecの解説記事でも書いてたら世のためにでもなるんじゃない?w 俺も多少は分かるけどw
741デフォルトの名無しさん
2022/03/24(木) 20:35:43.32ID:pklAHbiT > pythonが使われるのは、単に中をC/C++で書いて外側をPythonにすると速くて扱いやすいからw
速いのは大半がC++で動いているからで、扱いやすいと言っても、ファイルからデータ
読んで渡すとかの部分だってC++でテンプレート使って書いた方が、Pythonより何倍も
速いと思うが?
速いのは大半がC++で動いているからで、扱いやすいと言っても、ファイルからデータ
読んで渡すとかの部分だってC++でテンプレート使って書いた方が、Pythonより何倍も
速いと思うが?
742デフォルトの名無しさん
2022/03/24(木) 21:17:04.78ID:1Vr2GJ3G あれでしょw やっぱりjupyterの使い勝手がいいんでしょw
ちょっと動かして試してグラフ見て記録取ってみたいな試行錯誤したいときはw
だからガッツリ時間がかかる部分はpythonのままじゃたまったものじゃないけど、取れたデータを試したり外側のロジック組むときはpythonのが楽という理屈だと思うよw
ちょっと動かして試してグラフ見て記録取ってみたいな試行錯誤したいときはw
だからガッツリ時間がかかる部分はpythonのままじゃたまったものじゃないけど、取れたデータを試したり外側のロジック組むときはpythonのが楽という理屈だと思うよw
743デフォルトの名無しさん
2022/03/24(木) 21:58:37.46ID:XlqSDiYA >>732
その位相空間というのを調べたら冪集合の冪集合のうち 全体と空集合を含み
各要素の和も積も所属していることらしいのでRustで作ってみました
fn 和集合(集合_x: usize, 集合_y: usize) -> usize { 集合_x | 集合_y }
fn 積集合(集合_x: usize, 集合_y: usize) -> usize { 集合_x & 集合_y }
fn 空集合(_size: usize) -> usize { 0 }
fn 全体集合(size: usize) -> usize { 冪(size) - 1 }
fn 冪(size: usize) -> usize { 1 << size }
fn 所属(集合: usize, 要素: usize) -> bool { 集合 & (1 << 要素) != 0 }
fn 一覧(size: usize) -> impl Iterator<Item=usize> { 0..size }
fn 要素一覧(集合: usize, size: usize) -> impl Iterator<Item=usize> {
一覧(size).filter(move |&要素| 所属(集合, 要素))
}
fn main() {
let input = ['a', 'b', 'c'];
let n = input.len();
一覧(冪(冪(n)))
.filter(|&s|
所属(s, 全体集合(n)) && 所属(s, 空集合(n)) &&
要素一覧(s, 冪(n)).all(|x|
要素一覧(s, 冪(n)).all(|y|
所属(s, 積集合(x, y)) && 所属(s, 和集合(x, y)))))
.for_each(|s| println!("{}", 要素一覧(s, 冪(n))
.format_with(",", |s, f| f(&format_args!("{{{}}}", 要素一覧(s, n)
.format_with(",", |index, f| f(&format_args!("{}", input[index]))))))));
}
これで{},{a,b,c} から {},{a},{b},{a,b},{c},{a,c},{b,c},{a,b,c} まで29個の位相が算出されました
入力を4つ ['a', 'b', 'c', 'd'] にすると355個の位相が算出されました
これで合っていますでしょうか?
その位相空間というのを調べたら冪集合の冪集合のうち 全体と空集合を含み
各要素の和も積も所属していることらしいのでRustで作ってみました
fn 和集合(集合_x: usize, 集合_y: usize) -> usize { 集合_x | 集合_y }
fn 積集合(集合_x: usize, 集合_y: usize) -> usize { 集合_x & 集合_y }
fn 空集合(_size: usize) -> usize { 0 }
fn 全体集合(size: usize) -> usize { 冪(size) - 1 }
fn 冪(size: usize) -> usize { 1 << size }
fn 所属(集合: usize, 要素: usize) -> bool { 集合 & (1 << 要素) != 0 }
fn 一覧(size: usize) -> impl Iterator<Item=usize> { 0..size }
fn 要素一覧(集合: usize, size: usize) -> impl Iterator<Item=usize> {
一覧(size).filter(move |&要素| 所属(集合, 要素))
}
fn main() {
let input = ['a', 'b', 'c'];
let n = input.len();
一覧(冪(冪(n)))
.filter(|&s|
所属(s, 全体集合(n)) && 所属(s, 空集合(n)) &&
要素一覧(s, 冪(n)).all(|x|
要素一覧(s, 冪(n)).all(|y|
所属(s, 積集合(x, y)) && 所属(s, 和集合(x, y)))))
.for_each(|s| println!("{}", 要素一覧(s, 冪(n))
.format_with(",", |s, f| f(&format_args!("{{{}}}", 要素一覧(s, n)
.format_with(",", |index, f| f(&format_args!("{}", input[index]))))))));
}
これで{},{a,b,c} から {},{a},{b},{a,b},{c},{a,c},{b,c},{a,b,c} まで29個の位相が算出されました
入力を4つ ['a', 'b', 'c', 'd'] にすると355個の位相が算出されました
これで合っていますでしょうか?
744デフォルトの名無しさん
2022/03/24(木) 22:54:59.49ID:9cbRkQeA Rustのイテレータチェーンで宣言的っぽくシンプルに書けていいな
745デフォルトの名無しさん
2022/03/24(木) 23:16:44.72ID:1Vr2GJ3G ついにこんなしょうもない日本語のコードをあげて自画自賛し始めたRust信者w
そんな自明でしょうもないゴミコード書いてる暇があったらクソ速い正規表現エンジンでも作ってみたらいいのにw
そんな自明でしょうもないゴミコード書いてる暇があったらクソ速い正規表現エンジンでも作ってみたらいいのにw
746デフォルトの名無しさん
2022/03/24(木) 23:20:36.69ID:rSdCMchJ747デフォルトの名無しさん
2022/03/24(木) 23:31:17.75ID:Uh4MbO9+ ガイガー君はそういうコードを読めないし書けない
C++で冪集合(subsets)作るのも結局できなかった
C++で冪集合(subsets)作るのも結局できなかった
748デフォルトの名無しさん
2022/03/24(木) 23:46:12.18ID:1Vr2GJ3G 単発IDで自演大変だねw 出来ないのはお前だけw
749デフォルトの名無しさん
2022/03/25(金) 12:11:43.15ID:2aIwxdP0 組み合わせ集合をそのまま保持しようとしてる時点で馬鹿だろ。
何の応用も考えてないの丸出しだな、競技プログラミングとかそっちのアホか。
何の応用も考えてないの丸出しだな、競技プログラミングとかそっちのアホか。
750デフォルトの名無しさん
2022/03/25(金) 12:14:33.84ID:vqaIaLyp >>749
ではお手並み拝見
ではお手並み拝見
751デフォルトの名無しさん
2022/03/25(金) 12:40:40.57ID:enyWdq4S >>749
やめたれw
やめたれw
752デフォルトの名無しさん
2022/03/25(金) 12:42:10.27ID:w9HuCaKe753デフォルトの名無しさん
2022/03/25(金) 13:48:01.88ID:enyWdq4S >>749
お前の負けやで
お前の負けやで
754デフォルトの名無しさん
2022/03/25(金) 14:03:38.99ID:svg4cCIa 枯れスレや 暇人どもの 糞の跡
755デフォルトの名無しさん
2022/03/25(金) 14:31:21.44ID:2aIwxdP0 なるほど、本気でこういうコードをありがたがる馬鹿って結構多いんだな。
そりゃrust厨がいい気になっちゃうわけだ。
そりゃrust厨がいい気になっちゃうわけだ。
756デフォルトの名無しさん
2022/03/25(金) 16:28:42.69ID:xgDHHux/ >>753
ID変え忘れたの?
ID変え忘れたの?
757デフォルトの名無しさん
2022/03/25(金) 17:17:18.88ID:enyWdq4S758デフォルトの名無しさん
2022/03/25(金) 17:43:08.49ID:Sr8uMs9s759デフォルトの名無しさん
2022/03/25(金) 18:17:49.67ID:+pS3/Cvs760デフォルトの名無しさん
2022/03/25(金) 18:52:17.27ID:eoZx8ezX761デフォルトの名無しさん
2022/03/25(金) 18:59:38.47ID:JpusqDH/762デフォルトの名無しさん
2022/03/25(金) 19:32:15.82ID:h6MJAUlj763デフォルトの名無しさん
2022/03/25(金) 21:14:50.48ID:u98H5tRm どっちもどっちなんだが
煽ってるやつの指摘を理解できないやつらも普通にヤバいからな
煽ってるやつの指摘を理解できないやつらも普通にヤバいからな
764デフォルトの名無しさん
2022/03/25(金) 21:15:45.94ID:Sf6AbPmi バカだからコード書けないのに煽ってコードくださいって言うんだよw
765デフォルトの名無しさん
2022/03/25(金) 21:25:12.39ID:1BFpe92B766デフォルトの名無しさん
2022/03/25(金) 21:43:21.60ID:Ux3SzCLX >>759
今まで見てきて『汚コード』と連呼する時は特徴がある
forやifが使われずにイテレータ連鎖や条件メソッドが使われるRustコードの時に『汚コード』と言っている
そのため『汚コード』連呼の人は以下の3つのタイプいずれか
(1) 自分のコードの書き方に偏った信念があって他を受け付けない頑固タイプ
(2) 自分が理解できないコードがあると批判したくなる知弱タイプ
(3) Rustに反感がありRust的な書き方を嫌っているアンチタイプ
今まで見てきて『汚コード』と連呼する時は特徴がある
forやifが使われずにイテレータ連鎖や条件メソッドが使われるRustコードの時に『汚コード』と言っている
そのため『汚コード』連呼の人は以下の3つのタイプいずれか
(1) 自分のコードの書き方に偏った信念があって他を受け付けない頑固タイプ
(2) 自分が理解できないコードがあると批判したくなる知弱タイプ
(3) Rustに反感がありRust的な書き方を嫌っているアンチタイプ
767デフォルトの名無しさん
2022/03/25(金) 22:02:00.11ID:9tHxWkJU 汚ゴーダの承認要求w
768デフォルトの名無しさん
2022/03/25(金) 22:06:20.29ID:6nlCsPOx >>766
2か3だろう
2か3だろう
769デフォルトの名無しさん
2022/03/25(金) 22:53:50.64ID:thqo/0xR まあ1なら信念を説明するなりコードで示すなりするだろうからな
770デフォルトの名無しさん
2022/03/25(金) 23:17:24.40ID:Sf6AbPmi そもそもどうでもいい内容だからなw
771デフォルトの名無しさん
2022/03/25(金) 23:26:38.46ID:5On1tMu9772デフォルトの名無しさん
2022/03/25(金) 23:30:13.03ID:eoZx8ezX773デフォルトの名無しさん
2022/03/26(土) 00:40:57.22ID:9q2PYIcF 書けないやつがいると思うところが怖いw
774デフォルトの名無しさん
2022/03/26(土) 00:41:52.74ID:9q2PYIcF まじでみんなどんどんRustを嫌いになっていくねw
775デフォルトの名無しさん
2022/03/26(土) 01:38:57.93ID:JTqKZDur776デフォルトの名無しさん
2022/03/26(土) 02:27:45.11ID:9q2PYIcF 何度でも言うが書けないのではなく、書かないだけw 煽っても何も出んぞw お前が書けないからって他の人も書けないとか思うなw
777デフォルトの名無しさん
2022/03/26(土) 04:58:35.06ID:YsGlpYqC >>776
今回はコードを読めなかったため批判したりコードを書くところまで辿り着けなかったというオチなんだろ
今回はコードを読めなかったため批判したりコードを書くところまで辿り着けなかったというオチなんだろ
778デフォルトの名無しさん
2022/03/26(土) 06:40:57.68ID:9q2PYIcF 何言ってんだ?この人w 自分のおつむが足りないからって同じ基準で他人を見ない方がいいよw
779デフォルトの名無しさん
2022/03/26(土) 07:02:16.69ID:lZnQW6V9 珍しく反応していないからコードが読めなかったに一票
780デフォルトの名無しさん
2022/03/26(土) 09:36:14.32ID:9y5xuIje 反応がワンパターンになってきてるから、相手が諦めるまで同じ内容を繰り返すんだろうな
低能にありがちな行動w
低能にありがちな行動w
781デフォルトの名無しさん
2022/03/26(土) 12:25:46.50ID:ShQHM1dQ お互い相手にしてもらえるやつがいて良かったね
隔離スレ立てたやつに感謝
隔離スレ立てたやつに感謝
782デフォルトの名無しさん
2022/03/26(土) 23:51:11.15ID:/7nLRmyg >>749
組み合わせ集合の意味が不明だが['a', 'b', 'c']に対して冪集合の冪集合ことか?
>>743のコードの関数呼び出し部分を展開すると
「一覧(冪(冪(n)))」は「(0..(1 << (1 << n)))」
つまり冪集合の冪集合を0から255(=2^(2^3)-1)までの数値でbit表現していることになる
集合の表記でこれ以上は簡単にならないし応用も一番広く効くのではないか
あとは素直に位相を満たす条件でフィルタしてるだけだな
| .filter(|&s|
| 所属(s, 全体集合(n)) && //これは必須条件
| 所属(s, 空集合(n)) && //これも必須条件
| 要素一覧(s, 冪(n)).all(|x|
| 要素一覧(s, 冪(n)).all(|y|
| 所属(s, 積集合(x, y)) && //任意のintersectionも要素となる必須条件
| 所属(s, 和集合(x, y)) //任意のunionも要素も要素となる必須条件
| )))
全てがビット演算のみで済んでいるようだから
どの言語で書いてもこれ以上はシンプルかつ高速にならないと思われる
組み合わせ集合の意味が不明だが['a', 'b', 'c']に対して冪集合の冪集合ことか?
>>743のコードの関数呼び出し部分を展開すると
「一覧(冪(冪(n)))」は「(0..(1 << (1 << n)))」
つまり冪集合の冪集合を0から255(=2^(2^3)-1)までの数値でbit表現していることになる
集合の表記でこれ以上は簡単にならないし応用も一番広く効くのではないか
あとは素直に位相を満たす条件でフィルタしてるだけだな
| .filter(|&s|
| 所属(s, 全体集合(n)) && //これは必須条件
| 所属(s, 空集合(n)) && //これも必須条件
| 要素一覧(s, 冪(n)).all(|x|
| 要素一覧(s, 冪(n)).all(|y|
| 所属(s, 積集合(x, y)) && //任意のintersectionも要素となる必須条件
| 所属(s, 和集合(x, y)) //任意のunionも要素も要素となる必須条件
| )))
全てがビット演算のみで済んでいるようだから
どの言語で書いてもこれ以上はシンプルかつ高速にならないと思われる
783デフォルトの名無しさん
2022/03/27(日) 00:20:42.47ID:PoGWmBV8 また本人が自画自賛し始めたw この手の処理はbit演算では書かないよw 自分で調べてみればいいw
競プロマニア君が速いコード書けないのに頑張ったって言ってもらいたいらしいw
競プロマニア君が速いコード書けないのに頑張ったって言ってもらいたいらしいw
784デフォルトの名無しさん
2022/03/27(日) 00:33:18.39ID:BBGNEHmu785デフォルトの名無しさん
2022/03/27(日) 01:17:15.21ID:PoGWmBV8 それにしか使えないから書かないんだよw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★3 [おっさん友の会★]
- 【速報】中国、水産物輸入停止と通達 日本政府に ★2 [おっさん友の会★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 [ぐれ★]
- 中国側が首相答弁の撤回要求、日本側拒否★6 [夜のけいちゃん★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 「厚かましい挑発的発言だ」中国国連大使が高市首相発言に強く反発 日本の常任理事国入りに明確に反対 [ぐれ★]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
- 【速報】中国、水産物輸入停止★2 [989870298]
- わー国上級の子女、徴兵されない模様wwww [399259198]
- 【悲報】斎藤元彦陣営のネット広報担当会社が投稿したnoteで騒然 ★950 [931948549]
- 【悲報】高市早苗さん、たった一人で日本を崩壊へ導く [714769305]
- 「日本の保守層のご機嫌を取りながら、中国、ロシア、アメリカのご機嫌も取る」👈こういう総理がいれば良かったよな [762037879]
