diff options
author | imushir | 2015-12-28 15:25:30 +0530 |
---|---|---|
committer | imushir | 2015-12-28 15:25:30 +0530 |
commit | b78d9ee3ae4c216c3b6bef13ba5637833381f529 (patch) | |
tree | f5a6653733fdf86c65ddf837636f449fe9cc3c8b /2.3-1/src | |
parent | 87e2de9869a72ab2058f4b3ca60d5a6e6d8d6035 (diff) | |
download | Scilab2C-b78d9ee3ae4c216c3b6bef13ba5637833381f529.tar.gz Scilab2C-b78d9ee3ae4c216c3b6bef13ba5637833381f529.tar.bz2 Scilab2C-b78d9ee3ae4c216c3b6bef13ba5637833381f529.zip |
added support for uint8 uint16 int8 & int16 for sum
Diffstat (limited to '2.3-1/src')
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/i16columnsuma.c | 33 | ||||
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/i16rowsuma.c | 34 | ||||
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/i16suma.c | 25 | ||||
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/i8columnsuma.c | 33 | ||||
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/i8rowsuma.c | 34 | ||||
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/i8suma.c | 26 | ||||
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/u16columnsuma.c | 33 | ||||
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/u16rowsuma.c | 34 | ||||
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/u16suma.c | 25 | ||||
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/u8columnsuma.c | 33 | ||||
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/u8rowsuma.c | 34 | ||||
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/sum/u8suma.c | 25 |
12 files changed, 369 insertions, 0 deletions
diff --git a/2.3-1/src/c/statisticsFunctions/sum/i16columnsuma.c b/2.3-1/src/c/statisticsFunctions/sum/i16columnsuma.c new file mode 100644 index 00000000..c097be8b --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/i16columnsuma.c @@ -0,0 +1,33 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +void i16columnsuma(int16 *in, int lines, int columns, int16 * out) { + int i = 0; + + /* + ** First assign first row, just in case + ** out contains non-zero's elements. + */ + for (i = 0 ; i < lines; ++i) + { + out[i] = (int16)in[i]; + } + /* + ** Then accumulate in each row. + */ + for (i = lines ; i < lines * columns ; ++i) + { + out[i % lines] = (int16)i16adds(out[i % lines] , in[i]); + } +} diff --git a/2.3-1/src/c/statisticsFunctions/sum/i16rowsuma.c b/2.3-1/src/c/statisticsFunctions/sum/i16rowsuma.c new file mode 100644 index 00000000..2d9c3122 --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/i16rowsuma.c @@ -0,0 +1,34 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +void i16rowsuma(int16 *in, int lines, int columns, int16 * out) { + int i = 0; + + /* + ** First assign first row, just in case + ** out contains non-zero's elements. + */ + for (i = 0 ; i < columns; ++i) + { + out[i] = (int16)in[i * lines]; + } + /* + ** Then accumulate in each column. + */ + for (i = 1 ; i <= (lines - 1) * columns ; ++i) + { + out[(i - 1) % columns] = (int16)i16adds( out[(i - 1) % columns] , + in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]); + } +} diff --git a/2.3-1/src/c/statisticsFunctions/sum/i16suma.c b/2.3-1/src/c/statisticsFunctions/sum/i16suma.c new file mode 100644 index 00000000..c1a392ac --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/i16suma.c @@ -0,0 +1,25 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +int16 i16suma(int16 *in, int size) { + //floatComplex accumulate = FloatComplex(0.0f, 0.0f); + int i = 0; + int16 accumulate = 0; + + for (i = 0; i < size; ++i) + { + accumulate = i16adds(accumulate, in[i]); + } + return accumulate; +} diff --git a/2.3-1/src/c/statisticsFunctions/sum/i8columnsuma.c b/2.3-1/src/c/statisticsFunctions/sum/i8columnsuma.c new file mode 100644 index 00000000..6550a18a --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/i8columnsuma.c @@ -0,0 +1,33 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +void i8columnsuma(int8 *in, int lines, int columns, int8 * out) { + int i = 0; + + /* + ** First assign first row, just in case + ** out contains non-zero's elements. + */ + for (i = 0 ; i < lines; ++i) + { + out[i] = (int8)in[i]; + } + /* + ** Then accumulate in each row. + */ + for (i = lines ; i < lines * columns ; ++i) + { + out[i % lines] = (int8)i8adds(out[i % lines] , in[i]); + } +} diff --git a/2.3-1/src/c/statisticsFunctions/sum/i8rowsuma.c b/2.3-1/src/c/statisticsFunctions/sum/i8rowsuma.c new file mode 100644 index 00000000..c975bae3 --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/i8rowsuma.c @@ -0,0 +1,34 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +void i8rowsuma(int8 *in, int lines, int columns, int8 * out) { + int i = 0; + + /* + ** First assign first row, just in case + ** out contains non-zero's elements. + */ + for (i = 0 ; i < columns; ++i) + { + out[i] = (int8)in[i * lines]; + } + /* + ** Then accumulate in each column. + */ + for (i = 1 ; i <= (lines - 1) * columns ; ++i) + { + out[(i - 1) % columns] = (int8)i8adds( out[(i - 1) % columns] , + in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]); + } +} diff --git a/2.3-1/src/c/statisticsFunctions/sum/i8suma.c b/2.3-1/src/c/statisticsFunctions/sum/i8suma.c new file mode 100644 index 00000000..e413ede3 --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/i8suma.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +int8 i8suma(int8 *in, int size) { + //floatComplex accumulate = FloatComplex(0.0f, 0.0f); + int8 accumulate = 0; + + int i = 0; + + for (i = 0; i < size; ++i) + { + accumulate = i8adds(accumulate, in[i]); + } + return accumulate; +} diff --git a/2.3-1/src/c/statisticsFunctions/sum/u16columnsuma.c b/2.3-1/src/c/statisticsFunctions/sum/u16columnsuma.c new file mode 100644 index 00000000..895fe04f --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/u16columnsuma.c @@ -0,0 +1,33 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +void u16columnsuma(uint16 *in, int lines, int columns, uint16 * out) { + int i = 0; + + /* + ** First assign first row, just in case + ** out contains non-zero's elements. + */ + for (i = 0 ; i < lines; ++i) + { + out[i] = (uint16)in[i]; + } + /* + ** Then accumulate in each row. + */ + for (i = lines ; i < lines * columns ; ++i) + { + out[i % lines] = (uint16)u16adds(out[i % lines] , in[i]); + } +} diff --git a/2.3-1/src/c/statisticsFunctions/sum/u16rowsuma.c b/2.3-1/src/c/statisticsFunctions/sum/u16rowsuma.c new file mode 100644 index 00000000..3adb206e --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/u16rowsuma.c @@ -0,0 +1,34 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +void u16rowsuma(uint16 *in, int lines, int columns, uint16 * out) { + int i = 0; + + /* + ** First assign first row, just in case + ** out contains non-zero's elements. + */ + for (i = 0 ; i < columns; ++i) + { + out[i] = (uint16)in[i * lines]; + } + /* + ** Then accumulate in each column. + */ + for (i = 1 ; i <= (lines - 1) * columns ; ++i) + { + out[(i - 1) % columns] = (uint16)u16adds( out[(i - 1) % columns] , + in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]); + } +} diff --git a/2.3-1/src/c/statisticsFunctions/sum/u16suma.c b/2.3-1/src/c/statisticsFunctions/sum/u16suma.c new file mode 100644 index 00000000..0130f7af --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/u16suma.c @@ -0,0 +1,25 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +uint16 u16suma(uint16 *in, int size) { + //floatComplex accumulate = FloatComplex(0.0f, 0.0f); + int i = 0; + uint16 accumulate = 0; + + for (i = 0; i < size; ++i) + { + accumulate = u16adds(accumulate, in[i]); + } + return accumulate; +} diff --git a/2.3-1/src/c/statisticsFunctions/sum/u8columnsuma.c b/2.3-1/src/c/statisticsFunctions/sum/u8columnsuma.c new file mode 100644 index 00000000..5484b4a4 --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/u8columnsuma.c @@ -0,0 +1,33 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +void u8columnsuma(uint8 *in, int lines, int columns, uint8 * out) { + int i = 0; + + /* + ** First assign first row, just in case + ** out contains non-zero's elements. + */ + for (i = 0 ; i < lines; ++i) + { + out[i] = (uint8)in[i]; + } + /* + ** Then accumulate in each row. + */ + for (i = lines ; i < lines * columns ; ++i) + { + out[i % lines] = (uint8)u8adds(out[i % lines] , in[i]); + } +} diff --git a/2.3-1/src/c/statisticsFunctions/sum/u8rowsuma.c b/2.3-1/src/c/statisticsFunctions/sum/u8rowsuma.c new file mode 100644 index 00000000..938af400 --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/u8rowsuma.c @@ -0,0 +1,34 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +void u8rowsuma(uint8 *in, int lines, int columns, uint8 * out) { + int i = 0; + + /* + ** First assign first row, just in case + ** out contains non-zero's elements. + */ + for (i = 0 ; i < columns; ++i) + { + out[i] = (uint8)in[i * lines]; + } + /* + ** Then accumulate in each column. + */ + for (i = 1 ; i <= (lines - 1) * columns ; ++i) + { + out[(i - 1) % columns] = (uint8)u8adds( out[(i - 1) % columns] , + in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]); + } +} diff --git a/2.3-1/src/c/statisticsFunctions/sum/u8suma.c b/2.3-1/src/c/statisticsFunctions/sum/u8suma.c new file mode 100644 index 00000000..cb80b336 --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/sum/u8suma.c @@ -0,0 +1,25 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#include "sum.h" + +uint8 u8suma(uint8 *in, int size) { + //floatComplex accumulate = FloatComplex(0.0f, 0.0f); + int i = 0; + uint8 accumulate = 0; + + for (i = 0; i < size; ++i) + { + accumulate = u8adds(accumulate, in[i]); + } + return accumulate; +} |