1 /* ------------------------------------------------------------
3 * ------------------------------------------------------------ */
8 %fragment(SWIG_From_frag(bool),"header") {
9 SWIGINTERNINLINE octave_value
10 SWIG_From_dec(bool)(bool value)
12 return octave_value(value);
16 %fragment(SWIG_AsVal_frag(bool),"header",
17 fragment=SWIG_AsVal_frag(long)) {
19 SWIG_AsVal_dec(bool)(const octave_value& ov, bool *val)
21 if (!ov.is_bool_type())
24 *val = ov.bool_value();
31 %fragment(SWIG_From_frag(long),"header") {
32 SWIGINTERNINLINE octave_value SWIG_From_dec(long) (long value)
34 return octave_value(value);
39 %fragment(SWIG_AsVal_frag(long),"header") {
40 SWIGINTERN int SWIG_AsVal_dec(long)(const octave_value& ov, long* val)
42 if (!ov.is_scalar_type())
43 return SWIG_TypeError;
44 if (ov.is_complex_scalar())
45 return SWIG_TypeError;
46 if (ov.is_double_type()||ov.is_single_type()) {
47 double v=ov.double_value();
49 return SWIG_TypeError;
52 *val = ov.long_value();
59 %fragment(SWIG_From_frag(unsigned long),"header") {
60 SWIGINTERNINLINE octave_value SWIG_From_dec(unsigned long) (unsigned long value)
62 return octave_value(value);
67 %fragment(SWIG_AsVal_frag(unsigned long),"header") {
68 SWIGINTERN int SWIG_AsVal_dec(unsigned long)(const octave_value& ov, unsigned long* val)
70 if (!ov.is_scalar_type())
71 return SWIG_TypeError;
72 if (ov.is_complex_scalar())
73 return SWIG_TypeError;
74 if (ov.is_double_type()||ov.is_single_type()) {
75 double v=ov.double_value();
77 return SWIG_OverflowError;
79 return SWIG_TypeError;
81 if (ov.is_int8_type()||ov.is_int16_type()||
83 long v=ov.long_value();
85 return SWIG_OverflowError;
87 if (ov.is_int64_type()) {
88 long long v=ov.int64_scalar_value().value();
90 return SWIG_OverflowError;
93 *val = ov.ulong_value();
100 %fragment(SWIG_From_frag(long long),"header") {
101 SWIGINTERNINLINE octave_value SWIG_From_dec(long long) (long long value)
103 return octave_int64(value);
108 %fragment(SWIG_AsVal_frag(long long),"header") {
109 SWIGINTERN int SWIG_AsVal_dec(long long)(const octave_value& ov, long long* val)
111 if (!ov.is_scalar_type())
112 return SWIG_TypeError;
113 if (ov.is_complex_scalar())
114 return SWIG_TypeError;
115 if (ov.is_double_type()||ov.is_single_type()) {
116 double v=ov.double_value();
118 return SWIG_TypeError;
121 if (ov.is_int64_type())
122 *val = ov.int64_scalar_value().value();
123 else if (ov.is_uint64_type())
124 *val = ov.uint64_scalar_value().value();
126 *val = ov.long_value();
132 %fragment(SWIG_From_frag(unsigned long long),"header") {
133 SWIGINTERNINLINE octave_value SWIG_From_dec(unsigned long long) (unsigned long long value)
135 return octave_uint64(value);
139 %fragment(SWIG_AsVal_frag(unsigned long long),"header") {
140 SWIGINTERN int SWIG_AsVal_dec(unsigned long long)(const octave_value& ov, unsigned long long* val)
142 if (!ov.is_scalar_type())
143 return SWIG_TypeError;
144 if (ov.is_complex_scalar())
145 return SWIG_TypeError;
146 if (ov.is_double_type()||ov.is_single_type()) {
147 double v=ov.double_value();
149 return SWIG_OverflowError;
151 return SWIG_TypeError;
153 if (ov.is_int8_type()||ov.is_int16_type()||
154 ov.is_int32_type()) {
155 long v=ov.long_value();
157 return SWIG_OverflowError;
159 if (ov.is_int64_type()) {
160 long long v=ov.int64_scalar_value().value();
162 return SWIG_OverflowError;
165 if (ov.is_int64_type())
166 *val = ov.int64_scalar_value().value();
167 else if (ov.is_uint64_type())
168 *val = ov.uint64_scalar_value().value();
170 *val = ov.long_value();
178 %fragment(SWIG_From_frag(double),"header") {
179 SWIGINTERNINLINE octave_value SWIG_From_dec(double) (double value)
181 return octave_value(value);
186 %fragment(SWIG_AsVal_frag(double),"header") {
187 SWIGINTERN int SWIG_AsVal_dec(double)(const octave_value& ov, double* val)
189 if (!ov.is_scalar_type())
190 return SWIG_TypeError;
191 if (ov.is_complex_scalar())
192 return SWIG_TypeError;
194 *val = ov.double_value();
199 // const char* (strings)
201 %fragment("SWIG_AsCharPtrAndSize","header") {
203 SWIG_AsCharPtrAndSize(octave_value ov, char** cptr, size_t* psize, int *alloc)
205 if (ov.is_cell() && ov.rows() == 1 && ov.columns() == 1)
206 ov = ov.cell_value()(0);
208 return SWIG_TypeError;
210 std::string str=ov.string_value();
211 size_t len=str.size();
212 char* cstr=(char*)str.c_str();
214 *cptr = %new_copy_array(cstr, len + 1, char);
215 *alloc = SWIG_NEWOBJ;
224 %fragment("SWIG_FromCharPtrAndSize","header",fragment="SWIG_pchar_descriptor") {
225 SWIGINTERNINLINE octave_value
226 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
228 return std::string(carray,carray+size);