added api_scilab. 96/11596/2
Rui Hirokawa [Mon, 27 May 2013 14:10:09 +0000 (23:10 +0900)]
Change-Id: Ifd1276d7f288283209eeffad9003b5d034340c06

112 files changed:
scilab/modules/api_scilab/help/ja_JP/api_scilab.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/boolean/A_isBooleanType.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/boolean/B_getScalarBoolean.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/boolean/C_createScalarBoolean.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/boolean/D_booleanExample.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/boolean_sparse/A_isBooleanSparseType.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/boolean_sparse/B_getAllocatedBooleanSparseMatrix.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/boolean_sparse/CHAPTER [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/boolean_sparse/C_freeAllocatedBooleanSparse.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/boolean_sparse/D_booleanSparseExample.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/capi/CHAPTER [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/capi/Scierror.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/capi/sci_types.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/capi/sciprint.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/double/A_isDoubleType.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/double/B_getScalarDouble.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/double/C_getScalarComplexDouble.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/double/D_createScalarDouble.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/double/E_createScalarComplexDouble.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/double/F_doubleExample.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/getting_started.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/handle/A_isHandleType.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/handle/B_getScalarHandle.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/handle/C_createScalarHandle.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/handle/D_handleExample.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/hypermat/A_isHypermatType.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/hypermat/B_getHypermatOfDouble.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/hypermat/C_getHypermatOfInt.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/integer/A_isIntegerType.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/integer/B_getScalarInteger.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/integer/C_createScalarInteger.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/integer/D_integerExample.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/CHAPTER [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/isListType.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_boolean_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_boolean_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_bsparse_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_bsparse_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_createlist_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_double_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_double_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_getlistitemaddress_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_getlistitemnumber_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_integer_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_integer_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_pointer_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_pointer_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_poly_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_poly_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_sparse_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_sparse_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_string_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/list_management/list_string_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/AssignOutputVariable.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/CHAPTER [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/CallOverloadFunction.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/CheckInputArgument.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/CheckOutputArgument.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/ReturnArguments.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/boolean_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/boolean_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/bsparse_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/bsparse_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/check_matrix_dimension.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/common_getvaraddr_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/common_getvardimension_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/common_getvartype_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/common_iscomplex_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/common_isvarmatrixtype_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/deleteNamedVariable.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/double_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/double_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/getNbInputArgument.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/getNbOutputArgument.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/handle_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/handle_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/int_getmatrixofintegerprecision_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/integer_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/integer_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/pointer_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/pointer_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/poly_getpolyvariablename_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/poly_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/poly_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/sparse_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/sparse_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/string_reading_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/low_level_functions/string_writing_api.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/optionals/getOptionals.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/polynomial/A_isPolyType.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/polynomial/B_getAllocatedSinglePoly.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/polynomial/C_getAllocatedSingleComplexPoly.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/polynomial/D_getAllocatedMatrixOfPoly.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/polynomial/E_getAllocatedMatrixOfComplexPoly.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/polynomial/F_freeAllocatedSinglePoly.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/polynomial/G_freeAllocatedSingleComplexPoly.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/polynomial/H_freeAllocatedMatrixOfPoly.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/polynomial/I_freeAllocatedMatrixOfComplexPoly.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/polynomial/J_polyExample.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/sparse/A_isSparseType.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/sparse/B_getAllocatedSparseMatrix.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/sparse/C_getAllocatedComplexSparseMatrix.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/sparse/D_freeAllocatedSparseMatrix.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/sparse/E_freeAllocatedComplexSparseMatrix.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/sparse/F_sparseExample.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/string/A_isStringType.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/string/B_getAllocatedSingleString.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/string/C_getAllocatedMatrixOfString.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/string/D_createSingleString.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/string/E_freeAllocatedSingleString.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/string/F_freeAllocatedMatrixOfString.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/ja_JP/string/G_stringExample.xml [new file with mode: 0644]

diff --git a/scilab/modules/api_scilab/help/ja_JP/api_scilab.xml b/scilab/modules/api_scilab/help/ja_JP/api_scilab.xml
new file mode 100644 (file)
index 0000000..3b6e28a
--- /dev/null
@@ -0,0 +1,579 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2010  - DIGITEO - Sylvestre LEDRU
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="api_scilab" scilab:needs-examples="no" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>api_scilab</refname>
+        
+        <refpurpose>
+            
+            api_scilab はScilabメモリにデータを読み書きするための
+            
+            Scilabインターフェイスです
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsection>
+        
+        <title>説明</title>
+        
+        <para>Scilab 5.2.0以降, Scilab は統一した文書化された簡易な
+            
+            APIを提供しています.
+            
+        </para>
+        
+        <para>このAPIはScilabメモリにデータを読み書きするための
+            
+            関数を提供します.
+            
+        </para>
+        
+        <para>このAPIには以下のような多くの優れた点があります:</para>
+        
+        <itemizedlist>
+            
+            <listitem>
+                
+                <para>全てのScilabデータ型を管理</para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>全データ型を統一的に処理</para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>エラー管理</para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>完全に文書化されている</para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>ユニットテストで完全にテストされている</para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    直接または名前を指定した変数アクセス
+                    
+                    (<link linkend="call_scilab">call_scilab API</link>参照).
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    Scilabの将来のバージョンで保守される
+                </para>
+                
+            </listitem>
+            
+        </itemizedlist>
+        
+        <para>通常, このAPIはScilabの機能を拡張するために使用されますが,
+            
+            他のコンテキストで使用することもできます
+            
+        </para>
+        
+        <itemizedlist>
+            
+            <listitem>
+                
+                <para>ライブラリまたはC/C++関数: 
+                    
+                    多くのライブラリがフリー/オープンソースまたはプロプライエタリ市場で
+                    
+                    開発されています.
+                    
+                    このライブラリはScilabのような高レベル言語に読み込んで使用することができます.
+                    
+                    API Scilabはこのようなライブラリへのインターフェイス機能を提供します.
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    サードパーティソフトウエアから計算エンジンとしてScilabを使用すること
+                    
+                    も可能です.
+                    
+                    この機能は,
+                    
+                    C/C++コードから使用する際には
+                    
+                    <link linkend="call_scilab">call_scilab</link>,
+                    
+                    Javaから使用する際には
+                    
+                    <link linkend="javasci">javasci</link>と呼ばれます.
+                    
+                    変数へのアクセスはその名前(変数名)で行われます.
+                    
+                </para>
+                
+            </listitem>
+            
+        </itemizedlist>
+        
+        <para>
+            
+            古いAPI (stackX.h)は Scilab 6.0以降使用できなくなることに注意
+            
+            してください.
+            
+        </para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>履歴</title>
+        
+        <revhistory>
+            
+            <revision>
+                
+                <revnumber>5.4.0</revnumber>
+                
+                <revdescription>
+                    
+                    スタック関数/マクロを代替するための関数/マクロを追加
+                    
+                    <itemizedlist>
+                        
+                        <listitem>nbInputArgument
+                            
+                            <para>
+                                
+                                <literal>Rhs</literal>を代替
+                                
+                            </para>
+                            
+                        </listitem>
+                        
+                        <listitem>nbOutputArgument
+                            
+                            <para>
+                                
+                                <literal>Lhs</literal>を代替
+                                
+                            </para>
+                            
+                        </listitem>
+                        
+                        <listitem>AssignOutputVariable
+                            
+                            <para>
+                                
+                                <literal>LhsVar</literal>を代替
+                                
+                            </para>
+                            
+                        </listitem>
+                        
+                        <listitem>ReturnArguments
+                            
+                            <para>
+                                
+                                <literal>PutLhsVar</literal>を代替
+                                
+                            </para>
+                            
+                        </listitem>
+                        
+                        <listitem>CheckInputArgument
+                            
+                            <para>
+                                
+                                <literal>CheckRhs</literal>を代替
+                                
+                            </para>
+                            
+                        </listitem>
+                        
+                        <listitem>CheckOutputArgument
+                            
+                            <para>
+                                
+                                <literal>CheckLhs</literal>を代替
+                                
+                            </para>
+                            
+                        </listitem>
+                        
+                    </itemizedlist>
+                    
+                    <para>
+                        
+                        リストのデータ型を調べる以下の関数を追加します:
+                        
+                        <literal>isListType</literal>, <literal>isNamedListType</literal>, <literal>isTListType</literal>, <literal>isNamedTListType</literal>, <literal>isMListType</literal>,
+                        
+                        <literal>isNamedMListType</literal>
+                        
+                    </para>
+                    
+                </revdescription>
+                
+            </revision>
+            
+        </revhistory>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>参照 - API_Scilab</title>
+        
+        <simplelist type="inline">
+            
+            <member>
+                
+                <link linkend="boolean_reading_API">論理値を読み込むAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="boolean_writing_API">論理値を書き込むAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="bsparse_reading_API">論理値の疎行列を読み込むAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="bsparse_writing_API">論理値の疎行列を書き込むAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Common_getvaraddr_API">getvaraddr 共通API</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Common_getvardimension_API">getvardimension 共通API</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Common_getvartype_API">getvartype 共通API</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Common_iscomplex_API">iscomplex 共通API</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Common_isvarmatrixtype_API">isvarmatrixtype 共通API</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Double_management_reading_API">double管理読み込みAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Double_management_writing_API">double管理書き込みAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Integer_management_reading_API">整数管理読み込みAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Integer_management_writing_API">整数管理書き込みAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="int_getmatrixofintegerprecision_API">getmatrixofintegerprecision API</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Pointer_reading_API">ポインタ読み込みAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Pointer_writing_API">ポインタ書き込みAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="poly_getpolyvariablename_API">多項式getpolyvariablename API</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Polynomial_management_reading_API">多項式管理読み込みAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Polynomial_management_writing_API">多項式管理書き込みAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Sparse_management_reading_API">疎行列管理読み込みAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Sparse_management_writing_API">疎行列管理書き込みAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="String_management_reading_API">文字列管理読み込みAPI</link>,
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="String_management_writing_API">文字列管理書き込みAPI</link>
+                
+            </member>
+            
+        </simplelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>参照 - API_Scilab リスト管理</title>
+        
+        <simplelist type="inline">
+            
+            <member>
+                
+                <link linkend="list_boolean_reading_API">論理値リストを読み込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_boolean_writing_API">論理値リストを書き込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_bsparse_reading_API">論理値疎リストを読み込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_bsparse_writing_API">論理値疎リストを書き込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_createlist_API">list_createlist API</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_double_reading_API">doubleリストを読み込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_double_writing_API">doubleリストを書き込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_getlistitemaddress_API">getlistitemaddressリスト API</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_getlistitemnumber_API">getlistitemnumberリスト API</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_integer_reading_API">整数リストを読み込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_integer_writing_API">整数リストを書き込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_pointer_reading_API">ポインタリストを読み込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_pointer_writing_API">ポインタリストを書き込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_poly_reading_API">多項式リストを読み込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_poly_writing_API">多項式リストを書き込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_sparse_reading_API">疎行列リストを読み込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_sparse_writing_API">疎行列リストを書き込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_string_reading_API">文字列リストを読み込むAPI</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="list_string_writing_API">文字列リストを書き込むAPI</link>
+                
+            </member>
+            
+        </simplelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>参照 - call_scilab</title>
+        
+        <simplelist type="inline">
+            
+            <member>
+                
+                <link linkend="call_scilab">Call_Scilab</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="compile_and_run_call_scilab">call_scilabでコンパイル/実行する</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="DoubleManagement_callscilab">行列の管理</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="BooleanManagement_callscilab">論理値の管理</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="ComplexManagement_callscilab">複素数の管理</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="StringManagement_callscilab">文字列の管理</link>
+                
+            </member>
+            
+        </simplelist>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/boolean/A_isBooleanType.xml b/scilab/modules/api_scilab/help/ja_JP/boolean/A_isBooleanType.xml
new file mode 100644 (file)
index 0000000..8e1c49a
--- /dev/null
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isBooleanType" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>isBooleanType</refname>
+        
+        <refpurpose>
+            
+            論理値変数かどうか調べる
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int isBooleanType(void* _pvCtx, int* _piAddress)</synopsis>
+        
+        <synopsis>int isNamedBooleanType(void* _pvCtx, const char* _pstName)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.h で提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定"関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>変数が論理値型の場合は1, それ以外の場合は0</para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/boolean/B_getScalarBoolean.xml b/scilab/modules/api_scilab/help/ja_JP/boolean/B_getScalarBoolean.xml
new file mode 100644 (file)
index 0000000..ee8b606
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="getScalarBoolean" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>getScalarBoolean</refname>
+        
+        <refpurpose>
+            
+            ゲートウェイ引数からスカラー論理値データを読み込む
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int getScalarBoolean(void* _pvCtx, int* _piAddress, int* _piBool)</synopsis>
+        
+        <synopsis>int getNamedScalarBoolean(void* _pvCtx, const char* _pstName, int* _piBool)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.hで提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab変数のアドレス.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定" 関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piBool</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        返される論理値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>
+            
+            成功した場合は 0, それ以外はScilabコンソールにエラーメッセージを表示し,
+            
+            最初のエラー番号を返します.
+            
+        </para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/boolean/C_createScalarBoolean.xml b/scilab/modules/api_scilab/help/ja_JP/boolean/C_createScalarBoolean.xml
new file mode 100644 (file)
index 0000000..e4df62c
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="createScalarBoolean" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>createScalarBoolean</refname>
+        
+        <refpurpose>
+            
+            Scilabメモリにスカラー論理値変数を作成する.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int createScalarBoolean(void* _pvCtx, int _iVar, int _iBool)</synopsis>
+        
+        <synopsis>int createNamedScalarBoolean(void* _pvCtx, const char* _pstName, int _iBool)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.hで提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_iVar</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定" 関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_iBool</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        論理値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>
+            
+            成功した場合は 0, それ以外はScilabコンソールにエラーメッセージを表示し,
+            
+            最初のエラー番号を返します.
+            
+        </para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/boolean/D_booleanExample.xml b/scilab/modules/api_scilab/help/ja_JP/boolean/D_booleanExample.xml
new file mode 100644 (file)
index 0000000..ea61087
--- /dev/null
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="booleanExample" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>論理値の例</refname>
+        
+        <refpurpose>
+            
+            論理値の使用例.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsection>
+        
+        <title>説明</title>
+        
+        <para>この例は論理値を取得し,
+            
+            Scilabに返す手順を示します.
+        </para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <!--File_gateway: SCI/modules/api_scilab/tests/unit_tests/booleanExample.c-->
+        
+        <!--File_scilab: SCI/modules/api_scilab/tests/unit_tests/booleanExample.tst-->
+        
+        <!--Lib_name: booleanExample-->
+        
+        <!--Func_list: booleanExample-->
+        
+        <title>ゲートウェイのソース</title>
+        
+        <programlisting role="code_gateway">
+            
+            <![CDATA[ 
+#include "api_scilab.h"
+
+int booleanExample(char *fname,unsigned long fname_len)
+{
+    SciErr sciErr;
+    int* piAddr = NULL;
+    int iType   = 0;
+    int iRet    = 0;
+
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 0, 1);
+
+    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+    if(sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+    if(isBooleanType(pvApiCtx, piAddr))
+    {
+        if(isScalar(pvApiCtx, piAddr))
+        {
+            int iBool = 0;
+            iRet = getScalarBoolean(pvApiCtx, piAddr, &iBool);
+            if(iRet)
+            {
+                return 0;
+            }
+            iRet = createScalarBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iBool);
+            if(iRet)
+            {
+                return 0;
+            }
+        }
+        else
+        {
+            int iRows  = 0;
+            int iCols  = 0;
+            int *piBool        = NULL;
+
+            sciErr = getMatrixOfBoolean(pvApiCtx, piAddr, &iRows, &iCols, &piBool);
+            if(sciErr.iErr)
+            {
+                printError(&sciErr, 0);
+                return 0;
+            }
+
+            sciErr = createMatrixOfBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, piBool);
+            if(sciErr.iErr)
+            {
+                printError(&sciErr, 0);
+                return 0;
+            }
+        }
+        AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;
+    }
+    else
+    {
+        AssignOutputVariable(pvApiCtx, 1) = 0;
+    }
+    return 0;
+}
+ ]]>
+            
+        </programlisting>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>Scilabテストスクリプト</title>
+        
+        <programlisting role="code_scilab"><![CDATA[ 
+a = %t;
+b = %f;
+c = [a,b;b,a;a,b;b,a];
+d = c';
+
+booleanExample(a) == a
+booleanExample(b) == b
+booleanExample(c) == c
+booleanExample(d) == d
+ ]]></programlisting>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/boolean_sparse/A_isBooleanSparseType.xml b/scilab/modules/api_scilab/help/ja_JP/boolean_sparse/A_isBooleanSparseType.xml
new file mode 100644 (file)
index 0000000..5386479
--- /dev/null
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isBooleanSparseType" xml:lang="en">
+    
+    <refnamediv>
+        
+        <refname>isBooleanSparseType</refname>
+        
+        <refpurpose>
+            
+            疎論理値変数かどうかを確認する.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int isBooleanSparseType(void* _pvCtx, int* _piAddress)</synopsis>
+        
+        <synopsis>int isNamedBooleanSparseType(void* _pvCtx, const char* _pstName)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.h で提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定"関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>変数が疎論理値型の場合は1, それ以外の場合は0</para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/boolean_sparse/B_getAllocatedBooleanSparseMatrix.xml b/scilab/modules/api_scilab/help/ja_JP/boolean_sparse/B_getAllocatedBooleanSparseMatrix.xml
new file mode 100644 (file)
index 0000000..2105f04
--- /dev/null
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="getAllocatedBooleanSparseMatrix" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>getAllocatedBooleanSparseMatrix</refname>
+        
+        <refpurpose>
+            
+            疎行列の属性を取得.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int getAllocatedBooleanSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos)</synopsis>
+        
+        <synopsis>int getNamedAllocatedBooleanSparseMatrix(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.hで提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab変数のアドレス.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定" 関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piRows</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        返される変数の行数.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piCols</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        返される変数の列数.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piNbItem</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        %f でない値の数を返す.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piNbItemRow</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        各行のアイテム数を返す (大きさ: *_piRows).
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piColPos</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        各アイテムの列位置を返す (大きさ: *_piNbItem).
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>
+            
+            成功した場合は 0, それ以外はScilabコンソールにエラーメッセージを表示し,
+            
+            最初のエラー番号を返します.
+            
+        </para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/boolean_sparse/CHAPTER b/scilab/modules/api_scilab/help/ja_JP/boolean_sparse/CHAPTER
new file mode 100644 (file)
index 0000000..5484471
--- /dev/null
@@ -0,0 +1 @@
+title = Boolean Sparse
\ No newline at end of file
diff --git a/scilab/modules/api_scilab/help/ja_JP/boolean_sparse/C_freeAllocatedBooleanSparse.xml b/scilab/modules/api_scilab/help/ja_JP/boolean_sparse/C_freeAllocatedBooleanSparse.xml
new file mode 100644 (file)
index 0000000..3b4c354
--- /dev/null
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="freeAllocatedBooleanSparse" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>freeAllocatedBooleanSparse</refname>
+        
+        <refpurpose>
+            
+            getAllocatedBooleanSparseMatrix 関数で確保されたメモリを開放する.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>void freeAllocatedBooleanSparse(int* _piNbItemRow, int* _piColPos)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_piNbItemRow</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        getAllocatedBooleanSparseMatrixで確保された"_piNbItemRow"ポインタ.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piColPos</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        getAllocatedBooleanSparseMatrixで確保された"_piColPos"ポインタ.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/boolean_sparse/D_booleanSparseExample.xml b/scilab/modules/api_scilab/help/ja_JP/boolean_sparse/D_booleanSparseExample.xml
new file mode 100644 (file)
index 0000000..97edd58
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="booleanSparseExample" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>疎論理値の例</refname>
+        
+        <refpurpose>
+            
+            疎論理値の使用例
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsection>
+        
+        <title>説明</title>
+        
+        <para>この例は疎論理値変数を取得し,Scilabに戻す手順を示します.</para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <!--File_gateway: SCI/modules/api_scilab/tests/unit_tests/booleanSparseExample.c-->
+        
+        <!--File_scilab: SCI/modules/api_scilab/tests/unit_tests/booleanSparseExample.tst-->
+        
+        <!--Lib_name: booleanSparseExample-->
+        
+        <!--Func_list: booleanSparseExample-->
+        
+        <title>ゲートウェイのソース</title>
+        
+        <programlisting role="code_gateway">
+            
+            <![CDATA[ 
+#include "api_scilab.h"
+
+int booleanSparseExample(char *fname,unsigned long fname_len)
+{
+       SciErr sciErr;
+       int* piAddr             = NULL;
+       int iType               = 0;
+       int iRet                = 0;
+
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 0, 1);
+
+       sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+       if(sciErr.iErr)
+       {
+                       printError(&sciErr, 0);
+                       return 0;
+       }
+
+       if(isBooleanSparseType(pvApiCtx, piAddr))
+       {
+               int iRows                       = 0;
+               int iCols                       = 0;
+               int iNbItem                     = 0;
+               int* piNbItemRow        = NULL;
+               int* piColPos           = NULL;
+
+               iRet = getAllocatedBooleanSparseMatrix(pvApiCtx, piAddr, &iRows, &iCols, &iNbItem, &piNbItemRow, &piColPos);
+               if(iRet)
+               {
+                       freeAllocatedBooleanSparse(piNbItemRow, piColPos);
+                       return iRet;
+               }
+
+               sciErr = createBooleanSparseMatrix(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, iNbItem, piNbItemRow, piColPos);
+               if(sciErr.iErr)
+               {
+                       freeAllocatedBooleanSparse(piNbItemRow, piColPos);
+                       printError(&sciErr, 0);
+                       return sciErr.iErr;
+               }
+
+               freeAllocatedBooleanSparse(piNbItemRow, piColPos);
+               AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;
+       }
+       return 0;
+}
+ ]]>
+            
+        </programlisting>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>Scilabテストスクリプト</title>
+        
+        <programlisting role="code_scilab"><![CDATA[ 
+bsp = sparse([1,1;2,2;3,3],[%t,%t,%t]);
+or(booleanSparseExample(bsp) == bsp)
+ ]]></programlisting>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/capi/CHAPTER b/scilab/modules/api_scilab/help/ja_JP/capi/CHAPTER
new file mode 100644 (file)
index 0000000..42e18dc
--- /dev/null
@@ -0,0 +1 @@
+title = Scilab Gateway API
diff --git a/scilab/modules/api_scilab/help/ja_JP/capi/Scierror.xml b/scilab/modules/api_scilab/help/ja_JP/capi/Scierror.xml
new file mode 100644 (file)
index 0000000..31a637f
--- /dev/null
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="Scierror" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>Scierror</refname>
+        
+        <refpurpose>エラーメッセージをユーザーに表示するCゲートウェイ関数
+            
+            (printf関数と同じプロファイル)で,
+            
+            エラーレベルを示す整数値を返す
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>void Scierror(error_level,format,value_1,..,value_n)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>Arguments</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>error_level</term>
+                
+                <listitem>
+                    
+                    <para>エラーレベルを示す整数値</para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>format</term>
+                
+                <listitem>
+                    
+                    <para>char* 文字列. 
+                        
+                        変換指示を含むリテラル文字を結合した文字列を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>value_i</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        フォーマットパラメータに基づき変換した
+                        
+                        データを指定する.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>returns</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        処理が成功した場合,
+                        
+                        この関数は出力した文字数(文字列の終端に
+                        
+                        使用される末尾の '\0' を含まない)を返します.
+                        
+                    </para>
+                    
+                    <para>エラーが発生した場合, 負の値を返します.</para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>説明</title>
+        
+        <para>
+            
+            Scierror はエラーメッセージをユーザに表示するためのC ゲートウェイ関数
+            
+            (printf関数と同じプロファイル)で,エラーレベルを表す整数値を返します.
+            
+            この関数を使用するには Scierror.h を読み込む必要があります.
+            
+            このヘッダは output_stream モジュールで提供されています
+            
+            (このディレクトリはデフォルトで読み込まれます).
+            
+        </para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>例</title>
+        
+        <para>この例は, Cゲートウェイ関数はエラーメッセージを出力し,
+            
+            エラーレベル133を返します.
+            
+        </para>
+        
+        <programlisting role="example"><![CDATA[ 
+#include <stack-c.h>
+#include <Scierror.h>
+
+int sci_myscierror(char * fname)
+{
+  Scierror(133,"An error has occurred: %d\n", 1);
+
+  return 0;
+}
+ ]]></programlisting>
+        
+    </refsection>
+    
+    <refsection role="see also">
+        
+        <title>参照</title>
+        
+        <simplelist type="inline">
+            
+            <member>
+                
+                <link linkend="printf_conversion">printf_conversion</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="mprintf">mprintf</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="sciprint">sciprint</link>
+                
+            </member>
+            
+        </simplelist>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/capi/sci_types.xml b/scilab/modules/api_scilab/help/ja_JP/capi/sci_types.xml
new file mode 100644 (file)
index 0000000..7a4589e
--- /dev/null
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="sci_types" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>sci_types</refname>
+        
+        <refpurpose>
+            
+            変数で利用可能な型を定義するC enum
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsection>
+        
+        <title>説明</title>
+        
+        <para>
+            
+            変数で利用可能な型を定義する C enum.
+            
+            この関数を使用する際には, stack-c.h を読み込む必要があります.
+            
+        </para>
+        
+        <para>利用可能な型のリストを以下に示します:</para>
+        
+        <itemizedlist>
+            
+            <listitem>
+                
+                <para>
+                    
+                    1 - <emphasis>sci_matrix</emphasis>: doubleの行列
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    2 - <emphasis>sci_poly</emphasis>: 多項式行列
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    4 - <emphasis>sci_boolean</emphasis>: 論理値行列
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    5 - <emphasis>sci_sparse</emphasis>: 疎行列
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    6 - <emphasis>sci_boolean_sparse</emphasis>: 論理値疎行列
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    7 - <emphasis>sci_matlab_sparse</emphasis>: matlab疎行列
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    8 - <emphasis>sci_ints</emphasis>: 整数行列
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    9 - <emphasis>sci_handles</emphasis>: グラフィックハンドル
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    10 - <emphasis>sci_strings</emphasis>: 文字列行列
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    11 - <emphasis>sci_u_function</emphasis>: 未コンパイルのScilab関数
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    13 - <emphasis>sci_c_function</emphasis>: コンパイル済みのScilab関数
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    14 - <emphasis>sci_lib</emphasis>: Scilab関数のライブラリ
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    15 - <emphasis>sci_list</emphasis>: a Scilab list
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    16 - <emphasis>sci_tlist</emphasis>: Scilab tlist
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    17 - <emphasis>sci_mlist</emphasis>: Scilab mlist
+                    
+                </para>
+                
+            </listitem>
+            
+            <listitem>
+                
+                <para>
+                    
+                    128 - <emphasis>sci_pointer (Scilab 5.2以前はsci_lufact_pointer)</emphasis>: ポインタ
+                    
+                </para>
+                
+            </listitem>
+            
+        </itemizedlist>
+        
+        <para>整数またはenum型は
+            
+            変数の型を確認する際に使用出来ます.
+            
+            enum型の値には明示的な意味があるため,enum型の使用が推奨されます.
+            
+        </para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>例</title>
+        
+        <para>この例では, Cゲートウェイ関数は1つの引数をとります. 
+            
+            switch case構造により, パラメータとして送信した変数の型を表示します.
+            
+        </para>
+        
+        <programlisting role="code_gateway"><![CDATA[
+#include "api_scilab.h"
+#include "sciprint.h"
+
+
+int sci_mysci_typesrhs(char * fname, unsigned long fname_len)
+{
+    int         iType = 0;
+    int*        piAddr = NULL;
+    SciErr      sciErr;
+
+    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+    if(sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 1;
+    }
+
+    sciErr = getVarType(pvApiCtx, piAddr, &iType);
+    if(sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 1;
+    }
+
+    switch(iType)
+    {
+    case sci_matrix:
+        sciprint("A matrix of doubles\n");
+        break;
+    case sci_poly:
+        sciprint("A matrix of polynomials\n");
+        break;
+    case sci_boolean:
+        sciprint("A matrix of booleans\n");
+        break;
+    case sci_sparse:
+        sciprint("A sparse matrix of doubles\n");
+        break;
+    case sci_boolean_sparse:
+        sciprint("A sparse matrix of booleans\n");
+        break;
+    case sci_matlab_sparse:
+        sciprint("A sparse matlab matrix\n");
+        break;
+    case sci_ints:
+        sciprint("A matrix of integers\n");
+        break;
+    case sci_handles:
+        sciprint("A graphic handle\n");
+        break;
+    case sci_strings:
+        sciprint("A matrix of strings\n");
+        break;
+    case sci_u_function:
+        sciprint("An uncompiled Scilab function\n");
+        break;
+    case sci_c_function:
+        sciprint("A compiled Scilab function\n");
+        break;
+    case sci_lib:
+        sciprint("A library of Scilab functions\n");
+        break;
+    case sci_list:
+        sciprint("A Scilab list\n");
+        break;
+    case sci_tlist:
+        sciprint("A Scilab tlist\n");
+        break;
+    case sci_mlist:
+        sciprint("A Scilab mlist\n");
+        break;
+    case sci_pointer:
+        sciprint("A pointer\n");
+        break;
+    default:
+        sciprint("Unknown type !\n"); // Should never happen
+    }
+
+    return 0;
+}
+ ]]></programlisting>
+        
+    </refsection>
+    
+    <refsection role="see also">
+        
+        <title>参照</title>
+        
+        <simplelist type="inline">
+            
+            <member>
+                
+                <link linkend="sciprint">sciprint</link>
+                
+            </member>
+            
+        </simplelist>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/capi/sciprint.xml b/scilab/modules/api_scilab/help/ja_JP/capi/sciprint.xml
new file mode 100644 (file)
index 0000000..e63dd94
--- /dev/null
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="sciprint" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>sciprint</refname>
+        
+        <refpurpose>ユーザに標準メッセージを出力するCゲートウェイ関数
+            
+            (C printf関数と同じプロファイル)
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>void sciprint(format,value_1,..,value_n)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>Arguments</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>format</term>
+                
+                <listitem>
+                    
+                    <para>char* 文字列. 
+                        
+                        変換を指定するリテラル文字からなる文字列を指定します.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>value_i</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        フォーマットパラメータ(%s, %d, ...)に基づき変換するデータを
+                        
+                        指定します.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>説明</title>
+        
+        <para>
+            
+            このCゲートウェイ関数はScilabユーザにメッセージを表示する機能を提供します.
+            
+            基本的に,この関数は,C言語のprintf関数をエミュレートします.
+            
+            この関数を利用するには sciprint.h を読み込む必要があります.
+            
+            このヘッダは output_stream モジュールで提供されます
+            
+            (このディレクトリはデフォルトで読み込まれます).
+            
+        </para>
+        
+        <para>
+            
+            エラーを発生させたい場合, 関数 Scierrorの方がより適当です.
+            
+        </para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>例</title>
+        
+        <para>この例では, C ゲートウェイ関数は
+            
+            sciprint関数の使用方法を表す
+            
+            複数のメッセージをScilabコンソールに出力します.
+            
+        </para>
+        
+        <programlisting role="example"><![CDATA[ 
+#include <stack-c.h>
+#include <sciprint.h>
+
+int sci_mysciprint(char * fname)
+{
+  sciprint("printing an integer: %d\n", 1);
+  sciprint("printing a double:   %f\n", 2.1);
+  sciprint("printing a string:   %s\n", "test");
+
+  return 0;
+}
+ ]]></programlisting>
+        
+    </refsection>
+    
+    <refsection role="see also">
+        
+        <title>参照</title>
+        
+        <simplelist type="inline">
+            
+            <member>
+                
+                <link linkend="printf_conversion">printf_conversion</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="mprintf">mprintf</link>
+                
+            </member>
+            
+            <member>
+                
+                <link linkend="Scierror">Scierror</link>
+                
+            </member>
+            
+        </simplelist>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/double/A_isDoubleType.xml b/scilab/modules/api_scilab/help/ja_JP/double/A_isDoubleType.xml
new file mode 100644 (file)
index 0000000..648d7c3
--- /dev/null
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isDoubleType" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>isDoubleType</refname>
+        
+        <refpurpose>
+            
+            double変数かどうかを調べる.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int isDoubleType(void* _pvCtx, int* _piAddress)</synopsis>
+        
+        <synopsis>int isNamedDoubleType(void* _pvCtx, const char* _pstName)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.h で提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定"関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>変数が論理値型の場合は1, それ以外の場合は0</para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/double/B_getScalarDouble.xml b/scilab/modules/api_scilab/help/ja_JP/double/B_getScalarDouble.xml
new file mode 100644 (file)
index 0000000..191ddd3
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="getScalarDouble" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>getScalarDouble</refname>
+        
+        <refpurpose>
+            
+            スカラーdouble変数を取得.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int getScalarDouble(void* _pvCtx, int* _piAddress, double* _pdblReal)</synopsis>
+        
+        <synopsis>int getNamedScalarDouble(void* _pvCtx, const char* _pstName, double* _pdblReal)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.hで提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab変数のアドレス.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定" 関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pdblReal</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        double値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>
+            
+            成功した場合は 0, それ以外はScilabコンソールにエラーメッセージを表示し,
+            
+            最初のエラー番号を返します.
+            
+        </para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/double/C_getScalarComplexDouble.xml b/scilab/modules/api_scilab/help/ja_JP/double/C_getScalarComplexDouble.xml
new file mode 100644 (file)
index 0000000..6640972
--- /dev/null
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="getScalarComplexDouble" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>getScalarComplexDouble</refname>
+        
+        <refpurpose>
+            
+            スカラー複素数double変数を取得.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int getScalarComplexDouble(void* _pvCtx, int* _piAddress, double* _pdblReal, double* _pdblImg)</synopsis>
+        
+        <synopsis>int getNamedScalarComplexDouble(void* _pvCtx, const char* _pstName, double* _pdblReal, double* _pdblImg)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.hで提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定" 関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pdblReal</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        実部の値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pdblImg</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        虚部の値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>
+            
+            成功した場合は 0, それ以外はScilabコンソールにエラーメッセージを表示し,
+            
+            最初のエラー番号を返します.
+            
+        </para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/double/D_createScalarDouble.xml b/scilab/modules/api_scilab/help/ja_JP/double/D_createScalarDouble.xml
new file mode 100644 (file)
index 0000000..62060a7
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="createScalarDouble" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>createScalarDouble</refname>
+        
+        <refpurpose>
+            
+            スカラーdoubleをScilabメモリに作成.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int createScalarDouble(void* _pvCtx, int _iVar, double _dblReal)</synopsis>
+        
+        <synopsis>int createNamedScalarDouble(void* _pvCtx, const char* _pstName, double _dblReal)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.hで提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_iVar</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定" 関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_dblReal</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        doubleの値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>
+            
+            成功した場合は 0, それ以外はScilabコンソールにエラーメッセージを表示し,
+            
+            最初のエラー番号を返します.
+            
+        </para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/double/E_createScalarComplexDouble.xml b/scilab/modules/api_scilab/help/ja_JP/double/E_createScalarComplexDouble.xml
new file mode 100644 (file)
index 0000000..362b7f3
--- /dev/null
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="createScalarComplexDouble" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>createScalarComplexDouble</refname>
+        
+        <refpurpose>
+            
+            スカラー複素数doubleをScilabメモリに作成.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int createScalarComplexDouble(void* _pvCtx, int _iVar, double _dblReal, double _dblImg)</synopsis>
+        
+        <synopsis>int createNamedScalarComplexDouble(void* _pvCtx, const char* _pstName, double _dblReal, double _dblImg)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.hで提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_iVar</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定" 関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_dblReal</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        実部の値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_dblImg</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        虚部の値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>
+            
+            成功した場合は 0, それ以外はScilabコンソールにエラーメッセージを表示し,
+            
+            最初のエラー番号を返します.
+            
+        </para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/double/F_doubleExample.xml b/scilab/modules/api_scilab/help/ja_JP/double/F_doubleExample.xml
new file mode 100644 (file)
index 0000000..488c2f5
--- /dev/null
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="doubleExample" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>doubleの例</refname>
+        
+        <refpurpose>
+            
+            doubleの使用例.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsection>
+        
+        <title>説明</title>
+        
+        <para>この例はdouble変数を取得し,Scilabに戻す手順を示します.</para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <!--File_gateway: SCI/modules/api_scilab/tests/unit_tests/doubleExample.c-->
+        
+        <!--File_scilab: SCI/modules/api_scilab/tests/unit_tests/doubleExample.tst-->
+        
+        <!--Lib_name: doubleExample-->
+        
+        <!--Func_list: doubleExample-->
+        
+        <title>ゲートウェイのソース</title>
+        
+        <programlisting role="code_gateway">
+            
+            <![CDATA[ 
+#include "api_scilab.h"
+
+int doubleExample(char *fname,unsigned long fname_len)
+{
+       SciErr sciErr;
+       int* piAddr = NULL;
+       int iType   = 0;
+       int iRet    = 0;
+
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 0, 1);
+
+    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+       if(isEmptyMatrix(pvApiCtx, piAddr))
+       {
+               iRet = createEmptyMatrix(pvApiCtx, nbInputArgument(pvApiCtx) + 1);
+               if(iRet)
+               {
+                       return iRet;
+               }
+
+               AssignOutputVariable(pvApiCtx, 1) = 0;
+       }
+       else if(isDoubleType(pvApiCtx, piAddr))
+       {
+               if(isScalar(pvApiCtx, piAddr))
+               {
+                       double dblReal  = 0;
+                       double dblImg   = 0;
+
+                       if(isVarComplex(pvApiCtx, piAddr))
+                       {
+                               iRet = getScalarComplexDouble(pvApiCtx, piAddr, &dblReal, &dblImg);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+
+                               iRet = createScalarComplexDouble(pvApiCtx, nbInputArgument(pvApiCtx) + 1, dblReal, dblImg);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+                       }
+                       else
+                       {
+                               iRet = getScalarDouble(pvApiCtx, piAddr, &dblReal);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+
+                               iRet = createScalarDouble(pvApiCtx, nbInputArgument(pvApiCtx) + 1, dblReal);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+                       }
+               }
+               else
+               {
+                       int iRows                       = 0;
+                       int iCols                       = 0;
+                       double* pdblReal        = NULL;
+                       double* pdblImg         = NULL;
+
+                       if(isVarComplex(pvApiCtx, piAddr))
+                       {
+                               sciErr = getComplexMatrixOfDouble(pvApiCtx, piAddr, &iRows, &iCols, &pdblReal, &pdblImg);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+
+                               sciErr = createComplexMatrixOfDouble(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, pdblReal, pdblImg);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+                       }
+                       else
+                       {
+                               sciErr = getMatrixOfDouble(pvApiCtx, piAddr, &iRows, &iCols, &pdblReal);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+
+                               sciErr = createMatrixOfDouble(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, pdblReal);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+                       }
+               }
+
+        AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;
+       }
+
+       return 0;
+}
+ ]]>
+            
+        </programlisting>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>Scilabテストスクリプト</title>
+        
+        <programlisting role="code_scilab"><![CDATA[ 
+a = 1;
+b = %i;
+c = [1,2,3;4,5,6];
+d = c(1:$) + c($:-1:1) * %i;
+
+doubleExample(a) == a
+doubleExample(b) == b
+doubleExample(c) == c
+doubleExample(d) == d
+ ]]></programlisting>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/getting_started.xml b/scilab/modules/api_scilab/help/ja_JP/getting_started.xml
new file mode 100644 (file)
index 0000000..bb8d948
--- /dev/null
@@ -0,0 +1,766 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2012 - Scilab Enterprises - Sylvestre LEDRU
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution.  The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+*
+-->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="api_scilab_getting_started" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>API_Scilab入門</refname>
+        
+        <refpurpose>
+            
+            C, C++ またはfortranコードを新しい関数としてScilabエンジンに読み込む方法
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsection>
+        
+        <title>説明</title>
+        
+        <para>
+            
+            <link linkend="api_scilab">api_scilabプレゼンテーション</link>
+            
+            で説明されたように,
+            
+            ScilabはC, C++またはFortranコード(ソースまたはライブラリ)で言語を
+            
+            拡張するためのAPIを提供します.
+            
+        </para>
+        
+        <para>
+            
+            Scilabエンジンとアプリケーションコードの間のリンクは
+            
+            <literal>gateway</literal>と呼ばれます.
+            
+        </para>
+        
+        <para>
+            
+            多くの場合, 処理は常に同じで,以下のようになります:
+            
+            <orderedlist>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        ユーザに指定された(入力及び出力)引数の数を調べます.
+                        
+                    </para>
+                    
+                    <para>
+                        
+                        例えば,関数<literal>foo(x)</literal>が <literal>foo()</literal> または <literal>foo(2,3)</literal>のようにコールされ, ユーザが答を得ます.
+                        
+                    </para>
+                    
+                    <para>
+                        
+                        詳細: <link linkend="CheckInputArgument">CheckInputArgument</link> および <link linkend="CheckOutputArgument">CheckOutputArgument</link>
+                        
+                    </para>
+                    
+                </listitem>
+                
+                <listitem>
+                    
+                    <para>入力引数の管理</para>
+                    
+                    <para>
+                        
+                        複数の処理を行います:
+                        
+                        <orderedlist inheritnum="inherit">
+                            
+                            <listitem>
+                                
+                                <para>入力引数Xの変数アドレスを取得します</para>
+                                
+                                <para>
+                                    
+                                    関数
+                                    
+                                    <literal>
+                                        
+                                        SciErr <link linkend="Common_getvaraddr_API">getVarAddressFromPosition</link>(void* context, int positionOfTheVariable, int** address)
+                                        
+                                    </literal>
+                                    
+                                </para>
+                                
+                            </listitem>
+                            
+                            <listitem>
+                                
+                                <para>変数の型を調べます: doubleの行列 (複素数または複素数以外), 文字列
+                                    
+                                    , 等
+                                </para>
+                                
+                                <para>
+                                    
+                                    <literal>
+                                        
+                                        SciErr <link linkend="Common_getvartype_API">getVarType</link>(void* context, int* positionOfTheVariable, int* Type)
+                                        
+                                    </literal>
+                                    
+                                </para>
+                                
+                                <para>
+                                    
+                                    他の関数も提供されています:
+                                    
+                                    <itemizedlist>
+                                        
+                                        <listitem>
+                                            
+                                            <para>
+                                                
+                                                <literal>int isBooleanType(void* context, int* address)</literal>
+                                                
+                                            </para>
+                                            
+                                        </listitem>
+                                        
+                                        <listitem>
+                                            
+                                            <para>
+                                                
+                                                <literal>int isBooleanSparseType(void* context, int* address)</literal>
+                                                
+                                            </para>
+                                            
+                                        </listitem>
+                                        
+                                        <listitem>
+                                            
+                                            <para>
+                                                
+                                                <literal>int isDoubleType(void* context, int* address)</literal>
+                                                
+                                            </para>
+                                            
+                                        </listitem>
+                                        
+                                        <listitem>
+                                            
+                                            <para>
+                                                
+                                                <literal>int isIntegerType(void* context, int* address)</literal>
+                                                
+                                            </para>
+                                            
+                                        </listitem>
+                                        
+                                        <listitem>
+                                            
+                                            <para>
+                                                
+                                                <literal>int isPointerType(void* context, int* address)</literal>
+                                                
+                                            </para>
+                                            
+                                        </listitem>
+                                        
+                                        <listitem>
+                                            
+                                            <para>
+                                                
+                                                <literal>int isPolyType(void* context, int* address)</literal>
+                                                
+                                            </para>
+                                            
+                                        </listitem>
+                                        
+                                        <listitem>
+                                            
+                                            <para>
+                                                
+                                                <literal>int isSparseType(void* context, int* address)</literal>
+                                                
+                                            </para>
+                                            
+                                        </listitem>
+                                        
+                                        <listitem>
+                                            
+                                            <para>
+                                                
+                                                <literal>int isStringType(void* context, int* address)</literal>
+                                                
+                                            </para>
+                                            
+                                        </listitem>
+                                        
+                                        <listitem>
+                                            
+                                            <para>
+                                                
+                                                <literal>int isListType(void* context, int* address)</literal>
+                                                
+                                            </para>
+                                            
+                                        </listitem>
+                                        
+                                        <listitem>
+                                            
+                                            <para>
+                                                
+                                                <literal>int isTListType(void* context, int* address)</literal>
+                                                
+                                            </para>
+                                            
+                                        </listitem>
+                                        
+                                        <listitem>
+                                            
+                                            <para>
+                                                
+                                                <literal>int isMListType(void* context, int* address)</literal>
+                                                
+                                            </para>
+                                            
+                                        </listitem>
+                                        
+                                    </itemizedlist>
+                                    
+                                </para>
+                                
+                            </listitem>
+                            
+                            <listitem>
+                                
+                                <para>
+                                    
+                                    関連する場合, 入力引数かどうかを確認します.
+                                </para>
+                                
+                                <para>
+                                    
+                                    <literal>
+                                        
+                                        int <link linkend="Common_iscomplex_API">isVarComplex</link>(void* context, int* address)
+                                        
+                                    </literal>
+                                    
+                                </para>
+                                
+                            </listitem>
+                            
+                            <listitem>
+                                
+                                <para>
+                                    
+                                    整数を処理する場合,さらに整数の精度も確認します
+                                </para>
+                                
+                                <para>
+                                    
+                                    <literal>
+                                        
+                                        SciErr <link linkend="int_getmatrixofintegerprecision_API">getMatrixOfIntegerPrecision</link>(void* context, int* address, int* precision)
+                                        
+                                    </literal>
+                                    
+                                </para>
+                                
+                            </listitem>
+                            
+                            <listitem>
+                                
+                                <para>変数の大きさを確認します: 正方行列, スカラー, 等</para>
+                                
+                                <para>
+                                    
+                                    大きさに関する情報を取得する際にも
+                                    
+                                    実際のデータを取得する際に使用するものと同じ関数を使用します.
+                                    
+                                    例えば, double の行列の場合 関数コール
+                                    
+                                    <literal>
+                                        
+                                        SciErr <link linkend="Double_management_reading_API">getMatrixOfDouble</link>(void* context, int* address, int* nbRows, int* nbCols, double** theActualData)
+                                        
+                                    </literal>
+                                    
+                                    により行列の次元を取得できます.
+                                    
+                                </para>
+                                
+                                <para>ほぼ全てのScilabデータ型にはこのような処理を行うための
+                                    
+                                    同様なC関数があります.
+                                    
+                                </para>
+                                
+                            </listitem>
+                            
+                            <listitem>
+                                
+                                <para>
+                                    
+                                    その他, 特定の値かどうかを調べたり, 最初と2番目の入力引数の間の整合性を
+                                    
+                                    確認したりすること等も可能です.
+                                    
+                                </para>
+                                
+                            </listitem>
+                            
+                            <listitem>
+                                
+                                <para>データ変換 (オプション).</para>
+                                
+                                <para>
+                                    
+                                    使用するコードまたはライブラリによっては,
+                                    
+                                    いくつかの変換をデータに適用することができます.
+                                    
+                                    古典的な例は行列の記録を列形式から線形式に変換するものです.
+                                    
+                                </para>
+                                
+                                <para>
+                                    
+                                    通常,このようにすると性能が低下することに注意してください.
+                                    
+                                </para>
+                                
+                            </listitem>
+                            
+                        </orderedlist>
+                        
+                    </para>
+                    
+                </listitem>
+                
+                <listitem>
+                    
+                    <para>アプリケーションコード</para>
+                    
+                    <para>
+                        
+                        確認とデータ取得を行った後,実際の主コードをコールできます.
+                        
+                        実際の情報処理(処理, データ変換, 等)をここで実行します.
+                        
+                    </para>
+                    
+                    <para>
+                        
+                        これは,
+                        
+                        <literal>src/c</literal>, <literal>src/cpp</literal> または
+                        
+                        <literal>src/fortran</literal>に保存,構築した
+                        
+                        サードパーティのコードにより行いますが,
+                        
+                        ライブラリ形式とすることも可能です.
+                        
+                        あらゆるライブラリをScilabにリンクすることができます.
+                        
+                    </para>
+                    
+                </listitem>
+                
+                <listitem>
+                    
+                    <para>Scilabエンジンの出力引数を作成する</para>
+                    
+                    <para>通常,アプリケーションコードの実行後,
+                        
+                        何らかのデータをScilabインタプリタから戻します.
+                        
+                    </para>
+                    
+                    <para>
+                        
+                        例えば, doubleの行列をScilabエンジンに保存する場合,C関数
+                        
+                        <literal>
+                            
+                            SciErr <link linkend="Double_management_writing_API">createMatrixOfDouble</link>(void* context, int position, int nbRows, int nbCols, const double* matrixOfDouble)
+                            
+                        </literal>
+                        
+                        をコールします.
+                        
+                    </para>
+                    
+                    <para>
+                        
+                        通常,位置は
+                        
+                        <literal>nbInputArgument(pvApiCtx) + X</literal>により取得できます. 
+                        
+                        <literal>X</literal> が返す出力引数の位置となります.
+                        
+                        例えば, 関数プロファイル
+                        
+                        <literal>[a, b, c] = foo();</literal> 
+                        
+                        <literal>nbInputArgument(pvApiCtx) + 3</literal> は
+                        
+                        変数<literal>c</literal>となります.
+                        
+                    </para>
+                    
+                    <para>
+                        
+                        作成できる次元はゲートウェイの制約を受けることに注意してください.
+                        
+                    </para>
+                    
+                    <para>
+                        
+                        ほぼ全てのScilabデータ型はこのような処理を行う同様なC関数を有します.
+                        
+                    </para>
+                    
+                </listitem>
+                
+                <listitem>
+                    
+                    <para>Scilabエンジンに出力引数を返す</para>
+                    
+                    <para>以下, タスク4で, 作成した変数を返します.</para>
+                    
+                    <para>
+                        
+                        <literal>a</literal>を返す
+                        
+                        前の例 <literal>[a, b, c] = foo();</literal>の場合,
+                        
+                        以下の宣言を行います: <literal>AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;</literal>
+                        
+                    </para>
+                    
+                    <para>
+                        
+                        Scilabエンジンに新しい変数をコミットするには,
+                        
+                        関数
+                        
+                        <link linkend="ReturnArguments">ReturnArguments(pvApiCtx)</link> をコールします.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </orderedlist>
+            
+            
+            
+        </para>
+        
+        <para>
+            
+            API_Scilab関数
+            
+            
+            
+            Note that almost all the API_Scilab functions returns a C structure called SciErr which contains many information about the error.
+        </para>
+        
+        <para>
+            
+            By default, Scilab numerical values are stored with the C type <literal>double</literal>.
+            
+        </para>
+        
+        <para>
+            
+            As convention, gateways are stored in <literal>sci_gateway/c/</literal> (or <literal>/cpp/</literal>) and are called <literal>sci_functionName.c</literal>.
+            
+        </para>
+        
+        <para>
+            
+            <literal>pvApiCtx</literal> is the global context variable. Useless in the 5 family, it has been introduced to manage multithread aspects coming with the version 6 of Scilab.
+            
+        </para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>現実的な例</title>
+        
+        <para>以下のScilab関数を例として示します:</para>
+        
+        <para>
+            
+            <literal>[c,d] = foo(a,b)</literal>
+            
+        </para>
+        
+        <para>
+            
+            <literal>a</literal>はdouble行列,<literal>a</literal>と同じ大きさの
+            
+            <literal>b</literal>は論理値行列,
+            
+            foo は<literal>a</literal>の各要素に2を乗じて,
+            
+            <literal>c</literal>として返します.
+            
+            また,bを要素毎に逆の論理値に変換して返します.
+            
+        </para>
+        
+        <para>
+            
+            Scilabバイナリに含まれるツールボックススケルトンでサンプルを取得できます.
+            
+            パスは
+            
+            <literal>contrib/toolbox_skeleton/sci_gateway/c/sci_foo.c</literal>です.
+            
+        </para>
+        
+        <para>詳細な説明は以下の例のCコメント形式で提供されています.
+            
+        </para>
+        
+        <programlisting role="code_gateway">
+            
+            <![CDATA[ 
+// 完全なソースはtoolboxスケルトンのsci_gateway/c/ ディレクトリにあります
+
+// 標準ヘッダ
+#include "api_scilab.h"
+#include "BOOL.h"
+
+// 関数宣言
+int sci_foo(char *fname, unsigned long fname_len)
+{
+    // エラー管理変数
+    SciErr sciErr;
+
+    ////////// 変数宣言 //////////
+    int m1 = 0, n1 = 0;
+    int *piAddressVarOne = NULL;
+    double *matrixOfDouble = NULL;
+    double *newMatrixOfDouble = NULL;
+
+    int m2 = 0, n2 = 0;
+    int *piAddressVarTwo = NULL;
+    int *matrixOfBoolean = NULL;
+    int *newMatrixOfBoolean = NULL;
+    int i = 0;
+
+
+    ////////// 入力/出力引数の数を調べる //////////
+    /* --> [c, d] = foo(a, b) */
+    /* 入力引数が2のみであることを調べる */
+    /* 出力引数が2のみであることを調べる */
+    CheckInputArgument(pvApiCtx, 2, 2) ;
+    CheckOutputArgument(pvApiCtx, 2, 2) ;
+
+
+    ////////// 最初の入力引数 (double) を管理 //////////
+    /* 入力アドレスを取得 */
+    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+    if (sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+
+    /* 最初の入力引数が実数行列(複素数でない)であることを調べる */
+    if ( !isDoubleType(pvApiCtx, piAddressVarOne) ||  isVarComplex(pvApiCtx, piAddressVarOne) )
+    {
+        Scierror(999, "%s: Wrong type for input argument #%d: A real matrix expected.\n", fname, 1);
+        return 0;
+    }
+
+    /* 行列を取得 */
+    sciErr = getMatrixOfDouble(pvApiCtx, piAddressVarOne, &m1, &n1, &matrixOfDouble);
+    if (sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+
+    ////////// 2番目の入力引数を管理 (論理値) //////////
+
+    /* 入力アドレスを取得 */
+    sciErr = getVarAddressFromPosition(pvApiCtx, 2, &piAddressVarTwo);
+    if (sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+
+    if ( !isBooleanType(pvApiCtx, piAddressVarTwo) )
+    {
+        Scierror(999, "%s: Wrong type for input argument #%d: A boolean matrix expected.\n", fname, 2);
+        return 0;
+    }
+
+    /* 行列を取得 */
+    sciErr = getMatrixOfBoolean(pvApiCtx, piAddressVarTwo, &m2, &n2, &matrixOfBoolean);
+    if (sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+
+    ////////// 2つの入力引数の相関を確認 //////////
+
+    if ((m1 != m2) || (n1 != n2))
+    {
+        Scierror(999, "%s: Wrong size for input arguments: Same size expected.\n", fname, 1);
+        return 0;
+    }
+
+
+    newMatrixOfDouble = (double*)malloc(sizeof(double) * m1 * n1);
+    ////////// アプリケーションコード //////////
+    // ライブラリへのコールで置換することができます
+
+    for (i = 0; i < m1 * n1; i++)
+    {
+        /* 行列の各要素を2倍します */
+        newMatrixOfDouble[i] = matrixOfDouble[i] * 2;
+    }
+
+    newMatrixOfBoolean = (int*)malloc(sizeof(BOOL) * m2 * n2);
+    for (i = 0; i < m2 * n2; i++)
+    {
+        /* 行列の各要素について, 値を反転する */
+        newMatrixOfBoolean[i] = ((matrixOfBoolean[i] == TRUE) ? FALSE : TRUE);
+    }
+
+    ////////// 出力引数を作成 //////////
+
+    /* 関数の戻り値として行列を作成 */
+    sciErr = createMatrixOfDouble(pvApiCtx, nbInputArgument(pvApiCtx) + 1, m1, n1, newMatrixOfDouble);
+    free(newMatrixOfDouble); // データをScilabメモリにコピー
+    if (sciErr.iErr)
+    {
+        free(newMatrixOfBoolean); // エラーの際,完全にクリンナップします
+        printError(&sciErr, 0);
+        return 0;
+    }
+
+    /* 関数の戻り値として行列を作成 */
+    sciErr = createMatrixOfBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 2, m2, n2, newMatrixOfBoolean);
+    free(newMatrixOfBoolean); // データをScilabメモリにコピー
+    if (sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+
+
+    ////////// 出力引数をScilabエンジンに戻す //////////
+
+    AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;
+    AssignOutputVariable(pvApiCtx, 2) = nbInputArgument(pvApiCtx) + 2;
+
+    return 0;
+}
+      ]]>
+            
+        </programlisting>
+        
+        <para>
+            
+            このコードを構築,Scilabにロードする際,
+            
+            Scilabの動的リンク機能を使用します.
+            
+            この組み込み処理はScilabに委任するため,
+            
+            以下のコードはマルチプラットフォームです.
+            
+            <programlisting role="scilab">
+                
+                <![CDATA[
+      files=["sci_foo.c"];
+      // TODO: WTF ?
+      WITHOUT_AUTO_PUTLHSVAR = %t;
+      ilib_build('build_lib',['foo','sci_foo'],files,[]);
+      exec loader.sce
+      [c, d] = foo([2,%pi], [%t, %f])
+      ]]>
+                
+            </programlisting>
+            
+        </para>
+        
+        <para>
+            
+            種々の確認が行われます:
+            
+            <programlisting role="no-scilab-exec">
+                
+                <![CDATA[
+-->[c, d] = foo(2, 2)
+                   !--error 999
+foo: Wrong type for input argument #2: A boolean matrix expected.
+      ]]>
+                
+            </programlisting>
+            
+            <programlisting role="no-scilab-exec">
+                
+                <![CDATA[
+-->[c, d] = foo([2,2], %t)
+                        !--error 999
+foo: Wrong size for input arguments: Same size expected.
+      ]]>
+                
+            </programlisting>
+            
+            <programlisting role="no-scilab-exec">
+                
+                <![CDATA[
+-->[a,b]=foo(2+%i,%t)
+                   !--error 999
+foo: Wrong type for input argument #1: A real matrix expected.
+      ]]>
+                
+            </programlisting>
+            
+            <programlisting role="no-scilab-exec">
+                
+                <![CDATA[
+-->[c, d] = foo([2,%pi], [%t, %f])
+ d  =
+
+  F T
+ c  =
+
+    4.    6.2831853
+      ]]>
+                
+            </programlisting>
+            
+        </para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/handle/A_isHandleType.xml b/scilab/modules/api_scilab/help/ja_JP/handle/A_isHandleType.xml
new file mode 100644 (file)
index 0000000..018d04e
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isHandleType" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>isHandleType</refname>
+        
+        <refpurpose>
+            
+            ハンドル変数かどうかを調べる.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int isHandleType(void* _pvCtx, int* _piAddress)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.h により定義された "pvApiCtx"で指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>変数がハンドル型の場合は1, それ以外は 0</para>
+        
+    </refsection>
+    
+    <title>History</title>
+    
+    <revhistory>
+        
+        <revision>
+            
+            <revnumber>5.5.0</revnumber>
+            
+            <revremark>この関数はScilab 5.5.0で追加されました</revremark>
+            
+        </revision>
+        
+    </revhistory>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/handle/B_getScalarHandle.xml b/scilab/modules/api_scilab/help/ja_JP/handle/B_getScalarHandle.xml
new file mode 100644 (file)
index 0000000..8ab4eff
--- /dev/null
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="getScalarHandle" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>getScalarHandle</refname>
+        
+        <refpurpose>
+            
+            ゲートウェイ引数からスカラーハンドルデータを読み込む.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int getScalarHandle(void* _pvCtx, int* _piAddress, long long* _pllHandle)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.h により定義された "pvApiCtx"で指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab変数のアドレス.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pllHandle</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        返されるハンドル値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>成功した場合は 0, それ以外はScilabコンソールにエラーメッセージを出力し,
+            
+            最初のエラー番号を返します.
+        </para>
+        
+    </refsection>
+    
+    <title>履歴</title>
+    
+    <revhistory>
+        
+        <revision>
+            
+            <revnumber>5.5.0</revnumber>
+            
+            <revremark>この関数はScilab 5.5.0で追加されました</revremark>
+            
+        </revision>
+        
+    </revhistory>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/handle/C_createScalarHandle.xml b/scilab/modules/api_scilab/help/ja_JP/handle/C_createScalarHandle.xml
new file mode 100644 (file)
index 0000000..6eb2101
--- /dev/null
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="createScalarHandle" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>createScalarHandle</refname>
+        
+        <refpurpose>
+            
+            Scilabメモリにスカラーハンドル変数を作成.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int createScalarHandle(void* _pvCtx, int _iVar, long long _llHandle)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.h により定義された "pvApiCtx"で指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_iVar</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_llHandle</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        ハンドルの値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>成功した場合は 0, それ以外はScilabコンソールにエラーメッセージを出力し,
+            
+            最初のエラー番号を返します.
+        </para>
+        
+    </refsection>
+    
+    <title>History</title>
+    
+    <revhistory>
+        
+        <revision>
+            
+            <revnumber>5.5.0</revnumber>
+            
+            <revremark>この関数はScilab 5.5.0で追加されました</revremark>
+            
+        </revision>
+        
+    </revhistory>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/handle/D_handleExample.xml b/scilab/modules/api_scilab/help/ja_JP/handle/D_handleExample.xml
new file mode 100644 (file)
index 0000000..4d5ee69
--- /dev/null
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="handleExample" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>ハンドルの例</refname>
+        
+        <refpurpose>
+            
+            ハンドルの使用例.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsection>
+        
+        <title>説明</title>
+        
+        <para>この例はハンドル変数を取得し,Scilabに返す方法を示します.</para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <!--File_gateway: SCI/modules/api_scilab/tests/unit_tests/handleExample.c-->
+        
+        <!--File_scilab: SCI/modules/api_scilab/tests/unit_tests/handleExample.tst-->
+        
+        <!--Lib_name: handleExample-->
+        
+        <!--Func_list: handleExample-->
+        
+        <title>ゲートウェイのソース</title>
+        
+        <programlisting role="code_gateway">
+            
+            <![CDATA[ 
+#include "api_scilab.h"
+
+int handleExample(char *fname,unsigned long fname_len)
+{
+    SciErr sciErr;
+    int* piAddr = NULL;
+    int iType   = 0;
+    int iRet    = 0;
+
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 0, 1);
+
+    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+    if(sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+    if(isHandleType(pvApiCtx, piAddr))
+    {
+        if(isScalar(pvApiCtx, piAddr))
+        {
+            long long llHandle = 0;
+            iRet = getScalarHandle(pvApiCtx, piAddr, &llHandle);
+            if(iRet)
+            {
+                return 0;
+            }
+            iRet = createScalarHandle(pvApiCtx, nbInputArgument(pvApiCtx) + 1, llHandle);
+            if(iRet)
+            {
+                return 0;
+            }
+        }
+        else
+        {
+            int iRows  = 0;
+            int iCols  = 0;
+            long long *pllHandle = NULL;
+
+            sciErr = getMatrixOfHandle(pvApiCtx, piAddr, &iRows, &iCols, &pllHandle);
+            if(sciErr.iErr)
+            {
+                printError(&sciErr, 0);
+                return 0;
+            }
+
+            sciErr = createMatrixOfHandle(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, pllHandle);
+            if(sciErr.iErr)
+            {
+                printError(&sciErr, 0);
+                return 0;
+            }
+        }
+        AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;
+    }
+    else
+    {
+        AssignOutputVariable(pvApiCtx, 1) = 0;
+    }
+    return 0;
+}
+ ]]>
+            
+        </programlisting>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>Scilabテストスクリプト</title>
+        
+        <programlisting role="code_scilab"><![CDATA[ 
+a = %t;
+b = %f;
+c = [a,b;b,a;a,b;b,a];
+d = c';
+
+handleExample(a) == a
+handleExample(b) == b
+handleExample(c) == c
+handleExample(d) == d
+ ]]></programlisting>
+        
+    </refsection>
+    
+    <title>履歴</title>
+    
+    <revhistory>
+        
+        <revision>
+            
+            <revnumber>5.5.0</revnumber>
+            
+            <revremark>この関数はScilab 5.5.0で追加されました</revremark>
+            
+        </revision>
+        
+    </revhistory>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/hypermat/A_isHypermatType.xml b/scilab/modules/api_scilab/help/ja_JP/hypermat/A_isHypermatType.xml
new file mode 100644 (file)
index 0000000..0eb115a
--- /dev/null
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2013  - Scilab Enterprises - Calixte DENIZET
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isHypermatType" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>isHypermatType</refname>
+        
+        <refpurpose>
+            
+            ハイパー行列変数かどうかを調べる.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int isHypermatType(void* _pvCtx, int* _piAddress)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.h により定義された "pvApiCtx"で指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>変数がdouble型の場合は1, それ以外は0</para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/hypermat/B_getHypermatOfDouble.xml b/scilab/modules/api_scilab/help/ja_JP/hypermat/B_getHypermatOfDouble.xml
new file mode 100644 (file)
index 0000000..f9e9c2a
--- /dev/null
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2013  - Scilab Enterprises - Calixte DENIZET
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="getHypermatOfDouble" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>getHypermatOfDouble</refname>
+        
+        <refpurpose>
+            
+            double変数のハイパー行列を取得.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>SciErr getHypermatOfDouble(void* _pvCtx, int* _piAddress, int **_dims, int *_ndims, double* _pdblReal)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.h により定義された "pvApiCtx"で指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab 変数のアドレス.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_dims</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        ハイパー行列の次元
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_ndims</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        次元の数.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pdblReal</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        double値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>SciErr構造体, フィールド iErr は
+            
+            エラー番号を保持します (エラーがない場合は 0).
+        </para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>ゲートウェイのソース</title>
+        
+        <programlisting role="code_gateway">
+            
+            <![CDATA[ 
+#include "api_scilab.h"
+
+int hypermatExample(char *fname,unsigned long fname_len)
+{
+    SciErr sciErr;
+    int* piAddr = NULL;
+    int iType   = 0;
+    int iRet    = 0;
+
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 0, 1);
+
+    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+    if (sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+
+    if (isEmptyMatrix(pvApiCtx, piAddr))
+    {
+        iRet = createEmptyMatrix(pvApiCtx, nbInputArgument(pvApiCtx) + 1);
+        if (iRet)
+        {
+            return iRet;
+        }
+
+        AssignOutputVariable(pvApiCtx, 1) = 0;
+    }
+    else if (isHypermatType(pvApiCtx, piAddr))
+    {
+        int * dims = NULL;
+        int ndims;
+        double* pdblReal = NULL;
+        double* pdblImg = NULL;
+
+        if (isHypermatComplex(pvApiCtx, piAddr))
+        {
+            sciErr = getComplexHypermatOfDouble(pvApiCtx, piAddr, &dims, &ndims, &pdblReal, &pdblImg);
+            if (sciErr.iErr)
+            {
+                printError(&sciErr, 0);
+                return sciErr.iErr;
+            }
+
+            sciErr = createComplexHypermatOfDouble(pvApiCtx, nbInputArgument(pvApiCtx) + 1, dims, ndims, pdblReal, pdblImg);
+            if (sciErr.iErr)
+            {
+                printError(&sciErr, 0);
+                return sciErr.iErr;
+            }
+        }
+        else
+        {
+            sciErr = getHypermatOfDouble(pvApiCtx, piAddr, &dims, &ndims, &pdblReal);
+            if (sciErr.iErr)
+            {
+                printError(&sciErr, 0);
+                return sciErr.iErr;
+            }
+
+            sciErr = createHypermatOfDouble(pvApiCtx, nbInputArgument(pvApiCtx) + 1, dims, ndims, pdblReal);
+            if (sciErr.iErr)
+            {
+                printError(&sciErr, 0);
+                return sciErr.iErr;
+            }
+        }
+
+        AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;
+    }
+
+    return 0;
+}]]>
+            
+        </programlisting>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>Scilab テストスクリプト</title>
+        
+        <programlisting role="code_scilab"><![CDATA[ 
+a = hypermat([1 2 3], ones(1,6));
+b = a + %i*hypermat([1 2 3], 1:6);
+
+hypermatExample(a) == a
+hypermatExample(b) == b
+ ]]></programlisting>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/hypermat/C_getHypermatOfInt.xml b/scilab/modules/api_scilab/help/ja_JP/hypermat/C_getHypermatOfInt.xml
new file mode 100644 (file)
index 0000000..f65ea73
--- /dev/null
@@ -0,0 +1,345 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2013  - Scilab Enterprises - Calixte DENIZET
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="getHypermatOfInt" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>getHypermatOfInt</refname>
+        
+        <refpurpose>
+            
+            整数変数のハイパー行列を取得.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>SciErr getHypermatOfInt8(void* _pvCtx, int* _piAddress, int **_dims, int *_ndims, char* _pcData)</synopsis>
+        
+        <synopsis>SciErr getHypermatOfUnsignedInt8(void* _pvCtx, int* _piAddress, int **_dims, int *_ndims, unsigned char* _pucData)</synopsis>
+        
+        <synopsis>SciErr getHypermatOfInt16(void* _pvCtx, int* _piAddress, int **_dims, int *_ndims, short* _psData)</synopsis>
+        
+        <synopsis>SciErr getHypermatOfUnsignedInt16(void* _pvCtx, int* _piAddress, int **_dims, int *_ndims, unsigned short* _pusData)</synopsis>
+        
+        <synopsis>SciErr getHypermatOfInt32(void* _pvCtx, int* _piAddress, int **_dims, int *_ndims, int* _piData)</synopsis>
+        
+        <synopsis>SciErr getHypermatOfUnsignedInt32(void* _pvCtx, int* _piAddress, int **_dims, int *_ndims, unsigned int* _puiData)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.h により定義された "pvApiCtx"で指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab変数のアドレス.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_dims</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        ハイパー行列の次元.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_ndims</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        次元の数.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_p*Data</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        データ.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>SciErr構造体, フィールド iErr は
+            
+            エラー番号を保持します (エラーがない場合は 0).
+        </para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>ゲートウェイのソース</title>
+        
+        <programlisting role="code_gateway">
+            
+            <![CDATA[ 
+#include "api_scilab.h"
+#include "Scierror.h"
+#include "localization.h"
+#include "sciprint.h"
+#include "MALLOC.h"
+
+int hypermatIntExample(char *fname,unsigned long fname_len)
+{
+    SciErr sciErr;
+    int* piAddr = NULL;
+    int iType   = 0;
+    int iRet    = 0;
+
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 0, 1);
+
+    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+    if (sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+
+    if (isEmptyMatrix(pvApiCtx, piAddr))
+    {
+        iRet = createEmptyMatrix(pvApiCtx, nbInputArgument(pvApiCtx) + 1);
+        if (iRet)
+        {
+            return iRet;
+        }
+
+        AssignOutputVariable(pvApiCtx, 1) = 0;
+    }
+    else if (isHypermatType(pvApiCtx, piAddr))
+    {
+        int * dims = NULL;
+        int ndims;
+        void * data = NULL;
+        int htype = 0;
+        int precision;
+
+        sciErr = getHypermatType(pvApiCtx, piAddr, &htype);
+        if (sciErr.iErr)
+        {
+            printError(&sciErr, 0);
+            return sciErr.iErr;
+        }
+
+        if (htype == sci_ints)
+        {
+            sciErr = getHypermatOfIntegerPrecision(pvApiCtx, piAddr, &precision);
+            if (sciErr.iErr)
+            {
+                printError(&sciErr, 0);
+                return sciErr.iErr;
+            }
+
+            switch (precision)
+            {
+            case SCI_INT8:
+                sciErr = getHypermatOfInteger8(pvApiCtx, piAddr, &dims, &ndims, (char*)&data);
+                if(sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+
+                sciErr = createHypermatOfInteger8(pvApiCtx, nbInputArgument(pvApiCtx) + 1, dims, ndims, (const char*)data);
+                if (sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+                break;
+            case SCI_UINT8:
+                sciErr = getHypermatOfUnsignedInteger8(pvApiCtx, piAddr, &dims, &ndims, (unsigned char*)&data);
+                if(sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+
+                sciErr = createHypermatOfUnsignedInteger8(pvApiCtx, nbInputArgument(pvApiCtx) + 1, dims, ndims, (const unsigned char*)data);
+                if (sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+                break;
+            case SCI_INT16:
+                sciErr = getHypermatOfInteger16(pvApiCtx, piAddr, &dims, &ndims, (short*)&data);
+                if(sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+
+                sciErr = createHypermatOfInteger16(pvApiCtx, nbInputArgument(pvApiCtx) + 1, dims, ndims, (const short*)data);
+                if (sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+                break;
+            case SCI_UINT16:
+                sciErr = getHypermatOfUnsignedInteger16(pvApiCtx, piAddr, &dims, &ndims, (unsigned short*)&data);
+                if(sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+
+                sciErr = createHypermatOfUnsignedInteger16(pvApiCtx, nbInputArgument(pvApiCtx) + 1, dims, ndims, (const unsigned short*)data);
+                if (sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+                break;
+            case SCI_INT32:
+                sciErr = getHypermatOfInteger32(pvApiCtx, piAddr, &dims, &ndims, (int*)&data);
+                if(sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+
+                sciErr = createHypermatOfInteger32(pvApiCtx, nbInputArgument(pvApiCtx) + 1, dims, ndims, (const int*)data);
+                if (sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+                break;
+            case SCI_UINT32:
+                sciErr = getHypermatOfUnsignedInteger32(pvApiCtx, piAddr, &dims, &ndims, (unsigned int*)&data);
+                if(sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+
+                sciErr = createHypermatOfUnsignedInteger32(pvApiCtx, nbInputArgument(pvApiCtx) + 1, dims, ndims, (const unsigned int*)data);
+                if (sciErr.iErr)
+                {
+                    printError(&sciErr, 0);
+                    return sciErr.iErr;
+                }
+                break;
+            }
+        }
+        else
+        {
+            Scierror(999, _("%s: Wrong type for input argument %d: An integer expected.\n"), fname, 1);
+            return 1;
+        }
+
+        AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;
+    }
+
+    return 0;
+}]]>
+            
+        </programlisting>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>Scilab テストスクリプト</title>
+        
+        <programlisting role="code_scilab"><![CDATA[ 
+a = hypermat([1 2 3], int8(1:6));
+b = hypermat([1 2 3], uint8(1:6));
+c = hypermat([1 2 3], int16(1:6));
+d = hypermat([1 2 3], uint16(1:6));
+e = hypermat([1 2 3], int32(1:6));
+f = hypermat([1 2 3], uint32(1:6));
+
+hypermatExampleInt(a) == a
+hypermatExampleInt(b) == b
+hypermatExampleInt(c) == c
+hypermatExampleInt(d) == d
+hypermatExampleInt(e) == e
+hypermatExampleInt(f) == f
+ ]]></programlisting>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/integer/A_isIntegerType.xml b/scilab/modules/api_scilab/help/ja_JP/integer/A_isIntegerType.xml
new file mode 100644 (file)
index 0000000..680c59c
--- /dev/null
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isIntegerType" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>isIntegerType</refname>
+        
+        <refpurpose>
+            
+            整数変数かどうか調べる.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int isIntegerType(void* _pvCtx, int* _piAddress)</synopsis>
+        
+        <synopsis>int isNamedIntegerType(void* _pvCtx, const char* _pstName)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.h で提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定"関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>変数が整数型の場合は1, それ以外の場合は0</para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/integer/B_getScalarInteger.xml b/scilab/modules/api_scilab/help/ja_JP/integer/B_getScalarInteger.xml
new file mode 100644 (file)
index 0000000..b769454
--- /dev/null
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="getScalarInteger8" xml:lang="en">
+    
+    <refnamediv>
+        
+        <refname>getScalarInteger8</refname>
+        
+        <refpurpose>
+            
+            スカラー整数変数を取得する.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int getScalarInteger8(void* _pvCtx, int* _piAddress, char* _pcData)</synopsis>
+        
+        <synopsis>int getNamedScalarInteger8(void* _pvCtx, const char* _pstName, char* _pcData)</synopsis>
+        
+        <synopsis>int getScalarInteger16(void* _pvCtx, int* _piAddress, short* _psData)</synopsis>
+        
+        <synopsis>int getNamedScalarInteger16(void* _pvCtx, const char* _pstName, short* _psData)</synopsis>
+        
+        <synopsis>int getScalarInteger32(void* _pvCtx, int* _piAddress, int* _piData)</synopsis>
+        
+        <synopsis>int getNamedScalarInteger32(void* _pvCtx, const char* _pstName, int* _piData)</synopsis>
+        
+        <synopsis>int getScalarUnsignedInteger8(void* _pvCtx, int* _piAddress, unsigned char* _pucData)</synopsis>
+        
+        <synopsis>int getNamedScalarUnsignedInteger8(void* _pvCtx, const char* _pstName, unsigned char* _pucData)</synopsis>
+        
+        <synopsis>int getScalarUnsignedInteger16(void* _pvCtx, int* _piAddress, unsigned short* _pusData)</synopsis>
+        
+        <synopsis>int getNamedScalarUnsignedInteger16(void* _pvCtx, const char* _pstName, unsigned short* _pusData)</synopsis>
+        
+        <synopsis>int getScalarUnsignedInteger32(void* _pvCtx, int* _piAddress, unsigned int* _puiData)</synopsis>
+        
+        <synopsis>int getNamedScalarUnsignedInteger32(void* _pvCtx, const char* _pstName, unsigned int* _puiData)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.hで提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab変数のアドレス.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定" 関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_cData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        8ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_sData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        16ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_iData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        32ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_ucData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        符号無し8ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_usData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        符号無し16ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_uiData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        符号無し32ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>
+            
+            成功した場合は 0, それ以外はScilabコンソールにエラーメッセージを表示し,
+            
+            最初のエラー番号を返します.
+            
+        </para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/integer/C_createScalarInteger.xml b/scilab/modules/api_scilab/help/ja_JP/integer/C_createScalarInteger.xml
new file mode 100644 (file)
index 0000000..398e9d3
--- /dev/null
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="createScalarInteger8" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>createScalarInteger8</refname>
+        
+        <refpurpose>
+            
+            スカラー整数変数を作成する.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int createScalarInteger8(void* _pvCtx, int _iVar, char cData)</synopsis>
+        
+        <synopsis>int createNamedScalarInteger8(void* _pvCtx, const char* _pstName, char _cData)</synopsis>
+        
+        <synopsis>int createScalarInteger16(void* _pvCtx, int _iVar, short sData)</synopsis>
+        
+        <synopsis>int createNamedScalarInteger16(void* _pvCtx, const char* _pstName, short _sData)</synopsis>
+        
+        <synopsis>int createScalarInteger32(void* _pvCtx, int _iVar, int iData)</synopsis>
+        
+        <synopsis>int createNamedScalarInteger32(void* _pvCtx, const char* _pstName, int _iData)</synopsis>
+        
+        <synopsis>int createScalarUnsignedInteger8(void* _pvCtx, int _iVar, unsigned char ucData)</synopsis>
+        
+        <synopsis>int createNamedScalarUnsignedInteger8(void* _pvCtx, const char* _pstName, unsigned char _ucData)</synopsis>
+        
+        <synopsis>int createScalarUnsignedInteger16(void* _pvCtx, int _iVar, unsigned short usData)</synopsis>
+        
+        <synopsis>int createNamedScalarUnsignedInteger16(void* _pvCtx, const char* _pstName, unsigned short _usData)</synopsis>
+        
+        <synopsis>int createScalarUnsignedInteger32(void* _pvCtx, int _iVar, unsigned int uiData)</synopsis>
+        
+        <synopsis>int createNamedScalarUnsignedInteger32(void* _pvCtx, const char* _pstName, unsigned int _uiData)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.hで提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_iVar</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定" 関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_cData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        8ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_sData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        16ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_iData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        32ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_ucData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        符号無し8ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_usData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        符号無し16ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_uiData</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        符号無し32ビット整数値.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>
+            
+            成功した場合は 0, それ以外はScilabコンソールにエラーメッセージを表示し,
+            
+            最初のエラー番号を返します.
+            
+        </para>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/integer/D_integerExample.xml b/scilab/modules/api_scilab/help/ja_JP/integer/D_integerExample.xml
new file mode 100644 (file)
index 0000000..8c38ed1
--- /dev/null
@@ -0,0 +1,363 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="integerExample" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>整数の例</refname>
+        
+        <refpurpose>
+            
+            整数の使用例.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsection>
+        
+        <title>説明</title>
+        
+        <para>この例は整数変数を取得し,Scilabに返す方法を示します.</para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <!--File_gateway: SCI/modules/api_scilab/tests/unit_tests/integerExample.c-->
+        
+        <!--File_scilab: SCI/modules/api_scilab/tests/unit_tests/integerExample.tst-->
+        
+        <!--Lib_name: integerExample-->
+        
+        <!--Func_list: integerExample-->
+        
+        <title>ゲートウェイのソース</title>
+        
+        <programlisting role="code_gateway"><![CDATA[ 
+#include "api_scilab.h"
+
+int integerExample(char *fname,unsigned long fname_len)
+{
+       SciErr sciErr;
+       int* piAddr     = NULL;
+       int iType       = 0;
+       int iRet        = 0;
+       int iPrec       = 0;
+
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 0, 1);
+
+       sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+
+       if(isIntegerType(pvApiCtx, piAddr))
+       {
+               sciErr = getMatrixOfIntegerPrecision(pvApiCtx, piAddr, &iPrec);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return sciErr.iErr;
+               }
+
+               switch(iPrec)
+               {
+               case SCI_INT8 :
+                       if(isScalar(pvApiCtx, piAddr))
+                       {
+                               char cData  = 0;
+                               iRet = getScalarInteger8(pvApiCtx, piAddr, &cData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+
+                               iRet = createScalarInteger8(pvApiCtx, nbInputArgument(pvApiCtx) + 1, cData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+                       }
+                       else
+                       {
+                               int iRows       = 0;
+                               int iCols       = 0;
+                               char* pcData    = NULL;
+
+                               sciErr = getMatrixOfInteger8(pvApiCtx, piAddr, &iRows, &iCols, &pcData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+
+                               sciErr = createMatrixOfInteger8(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, pcData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+                       }
+                       break;
+               case SCI_INT16 :
+                       if(isScalar(pvApiCtx, piAddr))
+                       {
+                               short sData = 0;
+                               iRet = getScalarInteger16(pvApiCtx, piAddr, &sData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+
+                               iRet = createScalarInteger16(pvApiCtx, nbInputArgument(pvApiCtx) + 1, sData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+                       }
+                       else
+                       {
+                               int iRows       = 0;
+                               int iCols       = 0;
+                               short* psData   = NULL;
+
+                               sciErr = getMatrixOfInteger16(pvApiCtx, piAddr, &iRows, &iCols, &psData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+
+                               sciErr = createMatrixOfInteger16(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, psData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+                       }
+                       break;
+               case SCI_INT32 :
+                       if(isScalar(pvApiCtx, piAddr))
+                       {
+                               int iData = 0;
+                               iRet = getScalarInteger32(pvApiCtx, piAddr, &iData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+
+                               iRet = createScalarInteger32(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+                       }
+                       else
+                       {
+                               int iRows       = 0;
+                               int iCols       = 0;
+                               int* piData     = NULL;
+
+                               sciErr = getMatrixOfInteger32(pvApiCtx, piAddr, &iRows, &iCols, &piData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+
+                               sciErr = createMatrixOfInteger32(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, piData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+                       }
+                       break;
+#ifdef __SCILAB_INT64__
+               case SCI_INT64 :
+#endif
+               case SCI_UINT8 :
+                       if(isScalar(pvApiCtx, piAddr))
+                       {
+                               unsigned char ucData = 0;
+                               iRet = getScalarUnsignedInteger8(pvApiCtx, piAddr, &ucData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+
+                               iRet = createScalarUnsignedInteger8(pvApiCtx, nbInputArgument(pvApiCtx) + 1, ucData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+                       }
+                       else
+                       {
+                               int iRows               = 0;
+                               int iCols               = 0;
+                               unsigned char* pucData  = NULL;
+
+                               sciErr = getMatrixOfUnsignedInteger8(pvApiCtx, piAddr, &iRows, &iCols, &pucData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+
+                               sciErr = createMatrixOfUnsignedInteger8(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, pucData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+                       }
+                       break;
+
+               case SCI_UINT16 :
+                       if(isScalar(pvApiCtx, piAddr))
+                       {
+                               unsigned short usData = 0;
+                               iRet = getScalarUnsignedInteger16(pvApiCtx, piAddr, &usData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+
+                               iRet = createScalarUnsignedInteger16(pvApiCtx, nbInputArgument(pvApiCtx) + 1, usData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+                       }
+                       else
+                       {
+                               int iRows               = 0;
+                               int iCols               = 0;
+                               unsigned short* pusData = NULL;
+
+                               sciErr = getMatrixOfUnsignedInteger16(pvApiCtx, piAddr, &iRows, &iCols, &pusData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+
+                               sciErr = createMatrixOfUnsignedInteger16(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, pusData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+                       }
+                       break;
+               case SCI_UINT32 :
+                       if(isScalar(pvApiCtx, piAddr))
+                       {
+                               unsigned int uiData = 0;
+                               iRet = getScalarUnsignedInteger32(pvApiCtx, piAddr, &uiData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+
+                               iRet = createScalarUnsignedInteger32(pvApiCtx, nbInputArgument(pvApiCtx) + 1, uiData);
+                               if(iRet)
+                               {
+                                       return iRet;
+                               }
+                       }
+                       else
+                       {
+                               int iRows               = 0;
+                               int iCols               = 0;
+                               unsigned int* puiData   = NULL;
+
+                               sciErr = getMatrixOfUnsignedInteger32(pvApiCtx, piAddr, &iRows, &iCols, &puiData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+
+                               sciErr = createMatrixOfUnsignedInteger32(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, puiData);
+                               if(sciErr.iErr)
+                               {
+                                       printError(&sciErr, 0);
+                                       return sciErr.iErr;
+                               }
+                       }
+                       break;
+
+#ifdef __SCILAB_INT64__
+               case SCI_UINT64 :
+#endif
+               default :
+                       break;
+               }
+       }
+    
+    AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;
+       return 0;
+}
+ ]]></programlisting>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>Scilabテストスクリプト</title>
+        
+        <programlisting role="code_scilab"><![CDATA[ 
+i8_1 = int8(1);
+i8_2 = int8([1,2,3;4,5,6]);
+ui8_1 = uint8(1);
+ui8_2 = uint8([1,2,3;4,5,6]);
+
+i16_1 = int16(1);
+i16_2 = int16([1,2,3;4,5,6]);
+ui16_1 = uint16(1);
+ui16_2 = uint16([1,2,3;4,5,6]);
+
+i32_1 = int32(1);
+i32_2 = int32([1,2,3;4,5,6]);
+ui32_1 = uint32(1);
+ui32_2 = uint32([1,2,3;4,5,6]);
+
+if integerExample(i8_1) <> i8_1 then pause;end
+if integerExample(i8_2) <> i8_2 then pause;end
+if integerExample(ui8_1) <> ui8_1 then pause;end
+if integerExample(ui8_2) <> ui8_2 then pause;end
+
+if integerExample(i16_1) <> i16_1 then pause;end
+if integerExample(i16_2) <> i16_2 then pause;end
+if integerExample(ui16_1) <> ui16_1 then pause;end
+if integerExample(ui16_2) <> ui16_2 then pause;end
+
+if integerExample(i8_1) <> i16_1 then pause;end
+if integerExample(i8_2) <> i16_2 then pause;end
+if integerExample(ui8_1) <> ui16_1 then pause;end
+if integerExample(ui8_2) <> ui16_2 then pause;end
+ ]]></programlisting>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/list_management/CHAPTER b/scilab/modules/api_scilab/help/ja_JP/list_management/CHAPTER
new file mode 100644 (file)
index 0000000..4e72a7a
--- /dev/null
@@ -0,0 +1 @@
+title = List manipulation
diff --git a/scilab/modules/api_scilab/help/ja_JP/list_management/isListType.xml b/scilab/modules/api_scilab/help/ja_JP/list_management/isListType.xml
new file mode 100644 (file)
index 0000000..0096258
--- /dev/null
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isListType" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>isListType, isTListType, isMListType</refname>
+        
+        <refpurpose>
+            
+            list, mlist, tlist 変数かどうかを調べる.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <synopsis>int isListType(void* _pvCtx, int* _piAddress)</synopsis>
+        
+        <synopsis>int isNamedListType(void* _pvCtx, const char* _pstName)</synopsis>
+        
+        <synopsis>int isTListType(void* _pvCtx, int* _piAddress)</synopsis>
+        
+        <synopsis>int isNamedTListType(void* _pvCtx, const char* _pstName)</synopsis>
+        
+        <synopsis>int isMListType(void* _pvCtx, int* _piAddress)</synopsis>
+        
+        <synopsis>int isNamedMListType(void* _pvCtx, const char* _pstName)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.hで提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piAddress</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        変数を保存するScilabメモリの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定" 関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>戻り値</title>
+        
+        <para>変数がlist型の場合に1, それ以外は 0</para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>Scilabテストスクリプト</title>
+        
+        <programlisting role="code_scilab"><![CDATA[ 
+fileData = [
+'#include <api_scilab.h>'
+'#include <Scierror.h>'
+'#include <MALLOC.h>'
+'/* ========================================================================== */'
+'int sci_getListType(char *fname)'
+'{'
+'    int* piAddr = NULL;'
+'    char pstRet[64];'
+''
+'    getVarAddressFromPosition(pvApiCtx, 1, &piAddr);'
+''
+'    if(isStringType(pvApiCtx, piAddr))'
+'    {//named check'
+'        char* pstVar = NULL;'
+'        getAllocatedSingleString(pvApiCtx, piAddr, &pstVar);'
+''
+'        if(isNamedListType(pvApiCtx, pstVar))'
+'        {'
+'            sprintf(pstRet, ""%s"", ""isNamedList"");'
+'        }'
+'        else if(isNamedTListType(pvApiCtx, pstVar))'
+'        {'
+'            sprintf(pstRet, ""%s"", ""isNamedTList"");'
+'        }'
+'        else if(isNamedMListType(pvApiCtx, pstVar))'
+'        {'
+'            sprintf(pstRet, ""%s"", ""isNamedMList"");'
+'        }'
+'        else'
+'        {'
+'            sprintf(pstRet, ""%s"", ""unmanaged named type"");'
+'        }'
+'        FREE(pstVar);'
+'    }'
+'    else'
+'    {'
+'        if(isListType(pvApiCtx, piAddr))'
+'        {'
+'            sprintf(pstRet, ""%s"", ""isList"");'
+'        }'
+'        else if(isTListType(pvApiCtx, piAddr))'
+'        {'
+'            sprintf(pstRet, ""%s"", ""isTList"");'
+'        }'
+'        else if(isMListType(pvApiCtx, piAddr))'
+'        {'
+'            sprintf(pstRet, ""%s"", ""isMList"");'
+'        }'
+'        else'
+'        {'
+'            sprintf(pstRet, ""%s"", ""unmanaged type"");'
+'        }'
+'    }'
+'    createSingleString(pvApiCtx, nbInputArgument(pvApiCtx) + 1, pstRet);'
+'    AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;'
+'    return 0;'
+'}'
+]
+
+currentPath = pwd();
+mkdir(TMPDIR + "/getListType");
+cd(TMPDIR + "/getListType");
+mputl(fileData, "getListType.c");
+
+ilib_verbose(0);
+files = ['getListType.c'];
+ilib_build('libgetListType', ['getListType', 'sci_getListType'], files, []);
+exec loader.sce;
+
+a = list();
+b = tlist("test");
+c = mlist("test");
+d = 1;
+
+assert_checkequal(getListType(a), "isList");
+assert_checkequal(getListType(b), "isTList");
+assert_checkequal(getListType(c), "isMList");
+assert_checkequal(getListType(d), "unmanaged type");
+
+assert_checkequal(getListType("a"), "isNamedList");
+assert_checkequal(getListType("b"), "isNamedTList");
+assert_checkequal(getListType("c"), "isNamedMList");
+assert_checkequal(getListType("d"), "unmanaged named type");
+
+//unload lib
+[bOK, ilib] = c_link('libgetListType');
+if bOK then
+  ulink(ilib);
+end
+
+cd(currentPath);
+]]></programlisting>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/list_management/list_boolean_reading_api.xml b/scilab/modules/api_scilab/help/ja_JP/list_management/list_boolean_reading_api.xml
new file mode 100644 (file)
index 0000000..24183ca
--- /dev/null
@@ -0,0 +1,824 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  - DIGITEO - Antoine ELIAS
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="list_boolean_reading_API" xml:lang="ja">
+    
+    <refnamediv>
+        
+        <refname>論理値の読み込み (Scilabゲートウェイ)</refname>
+        
+        <refpurpose>
+            
+            論理値行列をリストに読み込む手順.
+            
+        </refpurpose>
+        
+    </refnamediv>
+    
+    <refsynopsisdiv>
+        
+        <title>呼び出し手順</title>
+        
+        <para>入力引数プロファイル:</para>
+        
+        <synopsis>SciErr getMatrixOfBooleanInList(void* _pvCtx, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int** _piBool)</synopsis>
+        
+        <para>名前指定変数プロファイル:</para>
+        
+        <synopsis>SciErr readMatrixOfBooleanInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piBool)</synopsis>
+        
+    </refsynopsisdiv>
+    
+    <refsection>
+        
+        <title>引数</title>
+        
+        <variablelist>
+            
+            <varlistentry>
+                
+                <term>_pvCtx</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        Scilab環境ポインタ, api_scilab.hで提供される"pvApiCtx"を指定.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piParent</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        新規アイテムの親のアドレス.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_pstName</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        "名前指定" 関数の場合の変数名.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_iItemPos</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        リストにおける新規アイテムの位置.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piRows</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        返される変数の行数.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piCols</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        返される変数の列数.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>_piBool</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        返されるデータ配列のアドレス (大きさ : _iRows * _iCols).
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+            <varlistentry>
+                
+                <term>SciErr</term>
+                
+                <listitem>
+                    
+                    <para>
+                        
+                        エラーメッセージの履歴と最初のエラー番号を保存するエラー構造体.
+                        
+                    </para>
+                    
+                </listitem>
+                
+            </varlistentry>
+            
+        </variablelist>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>説明</title>
+        
+        <para>このヘルプはリストに論理値行列を読み込む手順を示します.</para>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <!--File_gateway: SCI/modules/api_scilab/tests/unit_tests/common_read_api.c-->
+        
+        <!--File_scilab: SCI/modules/api_scilab/tests/unit_tests/common_read_api.tst-->
+        
+        <!--Lib_name: common_read-->
+        
+        <!--Func_list: common_read-->
+        
+        <title>ゲートウェイのソース</title>
+        
+        <programlisting role="code_gateway"><![CDATA[ 
+#include "api_scilab.h"
+
+static int iTab = 0;
+void insert_indent(void)
+{
+       int i = 0;
+       for(i = 0 ; i < iTab ; i++)
+       {
+               sciprint("\t");
+       }
+}
+
+int get_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
+int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
+int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
+int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
+int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
+int get_sparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
+int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
+int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
+int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
+int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
+
+int common_read(char *fname,unsigned long fname_len)
+{
+       SciErr sciErr;
+       int iItem       = 0;
+       int iRet        = 0;
+       int *piAddr     = NULL;
+
+       CheckInputArgument(pvApiCtx, 1, 1);
+
+       sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+       get_info(1, NULL, piAddr, 0);
+       AssignOutputVariable(pvApiCtx, 1) = 0;
+       return 0;
+}
+
+int get_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
+{
+       SciErr sciErr;
+       int iRet    = 0;
+       int iType   = 0;
+
+       sciErr = getVarType(pvApiCtx, _piAddr, &iType);
+       switch(iType)
+       {
+       case sci_matrix :
+               iRet = get_double_info(_iRhs, _piParent, _piAddr, _iItemPos);
+               break;
+       case sci_poly :
+               iRet = get_poly_info(_iRhs, _piParent, _piAddr, _iItemPos);
+               break;
+       case sci_boolean :
+               iRet = get_boolean_info(_iRhs, _piParent, _piAddr, _iItemPos);
+               break;
+       case sci_sparse :
+               iRet = get_sparse_info(_iRhs, _piParent, _piAddr, _iItemPos);
+               break;
+       case sci_boolean_sparse :
+               iRet = get_bsparse_info(_iRhs, _piParent, _piAddr, _iItemPos);
+               break;
+       case sci_ints :
+               iRet = get_integer_info(_iRhs, _piParent, _piAddr, _iItemPos);
+               break;
+       case sci_strings :
+               iRet = get_string_info(_iRhs, _piParent, _piAddr, _iItemPos);
+               break;
+       case sci_list :
+               insert_indent();
+               sciprint("List ");
+               iRet = get_list_info(_iRhs, _piParent, _piAddr, _iItemPos);
+               break;
+       case sci_tlist :
+               insert_indent();
+               sciprint("TList ");
+               iRet = get_list_info(_iRhs, _piParent, _piAddr, _iItemPos);
+               break;
+       case sci_mlist :
+               insert_indent();
+               sciprint("MList ");
+               iRet = get_list_info(_iRhs, _piParent, _piAddr, _iItemPos);
+               break;
+       case sci_pointer :
+               iRet = get_pointer_info(_iRhs, _piParent, _piAddr, _iItemPos);
+               break;
+       default :
+               insert_indent();
+               sciprint("Unknown type\n");
+               return 1;
+       }
+       return iRet;
+}
+
+int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
+{
+       SciErr sciErr;
+       int i;
+       int iRet        = 0;
+       int iItem       = 0;
+       int* piChild    = NULL;
+
+       sciErr = getListItemNumber(pvApiCtx, _piAddr, &iItem);
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+       sciprint("(%d)\n", iItem);
+       for(i = 0 ; i < iItem ; i++)
+       {
+               sciErr = getListItemAddress(pvApiCtx, _piAddr, i + 1, &piChild);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+
+               iTab++;
+               iRet = get_info(_iRhs, _piAddr, piChild, i + 1);
+               iTab--;
+       }
+       return 0;;
+}
+
+int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
+{
+       SciErr sciErr;
+       int iRows           = 0;
+       int iCols           = 0;
+       double* pdblReal    = NULL;
+       double* pdblImg     = NULL;
+
+       if(_iItemPos == 0)
+       {//not in list
+               if(isVarComplex(pvApiCtx, _piAddr))
+               {
+                       sciErr = getComplexMatrixOfDouble(pvApiCtx, _piAddr, &iRows, &iCols, &pdblReal, &pdblImg);
+               }
+               else
+               {
+                       sciErr = getMatrixOfDouble(pvApiCtx, _piAddr, &iRows, &iCols, &pdblReal);
+               }
+       }
+       else
+       {
+               if(isVarComplex(pvApiCtx, _piAddr))
+               {
+                       sciErr = getComplexMatrixOfDoubleInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pdblReal, &pdblImg);
+               }
+               else
+               {
+                       sciErr = getMatrixOfDoubleInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pdblReal);
+               }
+       }
+
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+       insert_indent();
+       sciprint("Double (%d x %d)\n", iRows, iCols);
+       return 0;;
+}
+
+int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
+{
+       SciErr sciErr;
+       int i;
+       int iLen            = 0;
+       int iRows           = 0;
+       int iCols           = 0;
+       char pstVar[16];
+       int* piCoeff        = NULL;
+       double** pdblReal   = NULL;
+       double** pdblImg    = NULL;
+
+       sciErr = getPolyVariableName(pvApiCtx, _piAddr, pstVar, &iLen);
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+       if(_iItemPos == 0)
+       {//not in list
+               sciErr = getMatrixOfPoly(pvApiCtx, _piAddr, &iRows, &iCols, NULL, NULL);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+
+               piCoeff     = (int*)malloc(sizeof(int) * iRows * iCols);
+               sciErr = getMatrixOfPoly(pvApiCtx, _piAddr, &iRows, &iCols, piCoeff, NULL);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+
+               pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
+               pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
+               for(i = 0 ; i < iRows * iCols ; i++)
+               {
+                       pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
+                       pdblImg[i]  = (double*)malloc(sizeof(double) * piCoeff[i]);
+               }
+
+               if(isVarComplex(pvApiCtx, _piAddr))
+               {
+                       sciErr = getComplexMatrixOfPoly(pvApiCtx, _piAddr, &iRows, &iCols, piCoeff, pdblReal, pdblImg);
+                       if(sciErr.iErr)
+                       {
+                               printError(&sciErr, 0);
+                               return 0;
+                       }
+               }
+               else
+               {
+                       sciErr = getMatrixOfPoly(pvApiCtx, _piAddr, &iRows, &iCols, piCoeff, pdblReal);
+                       if(sciErr.iErr)
+                       {
+                               printError(&sciErr, 0);
+                               return 0;
+                       }
+               }
+       }
+       else
+       {
+               sciErr = getMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, NULL, NULL);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+
+               piCoeff = (int*)malloc(sizeof(int) * iRows * iCols);
+
+               sciErr = getMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piCoeff, NULL);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+
+               pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
+               pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
+               for(i = 0 ; i < iRows * iCols ; i++)
+               {
+                       pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
+                       pdblImg[i]  = (double*)malloc(sizeof(double) * piCoeff[i]);
+               }
+
+               if(isVarComplex(pvApiCtx, _piAddr))
+               {
+                       sciErr = getComplexMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piCoeff, pdblReal, pdblImg);
+               }
+               else
+               {
+                       sciErr = getMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piCoeff, pdblReal);
+               }
+       }
+
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+       insert_indent();
+       sciprint("Poly  (%d x %d), varname : \'%s\'\n", iRows, iCols, pstVar);
+
+       for(i = 0 ; i < iRows * iCols ; i++)
+       {
+               free(pdblReal[i]);
+               free(pdblImg[i]);
+       }
+
+       free(pdblReal);
+       free(pdblImg);
+       free(piCoeff);
+       return 0;;
+}
+int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
+{
+       SciErr sciErr;
+       int iRows       = 0;
+       int iCols       = 0;
+       int* piBool     = NULL;
+
+       if(_iItemPos == 0)
+       {
+               sciErr = getMatrixOfBoolean(pvApiCtx, _piAddr, &iRows, &iCols, &piBool);
+       }
+       else
+       {
+               sciErr = getMatrixOfBooleanInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &piBool);
+       }
+
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+       insert_indent();
+       sciprint("Boolean (%d x %d)\n", iRows, iCols);
+       return 0;
+}
+int get_sparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
+{
+       SciErr sciErr;
+       int iRows           = 0;
+       int iCols           = 0;
+       int iItem           = 0;
+       int* piNbRow        = NULL;
+       int* piColPos       = NULL;
+       double* pdblReal    = NULL;
+       double* pdblImg     = NULL;
+
+       if(_iItemPos == 0)
+       {//Not in list
+               if(isVarComplex(pvApiCtx, _piAddr))
+               {
+                       sciErr = getComplexSparseMatrix(pvApiCtx, _piAddr, &iRows, &iCols, &iItem, &piNbRow, &piColPos, &pdblReal, &pdblImg);
+               }
+               else
+               {
+                       sciErr = getSparseMatrix(pvApiCtx, _piAddr, &iRows, &iCols, &iItem, &piNbRow, &piColPos, &pdblReal);
+               }
+       }
+       else
+       {
+               if(isVarComplex(pvApiCtx, _piAddr))
+               {
+                       sciErr = getComplexSparseMatrixInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &iItem, &piNbRow, &piColPos, &pdblReal, &pdblImg);
+               }
+               else
+               {
+                       sciErr = getSparseMatrixInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &iItem, &piNbRow, &piColPos, &pdblReal);
+               }
+       }
+
+       insert_indent();
+       sciprint("Sparse (%d x %d), Item(s) : %d \n", iRows, iCols, iItem);
+       return 0;;
+}
+
+int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
+{
+       SciErr sciErr;
+       int iRows       = 0;
+       int iCols       = 0;
+       int iItem       = 0;
+       int* piNbRow    = NULL;
+       int* piColPos   = NULL;
+
+       if(_iItemPos == 0)
+       {//Not in list
+               sciErr = getBooleanSparseMatrix(pvApiCtx, _piAddr, &iRows, &iCols, &iItem, &piNbRow, &piColPos);
+       }
+       else
+       {
+               sciErr = getBooleanSparseMatrixInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &iItem, &piNbRow, &piColPos);
+       }
+
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+       insert_indent();
+       sciprint("Boolean Sparse (%d x %d), Item(s) : %d \n", iRows, iCols, iItem);
+       return 0;;
+}
+int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
+{
+       SciErr sciErr;
+       int iPrec               = 0;
+       int iRows               = 0;
+       int iCols               = 0;
+       char* pcData            = NULL;
+       short* psData           = NULL;
+       int* piData             = NULL;
+       unsigned char* pucData  = NULL;
+       unsigned short* pusData = NULL;
+       unsigned int* puiData   = NULL;
+
+       if(_iItemPos == 0)
+       {//Not in list
+               sciErr = getMatrixOfIntegerPrecision(pvApiCtx, _piAddr, &iPrec);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+
+               switch(iPrec)
+               {
+               case SCI_INT8 :
+                       sciErr = getMatrixOfInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pcData);
+                       break;
+               case SCI_INT16 :
+                       sciErr = getMatrixOfInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &psData);
+                       break;
+               case SCI_INT32 :
+                       sciErr = getMatrixOfInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &piData);
+                       break;
+               case SCI_UINT8 :
+                       sciErr = getMatrixOfUnsignedInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pucData);
+                       break;
+               case SCI_UINT16 :
+                       sciErr = getMatrixOfUnsignedInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &pusData);
+                       break;
+               case SCI_UINT32 :
+                       sciErr = getMatrixOfUnsignedInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &puiData);
+                       break;
+               default :
+                       return 1;
+               }
+       }
+       else
+       {
+               sciErr = getMatrixOfIntegerPrecision(pvApiCtx, _piAddr, &iPrec);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+
+               switch(iPrec)
+               {
+               case SCI_INT8 :
+                       sciErr = getMatrixOfInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pcData);
+                       break;
+               case SCI_INT16 :
+                       sciErr = getMatrixOfInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &psData);
+                       break;
+               case SCI_INT32 :
+                       sciErr = getMatrixOfInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &piData);
+                       break;
+               case SCI_UINT8 :
+                       sciErr = getMatrixOfUnsignedInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pucData);
+                       break;
+               case SCI_UINT16 :
+                       sciErr = getMatrixOfUnsignedInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pusData);
+                       break;
+               case SCI_UINT32 :
+                       sciErr = getMatrixOfUnsignedInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &puiData);
+                       break;
+               default :
+                       return 1;
+               }
+       }
+
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+       insert_indent();
+
+       if(iPrec > 10)
+       {
+               sciprint("Unsigned ");
+       }
+
+       sciprint("Integer %d bits (%d x %d)\n", (iPrec % 10) * 8, iRows, iCols);
+       return 0;;
+}
+int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
+{
+       SciErr sciErr;
+       int i;
+       int iRows       = 0;
+       int iCols       = 0;
+       int* piLen      = NULL;
+       char **pstData  = NULL;
+
+       if(_iItemPos == 0)
+       {//Not in list
+               sciErr = getMatrixOfString(pvApiCtx, _piAddr, &iRows, &iCols, NULL, NULL);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+
+               piLen = (int*)malloc(sizeof(int) * iRows * iCols);
+               sciErr = getMatrixOfString(pvApiCtx, _piAddr, &iRows, &iCols, piLen, NULL);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+
+               pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
+               for(i = 0 ; i < iRows * iCols ; i++)
+               {
+                       pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
+               }
+
+               sciErr = getMatrixOfString(pvApiCtx, _piAddr, &iRows, &iCols, piLen, pstData);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+       }
+       else
+       {
+               sciErr = getMatrixOfStringInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, NULL, NULL);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+
+               piLen = (int*)malloc(sizeof(int) * iRows * iCols);
+
+               sciErr = getMatrixOfStringInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piLen, NULL);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+
+               pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
+               for(i = 0 ; i < iRows * iCols ; i++)
+               {
+                       pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
+               }
+
+               sciErr = getMatrixOfStringInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piLen, pstData);
+               if(sciErr.iErr)
+               {
+                       printError(&sciErr, 0);
+                       return 0;
+               }
+       }
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+       insert_indent();
+       sciprint("Strings (%d x %d)\n", iRows, iCols);
+       return 0;;
+}
+int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
+{
+       SciErr sciErr;
+       void* pvPtr     = NULL;
+
+       if(_iItemPos == 0)
+       {
+               sciErr = getPointer(pvApiCtx, _piAddr, &pvPtr);
+       }
+       else
+       {
+               sciErr = getPointerInList(pvApiCtx, _piParent, _iItemPos, &pvPtr);
+       }
+
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+       insert_indent();
+       sciprint("Pointer : 0x%08X\n", pvPtr);
+       return 0;
+}
+ ]]></programlisting>
+        
+    </refsection>
+    
+    <refsection>
+        
+        <title>Scilabテストスクリプト</title>
+        
+        <programlisting role="code_scilab"><![CDATA[ 
+function read_all()
+d = [1,2,3;4,5,6;7,8,9];common_read(d);
+s=poly(0,"x");p=1+s+2*s^2;p = [(p * 2),(p * s + 3);(p * 2 * s ** 2 - 6),(12 - 4 * p * (- s) ** 2)];common_read(p);
+b = [%t,%f;%t,%f;%f,%t];common_read(b);
+sp=sparse([2,-1,0,0,0;-1,2,-1,0,0;0,-1,2,-1,0;0,0,-1,2,-1;0,0,0,-1,2]);common_read(sp);
+bsp=sparse([1,2;4,5;3,10],[%t,%t,%t]);common_read(bsp);
+i8 = int8([1,2,3]);common_read(i8);
+ui32 = uint32([3;2;1]);common_read(ui32);
+str = ["may", "the", "puffin"; "be", "with","you"];common_read(str);
+if with_module('umfpack') then
+    Cp = taucs_chfact(sp);
+    l = list(list(d, p, list(b, sp)), list(i8, bsp), list(ui32, str), Cp);
+else
+    l = list(list(d, p, list(b, sp)), list(i8, bsp), list(ui32, str));
+end
+common_read(l)
+endfunction
+read_all;
+ ]]></programlisting>
+        
+    </refsection>
+    
+</refentry>
+
diff --git a/scilab/modules/api_scilab/help/ja_JP/list_management/list_boolean_writing_api.xml b/scilab/modules/api_scilab/help/ja_JP/list_management/list_boolean_writing_api.xml
new file mode 100644 (file)
index 0000000..648742b
--- /dev/null
@@ -0,0 +1,520 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009  -