diff --git a/Lib/scilab/scisequence.swg b/Lib/scilab/scisequence.swg index 2319f811c..10df14a3e 100644 --- a/Lib/scilab/scisequence.swg +++ b/Lib/scilab/scisequence.swg @@ -55,10 +55,10 @@ namespace swig { }; template struct traits_from_sequence { static int create(int size, void **sequence) { - return SWIG_FromCreate_Sequence_dec(ptr)(size, (int ***)sequence); + return SWIG_FromCreate_Sequence_dec(ptr)(size, (long long **)sequence); } static SciObject set(int size, void *sequence) { - return SWIG_FromSet_Sequence_dec(ptr)(size, (int **)sequence); + return SWIG_FromSet_Sequence_dec(ptr)(size, (long long *)sequence); } }; } @@ -107,14 +107,32 @@ namespace swig { fragment=SWIG_From_SequenceItem_frag(ptr)) { namespace swig { + + // Default value container conversion of item + template struct traits_asval_sequenceitem { static int asval(SciObject obj, void *pSequence, int iItemIndex, T *pItemValue) { - return SWIG_AsVal_SequenceItem_dec(ptr)(obj, (int *)pSequence, iItemIndex, (int **)pItemValue); + T* tmp; + int ret = SWIG_AsVal_SequenceItem_dec(ptr)(obj, (int *)pSequence, iItemIndex, (void **)&tmp); + *pItemValue = *tmp; } }; template struct traits_from_sequenceitem { static int from(void *pSequence, int iItemIndex, T itemValue) { - return SWIG_From_SequenceItem_dec(ptr)((int **)pSequence, iItemIndex, (int*)itemValue); + return SWIG_From_SequenceItem_dec(ptr)((long long *)pSequence, iItemIndex, (long long) &itemValue); + } + }; + + // Default pointer container conversion of item + + template struct traits_asval_sequenceitem { + static int asval(SciObject obj, void *pSequence, int iItemIndex, T **pItemValue) { + return SWIG_AsVal_SequenceItem_dec(ptr)(obj, (int *)pSequence, iItemIndex, (void **)pItemValue); + } + }; + template struct traits_from_sequenceitem { + static int from(void *pSequence, int iItemIndex, T *itemValue) { + return SWIG_From_SequenceItem_dec(ptr)((long long *)pSequence, iItemIndex, (long long) itemValue); } }; } diff --git a/Lib/scilab/scisequencepointer.swg b/Lib/scilab/scisequencepointer.swg index f68b2969c..332b5fb7e 100644 --- a/Lib/scilab/scisequencepointer.swg +++ b/Lib/scilab/scisequencepointer.swg @@ -36,8 +36,8 @@ SWIG_AsSize_Sequence_dec(ptr)(SciObject _obj, int *_piSize) { %fragment(SWIG_FromCreate_Sequence_frag(ptr), "header") { SWIGINTERN int -SWIG_FromCreate_Sequence_dec(ptr)(int _size, int ***_sequence) { - *_sequence = new int*[_size]; +SWIG_FromCreate_Sequence_dec(ptr)(int _size, long long **_sequence) { + *_sequence = new long long[_size]; return *_sequence != NULL ? SWIG_OK : SWIG_ERROR; } } @@ -45,7 +45,7 @@ SWIG_FromCreate_Sequence_dec(ptr)(int _size, int ***_sequence) { %fragment(SWIG_FromSet_Sequence_frag(ptr), "header") { SWIGINTERN SciObject -SWIG_FromSet_Sequence_dec(ptr)(int _size, int **_sequence) { +SWIG_FromSet_Sequence_dec(ptr)(int _size, long long *_sequence) { SciErr sciErr; int *piListAddr; @@ -75,7 +75,7 @@ SWIG_FromSet_Sequence_dec(ptr)(int _size, int **_sequence) { %fragment(SWIG_AsVal_SequenceItem_frag(ptr), "header") { SWIGINTERN int -SWIG_AsVal_SequenceItem_dec(ptr)(SciObject _obj, int* _piSequence, int _itemIndex, int **_pItemValue) +SWIG_AsVal_SequenceItem_dec(ptr)(SciObject _obj, int *_piSequence, int _itemIndex, void **_pItemValue) { SciErr sciErr; int *piItemAddr; @@ -115,7 +115,7 @@ SWIG_AsVal_SequenceItem_dec(ptr)(SciObject _obj, int* _piSequence, int _itemInde %fragment(SWIG_From_SequenceItem_frag(ptr), "header") { SWIGINTERN int -SWIG_From_SequenceItem_dec(ptr)(int **_pSequence, int _iItemIndex, int *_itemValue) { +SWIG_From_SequenceItem_dec(ptr)(long long *_pSequence, int _iItemIndex, long long _itemValue) { _pSequence[_iItemIndex] = _itemValue; } }