Yorick (programovací jazyk) - Yorick (programming language)
Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Navrhl | David H. Munro |
---|---|
Poprvé se objevil | 1996 |
Stabilní uvolnění | 2.2.04 / květen 2015 |
OS | Unixový systémy včetně Operační Systém Mac, Microsoft Windows |
Licence | BSD |
Přípony názvu souboru | .i |
webová stránka | yorick |
Yoricku je interpretován programovací jazyk navržený pro numerické, graf vykreslování a řízení velkých vědeckých simulačních kódů. Je to docela rychlé díky pole syntaxe a rozšiřitelná pomocí C nebo Fortran rutiny. To bylo vytvořeno v roce 1996 David H. Munro z Lawrence Livermore National Laboratory.
Funkce
Indexování
Yorick díky své výkonné syntaxi umí pohodlně manipulovat s prvky v N-dimenzionálních polích.
K několika prvkům lze přistupovat najednou:
> X=[1,2,3,4,5,6];> X[1,2,3,4,5,6]> X(3:6)[3,4,5,6]> X(3:6:2)[3,5]> X(6:3:-2)[6,4]
- Libovolné prvky
> X=[[1,2,3],[4,5,6]]> X[[1,2,3],[4,5,6]]> X([2,1],[1,2])[[2,1],[5,4]]> seznam=kde(1)> seznam[2,3,4,5,6]> y=X(seznam)> y[2,3,4,5,6]
- Pseudoindex
Jako „zavádění“ dovnitř PDL a „vysílání“ v Numpy, Yorick má mechanismus, jak toho dosáhnout:
> X=[1,2,3]> X[1,2,3]> y=[[1,2,3],[4,5,6]]> y[[1,2,3],[4,5,6]]> y(-,)[[[1],[2],[3]],[[4],[5],[6]]]> X(-,)[[1],[2],[3]]> X(,-)[[1,2,3]]> X(,-)/ r[[1,1,1],[0,0,0]]> y=[[1.,2,3],[4,5,6]]> X(,-)/ r[[1,1,1],[0.25,0.4,0.5]]
- Gumový index
„..“ je gumový index, který představuje nulové nebo více rozměrů pole.
> X=[[1,2,3],[4,5,6]]> X[[1,2,3],[4,5,6]]> X(..,1)[1,2,3]> X(1,..)[1,4]> X(2,..,2)5
„*“ je druh gumového indexu, který přetváří výseč (podpole) pole na vektor.
> X(*)[1,2,3,4,5,6]
- Násobení tenzoru
Tenzor násobení se v Yoricku provádí následovně:
P (, +,) * Q (, +)
prostředek
> X=[[1,2,3],[4,5,6]]> X[[1,2,3],[4,5,6]]> y=[[7,8],[9,10],[11,12]]> X(,+)* y(+,)[[39,54,69],[49,68,87],[59,82,105]]> X(+,)* y(,+)[[58,139],[64,154]]