GSL Shell 学習:GSLライブラリ自作始め

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

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

先日(2016-02-07)の記事:「GSL Shell 学習:GSL FFI interface
で、
  ・・・・・
  ・・・・・
  本来の“GSL”ライブラリにある、バイト型とか整数型とかは無い?
  ダブル型のみ???
  ・・・・・
  ・・・・・
と書いた。

そこで、整数型のものの1つを作ってみた。


“GSL”については、
かれこれ6年前(2010-05-22)の記事:「C(gcc) 入門(5)「gsl」
で書いている通り、導入している。

そこで、
以下のコードで「kgsl.c」を作り、
#include <gsl/gsl_vector_int.h>

gsl_vector_int* kgsl_IntVecAlloc( const size_t n ){
return gsl_vector_int_alloc ( n );
}

void kgsl_IntVecSet( gsl_vector_int* v, const size_t i, int x ){
return gsl_vector_int_set ( v, i, x );
}

int kgsl_IntVecGet ( const gsl_vector_int* v, const size_t i ){
return gsl_vector_int_get ( v, i) ;
}

int kgsl_IntVecMaxIndex ( const gsl_vector_int* v ){
return gsl_vector_int_max_index ( v );
}
これから“Relo2”により
(正確には、MinGW によるが)「kgsl.dll」を作った。


そうして、
これを呼び出す「use_kgsl.gsl」を作った:
local ffi = require'ffi'
ffi.cdef[[
gsl_vector* kgsl_IntVecAlloc( int n );
void kgsl_IntVecSet( gsl_vector* v, int i, int x );
int kgsl_IntVecGet( const gsl_vector* v, int i );
int kgsl_IntVecMaxIndex( const gsl_vector* v );
]]
local kgsl = ffi.load( 'kgsl' )

vv = kgsl.kgsl_IntVecAlloc( 4 )

x={ 30, 40, 50, 20.5 } -- Lua テーブル
for i = 0, 3 do
kgsl.kgsl_IntVecSet( vv, i, x[i+1] ) -- 値設定 ← Luaテーブルから
end

j = kgsl.kgsl_IntVecMaxIndex( vv ) -- 最大値のインデックス
print( j, kgsl.kgsl_IntVecGet( vv, j ) )
チャント、

  2, 50

とでました。


この調子で、作って行こう?!?!?


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


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


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

コメントの投稿

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

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



おきてがみ

最新記事
カレンダー
03 | 2017/04 | 05
- - - - - - 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 - - - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

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

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


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

Google Analytics
ブックマーク