GSL Shell 学習:Gsl for Windows

2016-02-13 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
7、2、0、0、1、 0、0、0、0、0(40)で、換算ポイント 88pt 。
「化学業界」「硝子業界」「FM COCOLO」「e-radio」、
「グルコサミン」「Python」「Firefox」bg値変動のみ。
「Perl」「C言語」「FM青森」全く変化無し。
・-・ - -・

さて、本文。(これも Lua 学習)

前(2016-02-12)の記事:
GSL Shell 学習:GSLライブラリ自作始め
で、
  ・・・・・
  ・・・・・
  この調子で、作って行こう?!?!?
  ・・・・・
  ・・・・・
と書いた。

ところが、・・・・・・・・・・


自作するのもシンドイ(骨が折れる)なぁ~

と、思っていたが、

Gsl for Windows
なるページを見つけた。

  Gsl: GNU Scientific Library

で、

  Description

  GSL is the GNU scientific library for numerical computing.
  It is a collection of routines for numerical computing in
   e.g. linear algebra, probability, random number generation,
   statistics, differentiation, integration, optimization,
   and differential equations.

  The routines are written from scratch by the GSL team
   in ANSI C, and are meant to present a modern API
   for C programmers, while allowing wrappers to be written
   for very high-level languages.

  The port of GSL has been contributed by Jerry St Clair.
  If you will be using one of the dynamic libraries,
   add GSL_DLL to the list of predefined macros;
   so for use with Mingw / GCC, add -DGSL_DLL

===例の翻訳サイトの結果:

  GSL は、数値計算のための GNU 科学ライブラリです。
  例えば線形代数、確率、乱数、統計、分化、統合、最適化、
   および微分方程式の数値計算ルーチンのコレクションです。

  ルーチンは、ANSI C で GSL チームでスクラッチから書かれているし、
   C プログラマのための非常に高水準言語の書き込まれるラッパーを
   可能にしながら最新の API を提示するためのものです。

  GSL のポートは、ジェリー サン クレールで貢献してきた。
  あなたは動的ライブラリのいずれかを使用するが、
   定義済みマクロの一覧に GSL_DLL を追加します。
   Mingw で使用するので/GCC、追加 - DGSL_DLL

?????


それで、

  Download

の、

  Binaries  Zip

から

「gsl-1.8-bin.zip」 959KB 2006/07/11版

をダウンロードさせて頂いた。

書庫の中の

  /bin/

フォルダにある、
2つのDLL「libgsl.dll」「libgslcblas.dll」
を使うと、
local ffi = require'ffi'
local gsl = ffi.load( 'libgsl' )
ffi.cdef[[
gsl_vector* gsl_vector_int_alloc( int n );
void gsl_vector_int_set( gsl_vector* v, int i, int x );
int gsl_vector_int_get( gsl_vector* v, int i );
int gsl_vector_int_max_index( gsl_vector* v );
]]

ii = 5
v = gsl.gsl_vector_int_alloc(ii) -- define a new vec

x={ 3, 1, 5.2, 3, 2 } -- Lua テーブル
for i = 0, ii-1 do
gsl.gsl_vector_int_set( v, i, x[i+1] ) -- 値設定 ← Luaテーブルから
end

i = gsl.gsl_vector_int_max_index( v ) -- 最大値の要素の添字(ゼロ・オリジン)

print( i, gsl.gsl_vector_int_get( v, i ) )
これで使えました。


もう、自作することはヤメ。


この2つの DLL を使えば、“gsl”の全ての関数が使える。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


160112
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク