Scilab: enum example is consistent with other languages
This commit is contained in:
parent
06617dbd0b
commit
91e4114827
4 changed files with 10 additions and 38 deletions
|
|
@ -1,7 +1,6 @@
|
||||||
/* 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) {
|
||||||
|
|
@ -15,15 +14,3 @@ 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");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,11 @@
|
||||||
|
|
||||||
%{
|
%{
|
||||||
#include "example.h"
|
#include "example.h"
|
||||||
#include "scilabconst_example.h"
|
|
||||||
%}
|
%}
|
||||||
|
|
||||||
|
/* Forces to wrap enums as Scilab variables (instead of functions) */
|
||||||
|
%scilabconst(1);
|
||||||
|
|
||||||
%include "example.h"
|
%include "example.h"
|
||||||
|
|
||||||
%scilabconst(1);
|
|
||||||
|
|
||||||
%include "scilabconst_example.h"
|
|
||||||
|
|
|
||||||
|
|
@ -2,28 +2,16 @@ lines(0);
|
||||||
exec loader.sce;
|
exec loader.sce;
|
||||||
SWIG_Init();
|
SWIG_Init();
|
||||||
|
|
||||||
printf("\nTesting use of enums wrapped as Scilab functions\n");
|
printf("\nTesting use of enums (wrapped as Scilab variables)\n");
|
||||||
|
|
||||||
printf("*** color ***\n");
|
printf("*** color ***\n");
|
||||||
printf(" RED = %i\n", RED_get());
|
printf(" RED = %i\n", RED);
|
||||||
printf(" BLUE = %i\n", BLUE_get());
|
printf(" BLUE = %i\n", BLUE);
|
||||||
printf(" GREEN = %i\n", GREEN_get());
|
printf(" GREEN = %i\n", GREEN);
|
||||||
|
|
||||||
enum_test(RED_get());
|
enum_test(RED);
|
||||||
enum_test(BLUE_get());
|
enum_test(BLUE);
|
||||||
enum_test(GREEN_get());
|
enum_test(GREEN);
|
||||||
enum_test(int32(1234));
|
enum_test(int32(1234));
|
||||||
|
|
||||||
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
|
exit
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
typedef enum { APPLE, ORANGE, LEMON } fruit;
|
|
||||||
|
|
||||||
void scilabconst_enum_test(fruit f);
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue