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 */
|
/* File : example.c */
|
||||||
|
|
||||||
#include "example.h"
|
#include "example.h"
|
||||||
|
#include "scilabconst_example.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
void enum_test(color c) {
|
void enum_test(color c) {
|
||||||
|
|
@ -14,3 +15,15 @@ void enum_test(color c) {
|
||||||
printf("color = Unknown color!\n");
|
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 */
|
/* File : example.i */
|
||||||
%module example
|
%module example
|
||||||
|
|
||||||
%scilabconst(1);
|
|
||||||
|
|
||||||
%{
|
%{
|
||||||
#include "example.h"
|
#include "example.h"
|
||||||
|
#include "scilabconst_example.h"
|
||||||
%}
|
%}
|
||||||
|
|
||||||
/* Let's just grab the original header file here */
|
|
||||||
|
|
||||||
%include "example.h"
|
%include "example.h"
|
||||||
|
|
||||||
|
%scilabconst(1);
|
||||||
|
|
||||||
|
%include "scilabconst_example.h"
|
||||||
|
|
|
||||||
|
|
@ -2,19 +2,28 @@ lines(0);
|
||||||
exec loader.sce;
|
exec loader.sce;
|
||||||
SWIG_Init();
|
SWIG_Init();
|
||||||
|
|
||||||
// Print out the value of some enums
|
printf("\nTesting use of enums wrapped as Scilab functions\n");
|
||||||
|
|
||||||
printf("*** color ***\n");
|
printf("*** color ***\n");
|
||||||
printf(" RED = %i\n", RED);
|
printf(" RED = %i\n", RED_get());
|
||||||
printf(" BLUE = %i\n", BLUE);
|
printf(" BLUE = %i\n", BLUE_get());
|
||||||
printf(" GREEN = %i\n", GREEN);
|
printf(" GREEN = %i\n", GREEN_get());
|
||||||
|
|
||||||
|
enum_test(RED_get());
|
||||||
printf("\nTesting use of enums with functions\n");
|
enum_test(BLUE_get());
|
||||||
|
enum_test(GREEN_get());
|
||||||
enum_test(RED);
|
|
||||||
enum_test(BLUE);
|
|
||||||
enum_test(GREEN);
|
|
||||||
enum_test(int32(1234));
|
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