[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/13 15:58 / Filesize : 214 KB / Number-of Response : 1016
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

「数学」をプログラミングするには



1 名前:デフォルトの名無しさん [2024/03/16(土) 19:41:45.98 ID:nuwGv9us.net]
たとえば、プログラミングで

π/4 = 1 - 1/3 + 1/5 - 1/7 + ...

を近似ではなく厳密に確かめるにはどうしたらいいの
人間が証明できるってことは、有限なアルゴリズムに書き換えられると思うんだけど

39 名前:デフォルトの名無しさん [2024/03/19(火) 17:56:38.86 ID:P1OcOpxu.net]
証明支援系Lean4
数式処理システムSage
組版システムLaTeX

を組み合わせたオープンソースの統合数学環境と、黒板の文字や図を認識する入力インタフェースがあればいいと思う

40 名前:デフォルトの名無しさん [2024/03/19(火) 18:04:10.23 ID:qttME5ET.net]
>>36
「プログラミングの勉強」を「プログラム言語」の勉強だと思ってるバカ
「program」の意味を調べてみろ。言語はただの手法の一つ

41 名前:デフォルトの名無しさん mailto:sage [2024/03/19(火) 18:56:00.18 ID:5dhARo0o.net]
バカが必死で草

42 名前:デフォルトの名無しさん [2024/03/19(火) 19:15:14.75 ID:IwEkPQSo.net]
この馬鹿は何がしたいんだろ……

43 名前:デフォルトの名無しさん mailto:sage [2024/03/20(水) 10:18:59.26 ID:ea1o2Ub5.net]
>>36
CやFortranの評価が低いということはHaskellの中でモナドの評価が低いよね
それはもったいないから言語を競争させる原理はよくない

44 名前:デフォルトの名無しさん [2024/03/20(水) 12:54:23.96 ID:VbUXRLzi.net]
>>43
ポエムはよそで書いてろ

45 名前:デフォルトの名無しさん mailto:sage [2024/03/20(水) 13:10:38.35 ID:ea1o2Ub5.net]
ミサイルでも撃たれたならともかく
ポエムなるものを書き込まれたことへの反応が過剰なのが気になる
現実世界にポエムが存在しなくなれば消去法で「数学」になるってことなのかな

46 名前:デフォルトの名無しさん [2024/03/20(水) 14:27:47.20 ID:I+zqr01r.net]
スレタイが悪い
専門用語や英語を入れておかないと、自分も話題に参加できると勘違いした馬鹿が書き込む

47 名前:デフォルトの名無しさん mailto:sage [2024/03/20(水) 15:26:54.49 ID:4PdbE3xv.net]
仲よき事は美しき哉 志賀直哉



48 名前:デフォルトの名無しさん mailto:sage [2024/03/20(水) 15:27:56.00 ID:4PdbE3xv.net]
>>22
これに反応できないお前ら

49 名前:デフォルトの名無しさん [2024/03/20(水) 15:50:55.08 ID:vNXgKg89.net]
>>47 武者小路実篤じゃなかったっけ

50 名前:デフォルトの名無しさん [2024/03/20(水) 16:42:40.04 ID:ZN9vgvDp.net]
>>33
すでに解けてる問題を特定の処理系の言語に書き直すのが一大プロジェクトというのがくだらないと思う

51 名前:デフォルトの名無しさん mailto:sage [2024/03/20(水) 16:54:28.92 ID:4PdbE3xv.net]
>>12
これにも反応できない雑魚ども

52 名前:デフォルトの名無しさん mailto:sage [2024/03/20(水) 17:51:55.09 ID:ea1o2Ub5.net]
>>50
すでに常識になっていることを「先入観にとらわれている」と思う人はいる
先入観をリセットしてやり直したい需要は多少はある

53 名前:デフォルトの名無しさん mailto:sage [2024/03/20(水) 18:02:21.59 ID:Snv2Tioi.net]
ポエム連発は草

54 名前:デフォルトの名無しさん [2024/03/20(水) 21:22:26.43 ID:qwgU2fnR.net]
>>52
馬鹿すぎて話にならない
わざとやってるならむしろお笑い番組の脚本とか考えるセンスあると思うよ

55 名前:デフォルトの名無しさん mailto:sage [2024/03/20(水) 23:28:22.46 ID:ea1o2Ub5.net]
わざと馬鹿になったのではないが
数学の範囲内の定理を厳密に証明しても、内か外かの判断は厳密にならないので
「プログラミングならなんでも数学」のような馬鹿な意見も厳密に全否定できないんだよな

56 名前:デフォルトの名無しさん [2024/03/22(金) 15:38:04.26 ID:m8Pakijg.net]
現代数学は集合と写像の言葉で書かれている
写像は関数の一般化だからC言語やHaskellなどの関数型言語では数学をプログラミングできない
RubyやPythonなどにはsetやmapといった機能があるから
これで数学をプログラミングできると思われる

57 名前:デフォルトの名無しさん mailto:sage [2024/03/22(金) 15:41:43.35 ID:BpbPyhcF.net]
厨二の夢だったのさ



58 名前:デフォルトの名無しさん [2024/03/22(金) 22:21:33.16 ID:LL1SYasV.net]
>>56
それは違う
数学ができるプログラミング言語のコンパイラをCで書くことができる
そもそもすべてのプログラム言語はチューリング完全だからCで書けてハスケルに書けないなどということは無い

59 名前:デフォルトの名無しさん mailto:sage [2024/03/22(金) 22:53:17.07 ID:BpbPyhcF.net]
所詮プログラムは人が書くもの

60 名前:デフォルトの名無しさん mailto:sage [2024/03/22(金) 23:30:06.22 ID:CJ8mvd1G.net]
>>56
それ逆だね
mapは関数型言語で登場した
そのRubyやPythonといったスクリプト言語は後からそれを導入した

61 名前:デフォルトの名無しさん [2024/03/22(金) 23:57:05.24 ID:LL1SYasV.net]
はあ??
マップは車窓だろ!!

62 名前:デフォルトの名無しさん [2024/03/23(土) 00:02:01.40 ID:0VbIgFfj.net]
マップは関数の集合直積に過ぎない
c言語でも有限アルゴリズムで数学プログラミングが出来る
パイソンは構文をパースできるがスクリプト言語ゆえ数学プログラミングは無理

63 名前:デフォルトの名無しさん [2024/03/23(土) 00:32:34.16 ID:0VbIgFfj.net]
>>60
跡から登場したってことはRubyやPython

64 名前:フほうが優れているってことやろが []
[ここ壊れてます]

65 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 01:14:32.77 ID:O64Y227M.net]
まともなプログラマーがスクリプト言語でプログラミング開発することはない
スクリプト言語はスクリプトを書く程度のことをするだけのおもちゃ

66 名前:デフォルトの名無しさん [2024/03/23(土) 04:20:19.88 ID:rvJB/m9a.net]
CやPYTONはスクリプト言語だから単純なことしかできない

67 名前:デフォルトの名無しさん [2024/03/23(土) 04:41:11.89 ID:IdPmAPnB.net]
スレタイ
集合と写像が数学の基本らしい
写像というのは関数の一般化だからCは関数言語だから数学できないということになる
Javaのmainは写像だからJavaは数学できる。Rubyにも写像ある



68 名前:デフォルトの名無しさん [2024/03/23(土) 07:48:29.25 ID:LhcvAfdM.net]
数学に副作用はないがモナドは副作用があるのでハスケルでは数学はできない

69 名前:デフォルトの名無しさん [2024/03/23(土) 12:22:12.37 ID:g/HfMmmn.net]
>>56
Cでは関数の引数として関数ポインタを渡せるから、map関数を簡単に自作できる。

70 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 12:23:33.26 ID:TQ7fzTlo.net]
空論、絵に描いた餅、機械語にだってできるだろwww

71 名前:デフォルトの名無しさん [2024/03/23(土) 12:47:39.65 ID:g/HfMmmn.net]
>>69
機械語に識別子はないからできないだろ。Cでは長さnの配列aの各要素に関数fを適用した結果を
配列bに格納する関数 map(f, a, n, b) を簡単に自作できる。

72 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 13:55:22.78 ID:TQ7fzTlo.net]
C言語は機械語にアセンブルされて実行されるんだよ

73 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 14:11:05.89 ID:O64Y227M.net]
>>70
普通mapは配列に対してではなく
もっと一般的にイテレータに対して適用
結果もイテレータとする

その結果を例えばfor文で使う場合
わざわざ結果を配列に入れても無意味だったことになるからだ
mapを多段にした使った場合も同様で中間結果配列は無意味になる
だからmapの入力も出力もイテレータが使われる

74 名前:デフォルトの名無しさん [2024/03/23(土) 14:44:44.84 ID:g/HfMmmn.net]
>>72
それは実装上の効率化のための操作で、本当の写像ではない。本当の写像は配列から配列を作る。
C#で言えばSelectしただけでは写像にならず、ToArrayしないと写像にならない。

75 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 15:36:22.16 ID:O64Y227M.net]
>>73
配列から配列なんて嘘つきだな
例えば写像の入力を数学でもよくある自然数とする
これは配列では表現できない
イテレータならば表現できる
出力も同様で配列は不可能だがイテレータなら可能

76 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 16:14:29.71 ID:TQ7fzTlo.net]
そもそもそんなレベルの話をしてるんではないが

77 名前:デフォルトの名無しさん [2024/03/23(土) 16:43:39.42 ID:g/HfMmmn.net]
>>74
自然数は要素数が無限大の配列だが、コンピュータではメモリが有限なので表現できないだけ。
イタレータによる遅延評価は問題を先送りしただけで、本当の写像である配列を作ろうとすると
メモリが途中で尽きて作れない。



78 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 17:05:10.16 ID:O64Y227M.net]
>>76
配列なんていう間違った考えをするからそのように失敗する
正しくイテレータと捉えれば自然数もそこからの写像も扱える

79 名前:デフォルトの名無しさん [2024/03/23(土) 17:30:00.10 ID:g/HfMmmn.net]
>>77
イタレータは配列の各要素を走査しながら操作する道具、つまり写像を逐次的に作っていくための操作手順を表したものに過ぎない。

80 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 18:46:13.42 ID:O64Y227M.net]
>>78
イテレータとは何かを学び直しなさい
それは配列に対するイテレータ
イテレータに配列なんていうものは必要ない

81 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 19:02:25.28 ID:/RLS51iM.net]
イテレータなんぞプログラミング側の都合でしかないやろw
数学のどこにイテレーションって概念があるの?
もとは集合の話だっけ? 集合のどこにイテレータ出てくる?

82 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 19:08:33.11 ID:HOjMmtFw.net]
配列こそプログラミングやコンピュータ都合の邪道なものだね
配列は有限しか扱えないから不要

イテレータは自然数イテレータだけでなく例えばフィボナッチイテレータなど無限を扱える
イテレータは数学とも相性がいい

83 名前:デフォルトの名無しさん [2024/03/23(土) 20:19:21.71 ID:g/HfMmmn.net]
>>78 >>81
イタレータの意味を分かっているのか。反復子だぞ。反復子が写像のわけないだろ。
写像を実行するための操作手順でしかない。

反復子の遅延評価により無限の操作手順をコードとして書くことはできても、実際には
実行が途中で終わるので無限を扱えるわけではなく、有限を無限に見せている構文上の
まやかしに過ぎない。

84 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 21:27:18.93 ID:u0/iUo5p.net]
>>82
あんさんボケとるな
ここまで読んで反復子(iterator)が写像(map)と書いているのは君しかいない
他の人たちは以下を正しく理解して書込みしている

>>72
>> だからmapの入力も出力もイテレータが使われる

85 名前:デフォルトの名無しさん [2024/03/23(土) 22:23:29.86 ID:g/HfMmmn.net]
>>83
>>74はごっちゃにしているようだが。

反復子を使っても遅延評価をしなければ、mapを多段に使った場合の効率は良くならない。
例えば、C++ STLのtransformがそう。

>>70のような配列のmap関数でも、引数fとして複数の関数の合成関数のポインタを渡せば、
効率は良くなる。あるいは、引数fとして関数ポインタの配列を受け入れるようなmap関数を
書いても良い。

86 名前:デフォルトの名無しさん [2024/03/23(土) 22:27:51.62 ID:g/HfMmmn.net]
>>83
>>74はごっちゃにしているようだが。

反復子を使っても遅延評価をしなければ、mapを多段に使った場合の効率は良くならない。
例えば、C++ STLのtransformがそう。

>>70のような配列のmap関数でも、引数fとして複数の関数の合成関数のポインタを渡せば、
効率は良くなる。あるいは、引数fとして関数ポインタの配列を受け入れるようなmap関数を
書いても良い。

そもそもCでmap関数を書けるかという話だから、書けるという回答で何の問題ないだろ。

87 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 22:32:25.46 ID:/PCiT6cf.net]
>>84
根本的な勘違いをしているようなのでアドバイス
イテレータは抽象的な概念に過ぎないのでそこに遅延評価などという話は一切出てこない
イテレータの実装の一つに遅延評価の有無を持ち出すケースがあるようだがそんな特殊などうでもいい話をしても意味がない



88 名前:デフォルトの名無しさん [2024/03/23(土) 22:36:40.17 ID:g/HfMmmn.net]
>>86
そんなことは分かっている。>>72に言ってくれ。

89 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 22:43:57.14 ID:/PCiT6cf.net]
>>72は正しいよ

90 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 22:56:10.99 ID:sCrZk0I5.net]
iteratorは可算無限を扱える
mapは入力も出力もiterator

例えば
2倍にするというmapに対して
入力を自然数のiteratorとすると
出力は偶数の自然数のiteratorとなる

これだけの話だろ
>>82の人だけ理解できてないようだが

91 名前:デフォルトの名無しさん [2024/03/24(日) 10:28:13.06 ID:8D2Drt3S.net]
でもC言語は圏論じゃないよね

92 名前:デフォルトの名無しさん mailto:sage [2024/03/24(日) 10:35:26.13 ID:GMGvnUD/.net]
20年前の議論草

93 名前:デフォルトの名無しさん [2024/03/24(日) 11:18:58.82 ID:dsXIuIWc.net]
それは間違い
FORTRANが今もなお科学技術計算に使われてる

94 名前:デフォルトの名無しさん mailto:sage [2024/03/24(日) 11:32:06.58 ID:GMGvnUD/.net]
言葉のお遊びwww

95 名前:デフォルトの名無しさん [2024/03/24(日) 11:34:31.12 ID:yjeBPx06.net]
集合論はラッセルのパラドックスで矛盾した
だから集合と写像に基づくC言語やRubyは数学を扱うのに不適切
よってハスケルなどは圏論に基づくから関数型言語が正解

96 名前:デフォルトの名無しさん [2024/03/24(日) 11:46:51.50 ID:BUlt442E.net]
プログラム言語は機械語→アセンブラ→高級言語 と進化してきたが、高級言語にも高級度の段階があって
gotoジャンプ→構造化ループ→map→ベクトル演算 という序列になっている。

y = x.map(i => 2 * i) のように冗長な記述をしなければならない言語よりは、ベクトル演算で y = 2 * x と
すっきり書けるFortranの方が進化している。

97 名前:デフォルトの名無しさん mailto:sage [2024/03/24(日) 14:10:14.72 ID:S5dROhf0.net]
まったくトンチンカンな話してんな
プログラミング言語にmapがあったところでそれで数学ができるわけじゃないだろ
何を解きたいんだよ?
定理証明か?仕様記述か?
ド文系のふわっとした思考やめな



98 名前:デフォルトの名無しさん mailto:sage [2024/03/24(日) 14:30:14.37 ID:rmOZT0bw.net]
>>95
それはarrayを入出力とするmapだね
それは遅延評価もできず可算無限列を扱えない古い劣化タイプ
一方でiteratorを入出力とするmapはarrayだけでなく可算無限列など任意のものを対象にできる

99 名前:デフォルトの名無しさん [2024/03/24(日) 14:58:03.83 ID:iK6Wk5rB.net]
この完全なデタラメな話をここまで長々とする気力がどこから湧いてくるのかがわからない

100 名前:デフォルトの名無しさん mailto:sage [2024/03/24(日) 15:27:25.02 ID:pjttU2nz.net]
所有権を複製したいんやろw

101 名前:デフォルトの名無しさん mailto:sage [2024/03/24(日) 15:28:49.95 ID:4Iqs5Xee.net]
>>97
昔は配列に対するmapしか無かったから、遅延評価できず、有限列しか扱えず、中間生成配列のムダなど、悲惨だったな
今はイテレータに対してmapその他を適用するプログラミング言語が増えたので、扱える対象が広がるとともに、効率も良くなったな

102 名前:デフォルトの名無しさん mailto:sage [2024/03/24(日) 16:53:04.14 ID:GMGvnUD/.net]
そんな低レベルの話してるんとちゃうんやで

103 名前:デフォルトの名無しさん [2024/03/24(日) 18:55:43.95 ID:qF9URZLj.net]
そもそも高階関数のmapは、数学の集合論における写像のことではない

104 名前:デフォルトの名無しさん [2024/03/24(日) 19:36:33.57 ID:WsANI0D/.net]
ゴミみたいな話しかしてないな、定理証明系とかの話をしているのかと思ったら

105 名前:デフォルトの名無しさん [2024/03/24(日) 20:58:49.18 ID:BUlt442E.net]
>>97 >> 100
Ruby厨、Haskell厨が他の言語を貶めるのに必死だなw

Fortranのプログラム

 program test
   integer :: x(3), y(3)
   x = (/1, 2, 3/)
   y = 2 * x + 1
   print "(i0)", y
 end program

の y = 2 * x + 1 の行で中間配列が作成されて、

   integer :: temp(3)
   temp = 2 * x
   y = temp + 1

のような非効率な動作になるとでも思ってるのか? STLで提供しているC++のvalarrayと違って、
Fortranはベクトル演算に言語仕様レベルで対応しているから、そんなことするはずないだろ。

106 名前:デフォルトの名無しさん [2024/03/24(日) 20:59:19.43 ID:BUlt442E.net]
Visual Stduioで y = 2 * x + 1 の行の逆アセンブリを見てみると、

 mov  qword ptr [rbp + 68h], 1
 mov  rax, qword ptr [rbp + 68h]
 cmp  rax, 3
 jg  TEST + 105h
 mov  rax, qword ptr [rbp + 68h]
 imul rax, rax, 4
 lea  rdx, [X]
 add  rdx, rax
 add  rdx, 0FFFFFFFFFFFFFFFCh
 mov  eax, dword ptr [rdx]
 imul eax, eax, 2
 inc  eax
 mov  rdx, qword ptr [rbp + 68h]
 imul rdx, rdx, 4
 lea  rcx, [Y]
 add  rcx, rdx
 add  rcx, 0FFFFFFFFFFFFFFFCh
 mov  dword ptr [rcx], eax
 mov  eax, 1
 add  rax, qword ptr [rbp + 68h]
 mov  qword ptr [rbp + 68h], rax
 jmp  TEST + 0B7h

というコードが生成されていて、中間配列なんて作成せず合成関数を1回だけ適用し、Cの

 for (i = 1; i <= 3; i++) y[i] = 2 * x[i] + 3;

に相当する効率的な処理になっている。(add rdx, 0FFFFFFFFFFFFFFFCh を見ると、
配列の添字が1始まりなのは非効率なのかと思ってしまうが…)

107 名前:デフォルトの名無しさん [2024/03/24(日) 20:59:35.15 ID:BUlt442E.net]
インタプリタのRubyや、配列っぽく見える[1, 2, 3]がリンクリストのHaskellが効率を
云々するのは馬鹿げているな。



108 名前:デフォルトの名無しさん [2024/03/24(日) 21:02:48.75 ID:BUlt442E.net]
>>105の訂正
(誤) for (i = 1; i <= 3; i++) y[i] = 2 * x[i] + 3;
(正) for (i = 1; i <= 3; i++) y[i] = 2 * x[i] + 1;

109 名前:デフォルトの名無しさん mailto:sage [2024/03/24(日) 22:52:27.30 ID:IPqW9Eum.net]
>>104
固定長の配列を入力に使っている時点で失格
このスレは>>1の例のように対象は可算無限列

110 名前:デフォルトの名無しさん [2024/03/24(日) 23:00:28.05 ID:D7nIPk2H.net]
静的な固定長で最適化できるのは当たり前だから
少なくとも実行時までわからない可変長じゃないとな

111 名前:デフォルトの名無しさん [2024/03/24(日) 23:11:46.55 ID:BUlt442E.net]
>>108
無限なんて実行不可能なものを構文として書けても、コメントとして書けるのと同じようなもので無意味。

>>109
何を頓珍漢なことを言ってるんだよ。

for (i = 1; i <= 3; i++) y[i] = 2 * x[i] + 1; が
for (i = 1; i <= n; i++) y[i] = 2 * x[i] + 1; に変わるだけだぞ。

112 名前:デフォルトの名無しさん mailto:sage [2024/03/24(日) 23:42:53.58 ID:+hE4ud6c.net]
入力対象は>>1の数列でいいんじゃね
1
1 - 1/3
1 - 1/3 + 1/5
1 - 1/3 + 1/5 - 1/7
1 - 1/3 + 1/5 - 1/7 + ...
もちろん何番目まで必要かは不明
この数列を他と切り離して記述できるかどうか

113 名前:デフォルトの名無しさん [2024/03/25(月) 06:31:11.05 ID:20JdvYau.net]
写像型言語は無いから無理やろ

114 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 08:05:29.65 ID:S04445Yl.net]
しょうもない算法や文法を力説されても
数理論理を知らん高卒なんやろか

115 名前:デフォルトの名無しさん [2024/03/25(月) 09:05:37.14 ID:KQK4URb5.net]
集合論はラッセルのパラドックスがあるからまちがい
選択公理もバナッハタルスキーのパラドックスがあるからまちがい
圏論こそ数学の基礎

116 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 09:20:11.31 ID:yJIwIJvC.net]
そういう何が一番とか中二思考やめようや

117 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 09:20:53.71 ID:VkynB6Jg.net]
アホ参上



118 名前:デフォルトの名無しさん [2024/03/25(月) 10:25:12.12 ID:VsfGDznC.net]
圏論型プログラミングってないの?

119 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 18:22:08.56 ID:OU4hWxvG.net]
集合は悪くないがそれを内包表記で定義するのが悪い
イテレータを内包表記っぽく書けるやつは
内包表記を使わない書き方もできる保証があるから良いけど

120 名前:デフォルトの名無しさん [2024/03/25(月) 19:35:21.63 ID:Yjyc3ZYI.net]
Pythonには内包表記はあっても外延表記はないから集合論はできないよ

121 名前:デフォルトの名無しさん [2024/03/25(月) 20:38:21.53 ID:0jQlcuCQ.net]
>>104はVisual Studioでは最適化オプションがなぜか無視されてしまうが、コマンドライン
コンパイラではまさに>>109が言う要素数が固定かつ全要素がコンパイル時に計算可能という
特殊な場合に応じた最適化が施され、コンパイル時の計算結果を配列yに書き込むだけで
y = 2 * x を全く計算しないコードが生成されることが、アセンブリ出力から分かる。

IFORT (旧式Intel Fortran) では

 mov eax, 3
 (中略)
 mov DWORD PTR [TEST$X.0.1], 1
 mov DWORD PTR [TEST$X.0.1 + 4], 2
 mov DWORD PTR [TEST$X.0.1 + 8], eax
 mov DWORD PTR [TEST$Y.0.1], eax
 mov DWORD PTR [TEST$Y.0.1 + 4], 5
 mov DWORD PTR [TEST$Y.0.1 + 8], 7

というコードが生成され、Cの

 int t = 3;
 *x = 1; *(int *)((char *)x + 4) = 2; *(int *)((char *)x + 8) = t;
 *y = t; *(int *)((char *)y + 4) = 5; *(int *)((char *)x + 8) = 7;

に相当する処理になる (CではC流に添字0〜2を使うとして)。xとyに共通する
要素3はレジスタに入れて使い回される。一度も使われない変数xを除去する
最適化はされない。

122 名前:デフォルトの名無しさん [2024/03/25(月) 20:38:45.78 ID:0jQlcuCQ.net]
IFX (新式Intel Fortran) では

 movabsq $21474836483, %rax
 movq  %rax, TEST$Y(%rip)
 leaq  TEST$Y(%rip), %rax
 movl  $7, TEST$Y+8(%rip)

というコードが生成され (IntelのコンパイラなのAT&T記法で読みにくいが)、Cの

 *(long long *)y = 0x500000003;
 *(int *)((char *)y + 8) = 7;

に相当する処理 (リトルエンディアン環境で) になり、3と5がyに一度に書き込まれる。

いずれにしても、Ruby厨、Haskell厨の浅知恵でFortranに嚙み付いても滑稽なだけwww

123 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 20:46:39.58 ID:trqJ9Q6W.net]
rustのほうがスゲーからfortranは黙っとれ

124 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 21:08:10.53 ID:VkynB6Jg.net]
誰にも相手してもらえないのでフォートランがイキル

125 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 21:21:08.93 ID:VkynB6Jg.net]
フォートランは行列、有限要素法のライブラリィ呼ぶだけ、独自のコードなんか書かないw

126 名前:デフォルトの名無しさん [2024/03/25(月) 21:23:38.32 ID:DOdK3gDR.net]
数学をプログラミングするには、プログラマが数学の必要があるのでは?

127 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 21:32:48.72 ID:VkynB6Jg.net]
プログラマは数学である必要がある



128 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 22:22:52.88 ID:OU4hWxvG.net]
ギャンブルなら敗者が金を振り込めば秩序が戻るのだが
金を振り込んでしまう人がここにはいないので

129 名前:デフォルトの名無しさん [2024/03/25(月) 23:24:59.56 ID:77HfiJgP.net]
>>117
圏論型と言えるか分らんが、圏論が注目されたのは副作用の問題を圏論のモナドで表現できるということでHaskellに採用されたのがきっかけっぽい。

今は非可換確率論を圏論で表現すれば意識がどうやって生まれるのかの研究に使えるって話がある。
意識が生まれる謎が解ければAIに意識を持たせられる。

130 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 02:09:58.19 ID:bsMEvYma.net]
意識は数学かwww

131 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 11:17:19.23 ID:ZLsRjAqD.net]
計算機だからなぁ

132 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 15:57:26.17 ID:bsMEvYma.net]
戻らないだろ、刑務所行き
>ギャンブルなら敗者が金を振り込めば秩序が戻るのだが

133 名前:デフォルトの名無しさん [2024/03/26(火) 17:42:12.34 ID:0A2fpKMf.net]
>>126 日本語おかしい

134 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 17:56:53.22 ID:bsMEvYma.net]
>>132
125に言え

135 名前:デフォルトの名無しさん mailto:sage [2024/03/27(水) 18:25:48.23 ID:sRZ89+IF.net]
コンプライアンス的には絶対に違反しないブレないスタイルの方が楽だな
中庸とかいうのは数学的にも意味のない言葉
の筈だけど

136 名前:デフォルトの名無しさん mailto:sage [2024/03/27(水) 20:27:56.36 ID:NpBSIV2x.net]
>>126
ガイジか?
プログラマ→職業
数学→学問分野
日本語勉強し直すか死ねよ

137 名前:デフォルトの名無しさん mailto:sage [2024/03/27(水) 21:11:20.21 ID:xckWJWeo.net]
きっちりした仕様決め無しで「プログラミング」できるわけないだろうに
なんで過疎ってる5chのさらに過疎板でこんな板違いスレ何度も書き込むやつがいるんだよ
「プログラムを作る人」じゃないよな



138 名前:デフォルトの名無しさん mailto:sage [2024/03/27(水) 21:40:20.83 ID:ucDYKmHx.net]
>>135
125へ言えよ、キチガイ

139 名前:デフォルトの名無しさん mailto:sage [2024/03/27(水) 21:56:27.68 ID:sRZ89+IF.net]
ラッセルは作る人というより脆弱性を発見する人のように見える






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<214KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef