/* * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab * Copyright (C) INRIA * * 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.1-en.txt * */ /*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/ enum {NOT_A_KNOT, NATURAL, CLAMPED, PERIODIC, FAST, FAST_PERIODIC, MONOTONE, BY_ZERO, C0, LINEAR, BY_NAN, UNDEFINED }; /*--------------------------------------------------------------------------*/ typedef struct { char *str_type; int type; } TableType; /*--------------------------------------------------------------------------*/ typedef struct realhypermat { int dimsize; /* number of dimensions of the hyper matrix */ int size; /* total number of elements : size = dims[0]x... x dims[dimsize-1] */ int *dims; /* number of elements in each dimension */ double *R; /* points to the elements */ } RealHyperMat; /*--------------------------------------------------------------------------*/ extern int get_rhs_scalar_string(int num, int *length, int **tabchar); #define GetRhsScalarString(num,n,t) if (!get_rhs_scalar_string(num,n,t)) { return 0;} /*--------------------------------------------------------------------------*/ extern int get_rhs_real_hmat(int num, RealHyperMat *H); #define GetRhsRealHMat(pos,H) if (!get_rhs_real_hmat(pos,H)) { return 0;} /*--------------------------------------------------------------------------*/ /** * TODO : comment * @param x * @param n * @return */ int good_order(double x[], int n); /** * TODO : comment * @param Tab * @param dim_table * @param scistr * @param strlength * @return */ int get_type(TableType *Tab, int dim_table, int *scistr, int strlength);