Scilab: add %scilabconst in enum example
This commit is contained in:
parent
74aebf252d
commit
39bab12d2c
4 changed files with 40 additions and 15 deletions
|
|
@ -1,6 +1,7 @@
|
|||
/* File : example.c */
|
||||
|
||||
#include "example.h"
|
||||
#include "scilabconst_example.h"
|
||||
#include <stdio.h>
|
||||
|
||||
void enum_test(color c) {
|
||||
|
|
@ -14,3 +15,15 @@ void enum_test(color c) {
|
|||
printf("color = Unknown color!\n");
|
||||
}
|
||||
}
|
||||
|
||||
void scilabconst_enum_test(fruit f) {
|
||||
if (f == APPLE) {
|
||||
printf("fruit = APPLE\n");
|
||||
} else if (f == ORANGE) {
|
||||
printf("fruit = ORANGE\n");
|
||||
} else if (f == LEMON) {
|
||||
printf("fruit = LEMON\n");
|
||||
} else {
|
||||
printf("fruit = Unknown fruit!\n");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
/* File : example.i */
|
||||
%module example
|
||||
|
||||
%scilabconst(1);
|
||||
|
||||
%{
|
||||
#include "example.h"
|
||||
#include "scilabconst_example.h"
|
||||
%}
|
||||
|
||||
/* Let's just grab the original header file here */
|
||||
|
||||
%include "example.h"
|
||||
|
||||
%scilabconst(1);
|
||||
|
||||
%include "scilabconst_example.h"
|
||||
|
|
|
|||
|
|
@ -2,19 +2,28 @@ lines(0);
|
|||
exec loader.sce;
|
||||
SWIG_Init();
|
||||
|
||||
// Print out the value of some enums
|
||||
printf("\nTesting use of enums wrapped as Scilab functions\n");
|
||||
|
||||
printf("*** color ***\n");
|
||||
printf(" RED = %i\n", RED);
|
||||
printf(" BLUE = %i\n", BLUE);
|
||||
printf(" GREEN = %i\n", GREEN);
|
||||
printf(" RED = %i\n", RED_get());
|
||||
printf(" BLUE = %i\n", BLUE_get());
|
||||
printf(" GREEN = %i\n", GREEN_get());
|
||||
|
||||
|
||||
printf("\nTesting use of enums with functions\n");
|
||||
|
||||
enum_test(RED);
|
||||
enum_test(BLUE);
|
||||
enum_test(GREEN);
|
||||
enum_test(RED_get());
|
||||
enum_test(BLUE_get());
|
||||
enum_test(GREEN_get());
|
||||
enum_test(int32(1234));
|
||||
|
||||
exit
|
||||
printf("\nTesting use of enums wrapped as Scilab variables\n");
|
||||
|
||||
printf("*** fruit ***\n");
|
||||
printf(" APPLE = %i\n", APPLE);
|
||||
printf(" ORANGE = %i\n", ORANGE);
|
||||
printf(" LEMON = %i\n", LEMON);
|
||||
|
||||
scilabconst_enum_test(APPLE);
|
||||
scilabconst_enum_test(ORANGE);
|
||||
scilabconst_enum_test(LEMON);
|
||||
scilabconst_enum_test(int32(1234));
|
||||
|
||||
exit
|
||||
|
|
|
|||
3
Examples/scilab/enum/scilabconst_example.h
Normal file
3
Examples/scilab/enum/scilabconst_example.h
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
typedef enum { APPLE, ORANGE, LEMON } fruit;
|
||||
|
||||
void scilabconst_enum_test(fruit f);
|
||||
Loading…
Add table
Add a link
Reference in a new issue