Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.3.0 - Português

Change language to:
English - Français - 日本語 -

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.

Manual Scilab >> call_scilab API > creadbmat (obsolete)

creadbmat (obsolete)

Read a single boolean or a matrix of boolean from Scilab memory using call_scilab. Starting with Scilab 5.2, this function is obsolete. See API_Scilab: Boolean reading for remplacement.

int C2F(creadbmat)(char *name, int *m, int *n, int *scimat, unsigned long name_len);

Arguments

name

The name of the future Scilab variable

m

Number of rows

n

Number of columns

scimat

The actual matrix of boolean (array of int). Note that it is going to be stored in Scilab columnwise.

name_len

The length of the variable name(fortran compatibility)

C2F

C2F is just a macro which provides to this function the ability to be called from fortran

Description

This help describes how to use the function creadbmat.

Using this function will retrieve a variable called name from Scilab memory into a standard C int *.

Examples

/* Load the previously set variable B */
// See: modules/call_scilab/examples/basicExamples/readwriteboolean.c
int rowB_ = 0, colB_ = 0, lp_ = 0;
int i = 0, j = 0;
int *matrixOfBooleanB = NULL; /* Int instead of double */

char variableToBeRetrievedB[] = "B";

/* First, retrieve the size of the matrix */
C2F(cmatbptr)(variableToBeRetrievedB, &rowB_, &colB_, &lp_, strlen(variableToBeRetrievedB));

/* Alloc the memory */
matrixOfBooleanB=(int*)malloc((rowB_*colB_)*sizeof(int));

/* Load the matrix */
C2F(creadbmat)(variableToBeRetrievedB,&rowB_,&colB_,matrixOfBooleanB,strlen(variableToBeRetrievedB) );

printf("\n");
printf("Display from B formated (size: %d, %d):\n",rowB_, colB_);
for(j = 0 ; j < rowB_ ; j++)
{
 for(i = 0 ; i < colB_ ; i++)
 {
  /* Display the formated matrix ... the way the user
   * expect */
  printf("%d ",matrixOfBooleanB[i * rowB_ + j]);
 }
 printf("\n"); /* New row of the matrix */
}

Authors

Sylvestre Ledru

<< Compile and run with Call Scilab call_scilab API creadchain (obsolete) >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jan 26 16:24:43 CET 2011