From a6d6a9c1e88b75668868af691c9731075a514ffb Mon Sep 17 00:00:00 2001 From: siddhu8990 Date: Wed, 18 May 2016 09:44:43 +0530 Subject: Support added for kron, flipdim --- src/c/matrixOperations/flipdim/i8flipdima.c | 80 +++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/c/matrixOperations/flipdim/i8flipdima.c (limited to 'src/c/matrixOperations/flipdim/i8flipdima.c') diff --git a/src/c/matrixOperations/flipdim/i8flipdima.c b/src/c/matrixOperations/flipdim/i8flipdima.c new file mode 100644 index 00000000..fc302cb7 --- /dev/null +++ b/src/c/matrixOperations/flipdim/i8flipdima.c @@ -0,0 +1,80 @@ +// Copyright (C) 2016 - IIT Bombay - FOSSEE +// +// 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 +// Author: Siddhesh Wani +// Organization: FOSSEE, IIT Bombay +// Email: toolbox@scilab.in + +//Function flips the input matrix along given dimension + +#include "flipdim.h" + +void i8flipdima (int8 *in, int row, int col, int dim, int blk_size, int8 *out) +{ + int col_count = 0, row_count = 0, blk_count = 0, count = 0; + if(dim == 1) //flip rows + { + if(blk_size == 1) + { + for(col_count = 0; col_count < col; col_count++) + { + for(row_count = 0; row_count< row;row_count++) + { + out[col_count*row+row_count] = in[col_count*row+(row - row_count - 1)]; + } + } + } + else //block size is more than 1 + { + for(col_count = 0; col_count < col; col_count++) + { + count = blk_size; + blk_count = 0; + for(row_count = 0; row_count< row;row_count++) + { + out[col_count*row+row_count] = in[col_count*row+(row - blk_count*blk_size - count)]; + if(--count == 0) + { + blk_count += 1; + count = blk_size; + } + } + } + + } + } + else if(dim == 2) //flip columns + { + if(blk_size == 1) + { + for(col_count = 0; col_count < col; col_count++) + { + for(row_count = 0; row_count< row;row_count++) + { + out[col_count*row+row_count] = in[(col- col_count - 1)*row+row_count]; + } + } + } + else + { + count = blk_size; + blk_count = 0; + for(col_count = 0; col_count < col; col_count++) + { + for(row_count = 0; row_count< row;row_count++) + { + out[col_count*row+row_count] = in[(col - blk_count*blk_size - count)*row+row_count]; + } + if(--count == 0) + { + count = blk_size; + blk_count += 1; + } + } + } + } +} \ No newline at end of file -- cgit From c8fd6991786ccddb44547b619178bb391f3f9b96 Mon Sep 17 00:00:00 2001 From: siddhu8990 Date: Thu, 18 Aug 2016 15:47:18 +0530 Subject: RPi-PWM and basic imaage processing --- src/c/matrixOperations/flipdim/i8flipdima.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'src/c/matrixOperations/flipdim/i8flipdima.c') diff --git a/src/c/matrixOperations/flipdim/i8flipdima.c b/src/c/matrixOperations/flipdim/i8flipdima.c index fc302cb7..1c23a5ea 100644 --- a/src/c/matrixOperations/flipdim/i8flipdima.c +++ b/src/c/matrixOperations/flipdim/i8flipdima.c @@ -1,22 +1,23 @@ -// Copyright (C) 2016 - IIT Bombay - FOSSEE -// -// 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 -// Author: Siddhesh Wani -// Organization: FOSSEE, IIT Bombay -// Email: toolbox@scilab.in +/* Copyright (C) 2016 - IIT Bombay - FOSSEE -//Function flips the input matrix along given dimension + 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 + Author: Siddhesh Wani + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +/*Function flips the input matrix along given dimension*/ #include "flipdim.h" void i8flipdima (int8 *in, int row, int col, int dim, int blk_size, int8 *out) { int col_count = 0, row_count = 0, blk_count = 0, count = 0; - if(dim == 1) //flip rows + if(dim == 1) /*flip rows*/ { if(blk_size == 1) { @@ -28,7 +29,7 @@ void i8flipdima (int8 *in, int row, int col, int dim, int blk_size, int8 *out) } } } - else //block size is more than 1 + else /*block size is more than 1*/ { for(col_count = 0; col_count < col; col_count++) { @@ -47,7 +48,7 @@ void i8flipdima (int8 *in, int row, int col, int dim, int blk_size, int8 *out) } } - else if(dim == 2) //flip columns + else if(dim == 2) /*flip columns*/ { if(blk_size == 1) { -- cgit