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


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

Julia Juno Jupyter part1



1 名前:デフォルトの名無しさん [2016/02/12(金) 19:05:13.83 ID:zhNvVfnf.net]
LLVM で動く Julia のお勉強
Python に少し似てネイティブの速さで動く素敵な関数型言語
julialang.org/
junolab.org/
jupyter.org/

関連
Pythonista のための Julia 100 問 100 答
bicycle1885.hatenablog.com/entry/2014/12/23/170745

39 名前:デフォルトの名無しさん [2016/02/17(水) 08:55:28.12 ID:onBH4M/w.net]
Python版はこちら
quant-econ.net/py/

40 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 11:45:57.02 ID:S96kZ0X7.net]
>>38
GJ
勉強になります
ありがとう

41 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 15:58:36.56 ID:HBijeS9p.net]
exe 化してみたら dll いっぱい作られて 200MB 超えるな
exe なのにロードして実行されるまで時間かかりすぎる
普通に julia --precompiled=yes hoge.jl で実行する方が速かった
python の exe 化と大して変わらん

42 名前:デフォルトの名無しさん [2016/02/18(木) 19:42:32.50 ID:AuqopEbQ.net]
想像以上にアホの子かもな

julia> "あいう"[end:end]
"う"
julia> "あいう"[end-1:end]
ERROR: UnicodeError: invalid character index
julia> "あいう"[end-3:end]
"いう"
julia> "あいう"[1:end]
"あいう"
julia> "あいう"[2:end]
ERROR: UnicodeError: invalid character index
julia> "あいう"[2]
ERROR: UnicodeError: invalid character index
julia> "あいう"[3]
ERROR: UnicodeError: invalid character index
julia> "あいう"[4]
'い'
julia> length("あいう")
3
julia> length("1いう")
3
julia> ("1いう")[2]
'い'
julia> ("1いう")[end]
'う'
julia> ("1いう")[3]
ERROR: UnicodeError: invalid character index

43 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 09:48:06.21 ID:hw/X0Y/j.net]
>>42
# 文字列は文字の配列のように添字アクセスできます
"This is a string"[1] # => 'T' # Julia では添字は 1 から始まります
# ただし、UTF8 文字列の場合は添字アクセスではうまくいかないので、
# イテレーションを行ってください(map 関数や for ループなど)

44 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 09:52:08.93 ID:hw/X0Y/j.net]
Pythonの実行速度に満足できないあなたに
www.mwsoft.jp/programming/julia/python_to_julia.html

正直なところ、まだ足りないところも多い言語なので、
今の時点で飛び込んでもそんなに良いことはないかもしれません。

個人的には分析するデータの整形をさせたり、簡単なシュミレータを書き捨てる用途などで使っています。

適当に書いてもそれなりに速度が出るし記法もシンプルで書きやすいので、
Pythonよりも便利だと感じていますが、
ライブラリの揃いや信頼性などの問題で、前処理だけはJuliaでやって
肝心なところはPythonやRで、といった流れになることもしばしばです。

45 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 10:01:01.67 ID:hw/X0Y/j.net]
Pythonの実行速度に満足できないあなたに
www.mwsoft.jp/programming/julia/python_to_julia.html

これからJuliaを始める方へ
これからJuliaを始めようという方は、まずは下記ページに書かれているサンプルコードを眺めてみると、
どんな言語か理解できると思います。

Julia By Example
www.scolvin.com/juliabyexample/
統計関連のライブラリがどの程度揃っているかは、下記にまとめられています。
ちゃんとDataFrame的なものもあって、そこそこ揃ってはいます。
Julia Statistics
https://github.com/JuliaStats
入門書などの情報は出版されれば下記に掲載されると思う。(まだ入門書なんて存在しねーけどな)
Learning Julia
julialang.org/learning/
公式サイトのドキュメントも充実しています。充実し過ぎてどこから読めばいいのかわからなくなります。
Julia Documentation
docs.julialang.org/
あとは挙動でわからないことがあれば、ソースを読もう。
わかりやすいシンプルなコードなので、意外と簡単に読めます。
言語作者が書いたコードに触れておくと勉強になるしね。
JuliaLang/julia - GitHub
https://github.com/JuliaLang/julia

本当はもっと初見向きなサイトを紹介したかったんだけど、あまり見当たらない。
今の調子ならそのうち増えてくると思うので、
その手の本を書店で見かけるようになった時が始めるタイミングとしては良いんじゃないだろうか。
※本項は更新情報があれば適宜変更します

46 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 10:02:23.04 ID:hw/X0Y/j.net]
>>43
引用元わすれてた
https://learnxinyminutes.com/docs/ja-jp/julia-jp/

47 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 10:04:44.54 ID:hw/X0Y/j.net]
julia> run(`cmd /c dir`)
したときは日本語が UTF-8 に変換されてるのかな

julia> open(`cmd /c dir`) do f
for l in eachline(f)
println(chomp(l))
end
end
すると結果が違うような気がするけど気のせいかな

julia> open("test_out.txt", "w") do w
open(`cmd /c dir`) do r
for l in eachline(r)
println(w, chomp(l)) # これだとSJISで書き込まれているな
end
end
end



48 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 10:19:38.04 ID:hw/X0Y/j.net]
julia> (3+2im)*(3-2im)
13 + 0im
julia> 1//3 + 1//3 + 1//3
1//1
julia> 2π
6.283185307179586
julia> r = 4
4
julia> 2πr
ERROR: UndefVarError: πr not defined
julia> 2π*r
25.132741228718345

実におしい

49 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 13:47:52.38 ID:5RH0Tfsb.net]
>>11
ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt),
C_NULL, [0x304C,0x3063,0xFF01,0x0000], [0x306C,0x308B,0x307D,0x0000], 0)

この方が良くね?

50 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 11:05:53.32 ID:Z/BOfpky.net]
ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt),
C_NULL, pointer("がっ!"), pointer("ぬるぽ"), 0)

これだと化けるから、

ccall((:MessageBoxA, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cchar}, Ptr{Cchar}, UInt),
C_NULL, pointer("がっ!"), pointer("ぬるぽ"), 0)

にしたんだがやっぱり化ける。

原因はわかるんだが、wchar_t の文字列は作れない子なの?

51 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 11:46:21.48 ID:Z/BOfpky.net]
>>41
こういうことらしい。
julia> "ぬるぽ"[nextind("ぬるぽ", 0):end]
"ぬるぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 1):end]
"るぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 2):end]
"るぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 3):end]
"るぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 4):end]
"ぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 5):end]
"ぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 6):end]
"ぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 7):end]
""
julia> "ぬるぽ"[nextind("ぬるぽ", end-1):end]
"ぽ"

52 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 11:59:22.33 ID:Z/BOfpky.net]
"るぽ"をendの差分で取るのはループしないかぎりむりぽか

53 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 10:29:39.26 ID:zmvsu5mb.net]
>>49-50
julia> ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt),
C_NULL, pointer(utf16("がっ!")), pointer(utf16("ぬるぽ")), 0)
julia> ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt),
C_NULL, pointer(wstring("がっ!")), pointer(wstring("ぬるぽ")), 0)

>>42-43 >>51-52
julia> utf16("ぬるぽ")[end-1:end]
"るぽ"
julia> wstring("ぬるぽ")[end-1:end]
"るぽ"

どうしても UTF-8 のままが良いなら
julia> s[prevind(s, end):end]
"るぽ"

docs.julialang.org/en/release-0.4/stdlib/strings/
読め

結論
>>42 がアホ

54 名前:デフォルトの名無しさん [2016/02/21(日) 11:33:03.42 ID:zmvsu5mb.net]
地雷満載

julia> length(utf16("あいう"))
3
julia> sizeof(utf16("あいう"))
6
julia> endof(utf16("あいう"))
3
julia> sizeof(utf16("あいう").data)
8
julia> endof(utf16("あいう").data)
4

55 名前:デフォルトの名無しさん [2016/02/22(月) 12:14:35.86 ID:Y1bHL8fN.net]
PythonよりUnicodeの扱いが親切だと思うω

56 名前:デフォルトの名無しさん [2016/02/22(月) 17:04:35.55 ID:Y1bHL8fN.net]
if __name__ == "__main__": みたいなのは無いんかな

57 名前:デフォルトの名無しさん mailto:sage [2016/02/22(月) 17:23:08.96 ID:Y1bHL8fN.net]
自己解決 thx!
https://groups.google.com/forum/#!topic/julia-users/ufpi8tV7sk8



58 名前:デフォルトの名無しさん mailto:sage [2016/02/22(月) 18:32:57.93 ID:QLpZ1xcH.net]
馬鹿には無理

59 名前:デフォルトの名無しさん mailto:sage [2016/02/23(火) 05:19:15.92 ID:I8nTY0JT.net]
DLL は作れるのかな?

60 名前:デフォルトの名無しさん mailto:sage [2016/02/23(火) 12:24:16.92 ID:SVaKsmEW.net]
open(hoge) do f
fuga(f)
end

みたいな do end 出来る関数ってどうやって作るんですか?

61 名前:デフォルトの名無しさん mailto:sage [2016/02/23(火) 12:56:21.77 ID:I8nTY0JT.net]
julia> ASCIIString <: AbstractString
true

julia> Array{ASCIIString, 1} <: Array{AbstractString, 1}
false

julia> Array{ASCIIString, 1} <: Array{Union{ASCIIString, UTF8String}, 1}
false

julia> Array{Union{ASCIIString, UTF8String}, 1} <: Array{AbstractString, 1}
false

julia> typeof(["abc"]) <: Array{ASCIIString, 1}
true

julia> typeof(["abc"]) <: Array{AbstractString, 1}
false

julia> typeof(["abc"]) <: Array{Union{ASCIIString, UTF8String}, 1}
false

これなんとかならんか?

62 名前:デフォルトの名無しさん mailto:sage [2016/02/25(木) 11:01:35.11 ID:xnX4JkuY.net]
糞認定です。
おめでとう。

63 名前:デフォルトの名無しさん [2016/02/26(金) 14:18:09.06 ID:VQGl6zaq.net]
「XXX を削除できません。
ほかの人またはプログラムによって使用されています。
ファイルを使用している可能性があるプログラムをすべて閉じてから、やり直してください。」

が出る場合、そのファイルを使用しているプロセスを知る方法はありますでしょうか

あるよ
ただ、簡単ならいくらMicrosoftが能無しでもそこのダイアログに誰が開いているか表示するだろう
そのくらい面倒くさくまともな方法じゃないってことは察しろ

64 名前:デフォルトの名無しさん [2016/03/20(日) 10:27:12.46 ID:0HfdLt5e.net]
未完成感半端ない

65 名前:デフォルトの名無しさん [2016/04/02(土) 12:07:37.96 ID:thGUj6UI.net]
未来の言語

66 名前:デフォルトの名無しさん [2016/04/20(水) 14:02:09.01 ID:KhdkVfqP.net]
予知能力

67 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 15:08:23.44 ID:Jg/FpCZZ.net]
>>61
言いたいことは分かるけど
継承関係にないジェネリッククラスに継承関係を認めたら
それはそれで問題が起きるから

特に配列の場合はパフォーマンスが犠牲になるので受け入れがたいし
C++とかだとバグの温床なので「できて当然」という考えは捨てた方がいい



68 名前: ◆q23lfZvn.g mailto:sage [2016/04/30(土) 09:02:37.09 ID:FuZy8SxD.net]
勉強中

69 名前:デフォルトの名無しさん [2016/05/01(日) 13:10:40.52 ID:tKi6j9CT.net]
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません


70 名前:デフォルトの名無しさん [2016/05/02(月) 15:31:15.58 ID:aR8AOrvI.net]
うざっ

71 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 19:04:53.82 ID:tya74GVe.net]
>>1
www.slideshare.net/ussopyon/2-46383560

72 名前:デフォルトの名無しさん [2016/05/14(土) 14:39:51.17 ID:r8zKr16p.net]
あと10年はかかるんじゃね

73 名前:デフォルトの名無しさん [2016/05/16(月) 18:05:31.33 ID:DkcwsRla.net]
T.K.

74 名前:デフォルトの名無しさん mailto:sage [2016/05/18(水) 13:16:34.04 ID:u7J2zmgl.net]
まともな開発者が使うなら何でもいいんだよ
juliaユーザーは一概にレベルが低いから信頼性の低いライブラリと化学反応を起こして爆発するのだ
ただしnodeよりマシか

75 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 06:58:34.84 ID:p6bvKsCE.net]
こうして思うとmatlabの功罪は大きいな

76 名前:デフォルトの名無しさん [2016/05/31(火) 13:36:58.59 ID:yIUZknFd.net]
初心者に Fortran 教えるくらいなら Julia の方がマシ

77 名前:デフォルトの名無しさん [2016/05/31(火) 17:49:10.36 ID:yIUZknFd.net]
めも
marui.hatenablog.com/entry/20120221/1329823079



78 名前:デフォルトの名無しさん [2016/06/02(木) 08:32:20.78 ID:O7OWJX/G.net]
Jupyter Notebookで説明書きの通りのコードを入れても動きません。
terminals are unavailable と表示されてるのですが、これが動かない理由でしょうか。

79 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 16:36:24.64 ID:8yNz9kCr.net]
C資産との連携を強調してるけど
JuliaでC呼ぶのは苦痛でしかない
Cで書いた方がまし

80 名前:デフォルトの名無しさん [2016/06/11(土) 15:43:11.34 ID:iSPIsEmM.net]
馬鹿には無理

81 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 14:44:15.88 ID:zgrawcOE.net]
本家も放置?

82 名前:デフォルトの名無しさん [2016/07/04(月) 12:10:46.03 ID:bmDp8Deu.net]
相変わらずだな

514 デフォルトの名無しさん sage 2016/07/04(月) 01:22:47.14 a5Gl8mUE

Juliaの開発、俺が引き受けるから科研費くれ
という主張をしてみるか悩んでる

515 デフォルトの名無しさん sage 2016/07/04(月) 01:35:22.05 WZmggq2i

Julia で検索したら、AV 動画見たばかりでワロタ w

516 デフォルトの名無しさん sage 2016/07/04(月) 01:36:38.53 WZmggq2i

ありゃ、
AV 動画ばかりって書きたかったの…

517 デフォルトの名無しさん sage 2016/07/04(月) 01:44:34.13 Jqw/8rJ7

私も今まさにそれ思ってた>AVばっかり

83 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 13:25:11.27 ID:3gyxqmIo.net]
Juliaってデータ分析というより数値計算じゃないの
全部インメモリの固定長配列にブチ込んでループぶん回す昔ながらのやつだよね

84 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 12:37:52.43 ID:T23wVNy/.net]
別にデータ分析以外の数値計算が出来ないと言っている訳じゃないし

昔ながらのやつを現代的に書けるというだけでも有意義だろう

85 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 14:28:27.41 ID:X105+0ra.net]
なんで >>83 へのレスが >>84 みたいなことになるんだろ
文盲かな?

86 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 11:04:48.07 ID:bjxB4lA1.net]
なんで >>84 へのレスが >>85 みたいなことになるんだろ
文盲かな?

87 名前:デフォルトの名無しさん [2016/07/13(水) 17:16:46.46 ID:Zm0ukFfg.net]
文盲乙

A Summary of Features
https://www.youtube.com/watch?v=B9moDuSYzGo

Calling C Code
docs.julialang.org/en/release-0.4/manual/calling-c-and-fortran-code/



88 名前:デフォルトの名無しさん [2016/07/15(金) 17:01:44.97 ID:8P+uiz2j.net]
誤解されてるようなので

>実際コード書いてても Python や C++ と比べて julia のコードって汚いんだよな

特定の条件がそろったときだけど
綺麗に描けることもある

89 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 22:38:04.14 ID:3IYjBgbR.net]
誤爆か

言語内DSLを別言語とみなすなら
C++で綺麗に書けるものがjuliaで書くと汚いってことは考えにくいんだが?

C++は数値を表す抽象型が標準にないのが致命的
そのくせ最近までサイズ固定の整数型がなかった

pythonについてはラムダ式が好きになれない(汚いとは別だが)

まぁjuliaに求めるものは綺麗さじゃなく実用性なんだ
おっぱい的な意味で

90 名前:デフォルトの名無しさん [2016/07/18(月) 12:18:17.33 ID:DeXLreOM.net]
やっと気付いた
漏れはきっと end が嫌いなんだ

91 名前:デフォルトの名無しさん [2016/07/19(火) 12:43:59.43 ID:3sf6xm4M.net]
julia> reinterpret(Bool, 1)
true

julia> reinterpret(Bool, 2)
false

julia> reinterpret(Bool, 3)
true

julia> reinterpret(Bool, 4)
false

julia> reinterpret(Bool, 0)
false

julia> reinterpret(Bool, -1)
true

julia> reinterpret(Bool, -2)
false

ワロス

92 名前:デフォルトの名無しさん mailto:sage [2016/07/20(水) 12:33:08.99 ID:IKGpFUMW.net]
笑いどころがわからない

配列用でないreinterpretはconvertと違って慎重に使うべきもの

julia> reinterpret(Bool, 256)
false
これは気持ち悪い

……と開発者も思ったらしくv0.5ではエラーになる見込み

93 名前:デフォルトの名無しさん mailto:sage [2016/07/20(水) 21:10:41.79 ID:AXsJLLhK.net]
間にscheme入ってるならpythonに近い文法に変換するのも簡単に出来るのでは?

94 名前:デフォルトの名無しさん mailto:sage [2016/07/20(水) 22:23:38.39 ID:IKGpFUMW.net]
pythonに近い文法を求めているならpython使えばいいんでは?
てかschemeに何の関係が?

95 名前:デフォルトの名無しさん [2016/07/21(木) 18:47:37.68 ID:Vj/xPVWN.net]
S式でなんでもできるのは面白いな

96 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 18:53:51.10 ID:IyjPITzN.net]
マクロで真っ黒

97 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 11:45:49.87 ID:f6dSUOKk.net]
>>7-11 >>25 >>28 >>30-32
定義はmacro使うと楽

macro c(restype, fnc, argtypes)
local args = [symbol("a", n) for n in 1:length(argtypes.args)]
quote
$(esc(fnc))($(args...)) = ccall($(string(fnc)), $restype, $argtypes, $(args...))
end
end

@c UInt32 printf (Ptr{Cchar},)
@c UInt32 printf (Ptr{Cchar}, UInt32,)

printf(pointer(Array{UInt8,1}([65,66,0,67,68,0,0])))
printf("%s\n", pointer(Array{UInt8,1}([65,66,0,67,68,0,0])))

macro m(lib, restype, fnc, argtypes)
local args = [symbol("a", n) for n in 1:length(argtypes.args)]
quote
$(esc(fnc))($(args...)) = ccall(($(string(fnc)), $(Expr(:quote, lib))), $restype, $argtypes, $(args...))
end
end

@m libcurl Cint curl_free (Ptr{Void},)
@m libcurl Ptr{Cchar} curl_getenv (Ptr{Cchar},)
@m libcurl Ptr{Cchar} curl_version ()

v = curl_getenv("TZ")
printf(v)
curl_free(v)
printf(curl_version())



98 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 11:49:20.02 ID:f6dSUOKk.net]
>>9

macro w(lib, restype, fnc, argtypes)
local args = [symbol("a", n) for n in 1:length(argtypes.args)]
quote
$(esc(fnc))($(args...)) = ccall(($(string(fnc)), $(Expr(:quote, lib))), stdcall, $restype, $argtypes, $(args...))
end
end

@w user32 UInt32 MessageBoxA (UInt32, Ptr{Cchar}, Ptr{Cchar}, UInt32,)

MessageBoxA(C_NULL, "hage", "title", 1)

99 名前:デフォルトの名無しさん [2016/07/22(金) 13:42:42.08 ID:hQsD+JBa.net]
>>97-98
32bit 限定のコードを書くべきじゃないな

100 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 15:31:36.78 ID:TotCshYe.net]
呼び出すライブラリの仕様は確定しているのだから実用上問題ないのでは?

101 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 10:27:35.38 ID:6lYjBmg5.net]
ヒ素2さんかな(ヒソヒソ)

102 名前:デフォルトの名無しさん [2016/07/23(土) 11:05:54.45 ID:+Jc7SqHC.net]
x = UInt32(0x12345678)
a = pointer_to_array(convert(Ptr{UInt8}, pointer_from_objref(x)), 4)
a[2] = 51
println(@sprintf "%08X" x) # 0x12343378

103 名前:デフォルトの名無しさん [2016/07/23(土) 11:07:52.09 ID:+Jc7SqHC.net]
immutable TT
a::UInt16
b::UInt16
end
x = UInt32(0x12345678)
a = pointer_to_array(convert(Ptr{TT}, pointer_from_objref(x)), 1)
println(a) # [TT(0x5678,0x1234)]
a[].a = 0xaabb # ERROR: type TT is immutable

104 名前:デフォルトの名無しさん [2016/07/23(土) 11:12:28.69 ID:+Jc7SqHC.net]
type XX
a::UInt16
b::UInt16
end
x = UInt32(0x12345678)
# ↑ここまでは動く
a = pointer_to_array(convert(Ptr{XX}, pointer_from_objref(x)), 1)
# ↑インタプリタ環境だとこれを実行した時点で環境ごと落ちる (下へ行くケースあり)
println("reach here")
println(a)
# インタプリタの外から julia hoge.jl で実行したときは println(a) まで実行すると落ちる

105 名前:デフォルトの名無しさん [2016/07/23(土) 11:13:02.17 ID:+Jc7SqHC.net]
なぜでしょう?(unsafeなことしてるのは判ってるのですが・・・)

106 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 12:22:24.60 ID:lFeXmVIf.net]
なぜって自分でbitstypeでもimmutableでもないって分かっている書きぶりじゃん
その上で聞いているならソース読め

107 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 17:00:36.64 ID:6lYjBmg5.net]
へー Julia ってこういう壊れ方するのかー

julia> n = UInt32(3)
0x00000003

julia> p = Ptr{UInt32}(pointer_from_objref(n))
Ptr{UInt32} @0x06e474f0

julia> pointer_to_array(p, 1)
1-element Array{UInt32,1}:
0x00000003

julia> UInt32(3)
0x00000003

julia> pointer_to_array(p, 1)[] = 9
9

julia> UInt32(3)
0x00000009



108 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 17:11:02.05 ID:6lYjBmg5.net]
こうなってるのかー
気付かんかったわー

julia> e = UInt32(11)
0x0000000b

julia> f = UInt32(11)
0x0000000b

julia> p = Ptr{UInt32}(pointer_from_objref(e))
Ptr{UInt32} @0x06e47770

julia> pointer_to_array(p, 1)
1-element Array{UInt32,1}:
0x0000000b

julia> UInt32(11)
0x0000000b

julia> pointer_to_array(p, 1)[] = 17
17

julia> UInt32(11)
0x00000011

julia> f
0x00000011

109 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 09:37:49.42 ID:wdZTIji9.net]
インタラクティブシェルのヒストリーってどうやったら消せるん?

110 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 09:48:14.01 ID:wdZTIji9.net]
~/.julia_history 消したら解決しました!

111 名前:デフォルトの名無しさん [2016/07/25(月) 18:13:55.98 ID:r9xhFlm6.net]
Cのunionと同じような機能ってreinterpret以外にないの?

112 名前:デフォルトの名無しさん [2016/07/26(火) 10:16:34.91 ID:oKnTJYes.net]
transpose と ctranspose って何が違うん?

113 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 10:29:26.50 ID:As2nHGxN.net]
>>112
cはcomplex(複素数)のconjugate

114 名前:デフォルトの名無しさん [2016/07/27(水) 09:34:21.46 ID:nl1cCFz0.net]
>>107-108
julia> 100
100

julia> 100 - 23
77

julia> 100 + 23
123

julia> pointer_to_array(Ptr{Int}(pointer_from_objref(100)), 1)[] = 119
119

julia> 100
119

julia> 100 - 19
119 # ← ここだけ納得いかない

julia> 100 + 19
138

115 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 22:18:04.56 ID:vxMObH7b.net]
納得いかないのが納得いかない
"100" - 19
→ 119 - 19
→"100"
→ 119

116 名前:デフォルトの名無しさん mailto:sage [2016/07/28(木) 19:00:25.38 ID:O8Vfrh0P.net]
なるほど!
目から鱗でした

117 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 11:27:08.15 ID:DMqYYSfk.net]
llvm使いたくない。gccではビルドできないの?



118 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 12:23:48.40 ID:6PNy08If.net]
C++AMPもそうだったんだけど
llvmがバージョンアップするとC++AMPの仕様も変わったりして
誰も安定してC++AMPを利用できなったので
C++AMPは消えたと思う

juliaがllvm使ってるのは嫌な予感しかしない

119 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 15:22:44.54 ID:JXVULl1x.net]
コンパイル遅すぎ

120 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 16:51:02.97 ID:8rwcghCB.net]
寧ろgccの方が先行き不安なような

121 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 17:20:22.43 ID:6PNy08If.net]
llvmは安定して使うことよりもgccの妨害が目的っぽい部分があって
利用者は軽視(gccの足引っ張りが重要)

そんな印象がある

122 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 17:35:53.63 ID:8rwcghCB.net]
うわぁ・・・

123 名前:デフォルトの名無しさん [2016/08/01(月) 18:14:22.64 ID:JXVULl1x.net]
M9誤報記念

124 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 19:39:59.72 ID:3q+qs35i.net]
>>118
C++AMP ってマイクロソフト主導だったんじゃないのん?

125 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 10:29:05.14 ID:JwtZ9iAm.net]
>>111
manual/calling-c-and-fortran-code/

Struct Type correspondences

Packed structs and union declarations are not supported by Julia.

You can get a near approximation of a union if you know, a priori,
the field that will have the greatest size (potentially including padding).
When translating your fields to Julia, declare the Julia field to be only of that type.

...

In the future, some of these restrictions may be reduced or eliminated.

126 名前:デフォルトの名無しさん [2016/08/04(木) 11:46:11.27 ID:8anV95gh.net]
reinterpretとBase.boxとどっち使うのが良いんですか?

127 名前:デフォルトの名無しさん [2016/08/05(金) 10:14:39.63 ID:LJe/qM3f.net]
>>79
それな



128 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 11:34:17.96 ID:9LvdmO9z.net]
なぜ僕らはJuliaを創ったか
marui.hatenablog.com/entry/20120221/1329823079

ゆるいライセンスのオープンソースで、Cの速度とRubyの動的さが欲しい。
Lispのような真のマクロが使える同図象性のある言語で、
Matlabのように分かりやすい数学の記述をしたい。
Pythonのように汎用的に使いたいし、Rの統計処理、
Perlの文字列処理、Matlabの線形代数計算も要る。
シェルのように簡単にいくつかのパーツをつなぎ合わせたい。
チョー簡単に習えて、超上級ハッカーも満足する言語。
インタラクティブに使えて、かつコンパイルできる言語が欲しい。
(そういえば、C言語の実行速度が必要だってのは言ったっけ?)

イイね!

129 名前:デフォルトの名無しさん [2016/08/12(金) 14:09:58.96 ID:5sOoPQZ5.net]
マクロを入れ子で使ってるときの評価順が良く判らんな

130 名前:デフォルトの名無しさん [2016/08/19(金) 20:54:44.94 ID:/WxFAz6S.net]
Juliaの継承システムってなんでgoみたいなシステムにしなかったんだろうな

131 名前:デフォルトの名無しさん mailto:sage [2016/08/20(土) 14:07:49.70 ID:cg7hw3nY.net]
goはgoでアグレッシブすぎる気がするけど

C++とかJavaとか
結果的に抽象クラスとインターフェイスの関係が微妙になってしまったことを考えれば
Juliaの型システムは明確で合理的だと思う

あと多重ディスパッチが特徴に挙げられるくらいなので
ロジック・実装の散逸を防ぐ思想があるんだろう

具象型が継承不可な点は最適化の面でも有利に働くはず

132 名前:デフォルトの名無しさん [2016/08/20(土) 14:58:26.80 ID:OZEoChm6.net]
コンストラクタがきもい

133 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 18:07:53.88 ID:Ku8YOB4B.net]
おまえそんなんばっか

134 名前:デフォルトの名無しさん [2016/08/24(水) 20:40:56.81 ID:jKhJVkcK.net]
@timeとか@showとか便利すぎて逆になんでpythonにはないのかと悲しくなるレベル

135 名前:デフォルトの名無しさん [2016/09/01(木) 20:24:06.33 ID:YPWf/agv.net]
一切カプセル化出来ないから無能を含む大規模プロジェクトには使えないな

136 名前:デフォルトの名無しさん [2016/09/02(金) 07:56:04.86 ID:epTjFeL3.net]
intをdepricated にして代わりに l->[parse(Int, s) for s=l] を使えって言ってくるのはマジで基地外じみてる

137 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 12:51:45.65 ID:W3BuWeJb.net]
新言語のフリしたFORTRANだよなこれ



138 名前:デフォルトの名無しさん [2016/09/02(金) 15:34:46.39 ID:tIJhbCeG.net]
3次元の配列を効率よく初期化するにはどうすれば良いでしょうか?

139 名前:デフォルトの名無しさん [2016/09/02(金) 20:42:33.40 ID:ZxHIRzh+.net]
[f(I,j,k) for i=1:n, j=1:m, l=1:o]
Pythonとは訳が違う便利さ






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

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

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