From efd4b2645e3fd3c3cdd7b65501a0e7ae26d03c59 Mon Sep 17 00:00:00 2001 From: Ankit Raj Date: Wed, 21 Jun 2017 11:00:07 +0530 Subject: Functions added - string related and signal processing --- src/c/string/ascii/ascii.h | 25 ++++++++++++++ src/c/string/ascii/dasciia.c | 21 ++++++++++++ src/c/string/ascii/gasciia.c | 26 ++++++++++++++ src/c/string/ascii/int_ascii.h | 25 ++++++++++++++ src/c/string/includes/ascii.h | 27 +++++++++++++++ src/c/string/includes/strchr.h | 25 ++++++++++++++ src/c/string/includes/strcspn.h | 26 ++++++++++++++ src/c/string/includes/strncpy.h | 25 ++++++++++++++ src/c/string/includes/strspn.h | 26 ++++++++++++++ src/c/string/interfaces/int_ascii.h | 26 ++++++++++++++ src/c/string/interfaces/int_strchr.h | 25 ++++++++++++++ src/c/string/interfaces/int_strcspn.h | 25 ++++++++++++++ src/c/string/interfaces/int_strncpy.h | 26 ++++++++++++++ src/c/string/interfaces/int_strspn.h | 25 ++++++++++++++ src/c/string/strchr/gstrchra.c | 33 ++++++++++++++++++ src/c/string/strchr/int_strchr.h | 25 ++++++++++++++ src/c/string/strchr/strchr.h | 25 ++++++++++++++ src/c/string/strcspn/gstrcspna.c | 49 +++++++++++++++++++++++++++ src/c/string/strcspn/int_strcspn | 25 ++++++++++++++ src/c/string/strcspn/strcspn.h | 25 ++++++++++++++ src/c/string/strncpy/gstrncpya.c | 25 ++++++++++++++ src/c/string/strncpy/int_strncpy.h | 26 ++++++++++++++ src/c/string/strncpy/strncpy.h | 25 ++++++++++++++ src/c/string/strspn/gstrspna.c | 64 +++++++++++++++++++++++++++++++++++ src/c/string/strspn/int_strspn.h | 25 ++++++++++++++ src/c/string/strspn/strspn.h | 25 ++++++++++++++ 26 files changed, 725 insertions(+) create mode 100644 src/c/string/ascii/ascii.h create mode 100644 src/c/string/ascii/dasciia.c create mode 100644 src/c/string/ascii/gasciia.c create mode 100644 src/c/string/ascii/int_ascii.h create mode 100644 src/c/string/includes/ascii.h create mode 100644 src/c/string/includes/strchr.h create mode 100644 src/c/string/includes/strcspn.h create mode 100644 src/c/string/includes/strncpy.h create mode 100644 src/c/string/includes/strspn.h create mode 100644 src/c/string/interfaces/int_ascii.h create mode 100644 src/c/string/interfaces/int_strchr.h create mode 100644 src/c/string/interfaces/int_strcspn.h create mode 100644 src/c/string/interfaces/int_strncpy.h create mode 100644 src/c/string/interfaces/int_strspn.h create mode 100644 src/c/string/strchr/gstrchra.c create mode 100644 src/c/string/strchr/int_strchr.h create mode 100644 src/c/string/strchr/strchr.h create mode 100644 src/c/string/strcspn/gstrcspna.c create mode 100644 src/c/string/strcspn/int_strcspn create mode 100644 src/c/string/strcspn/strcspn.h create mode 100644 src/c/string/strncpy/gstrncpya.c create mode 100644 src/c/string/strncpy/int_strncpy.h create mode 100644 src/c/string/strncpy/strncpy.h create mode 100644 src/c/string/strspn/gstrspna.c create mode 100644 src/c/string/strspn/int_strspn.h create mode 100644 src/c/string/strspn/strspn.h (limited to 'src/c/string') diff --git a/src/c/string/ascii/ascii.h b/src/c/string/ascii/ascii.h new file mode 100644 index 0000000..2d46b74 --- /dev/null +++ b/src/c/string/ascii/ascii.h @@ -0,0 +1,25 @@ +/* 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: Ankit Raj + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ +#ifndef __ASCII_H__ +#define __ASCII_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +void gasciia(char* str,int size, int* out); + +#ifdef __cplusplus +}/* extern "C" */ +#endif + +#endif /*___ASCII_H__*/ diff --git a/src/c/string/ascii/dasciia.c b/src/c/string/ascii/dasciia.c new file mode 100644 index 0000000..d245288 --- /dev/null +++ b/src/c/string/ascii/dasciia.c @@ -0,0 +1,21 @@ +/* Copyright (C) 2017 - 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: Ankit Raj + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ +#include +#include "ascii.h" +void dasciia(double* inp,int size,char* oup) +{ + int i; + for(i=0;i +/* This is the "asciiconv" function which converts the given string + into its ascii equivalent. +*/ +#include "ascii.h" +void gasciia(char *str,int size,int* oup) +{ + + for(int i=0;i +#include +#include "strchr.h" + +void gstrchra(char* str,int size,char* key,int size2,char* out) +{ + int ind,i=0,j,k; + for(j=0;j +#include +#include "strcspn.h" +uint8 gstrcspna(char *str1,int size1,char *str2,int size2) +{ + int ind; + for(int i=0;i<=size1;i++) + { + for(int j=0;j<=size2;j++) + { + if(str2[j]==str1[i]) + { + ind=j; + break; + } + } + } + return (ind+1); +} +/*int main() +{ + int n1,n2; + char inp1[100000],inp2[100000]; + printf("Enter the length of the first string"); + scanf("%d",&n1); + for(int i=0;i<=(n1+1);i++) + { + scanf("%c",&inp1[i]); + } + printf("Enter the length of the second string"); + scanf("%d",&n2 ); + for(int j=0;j<=(n2+1);j++) + { + scanf("%c",&inp2[j]); + } + strcspnfn(inp1,n1+1,inp2,n2+1); +} +*/ diff --git a/src/c/string/strcspn/int_strcspn b/src/c/string/strcspn/int_strcspn new file mode 100644 index 0000000..f2da3e4 --- /dev/null +++ b/src/c/string/strcspn/int_strcspn @@ -0,0 +1,25 @@ +/* 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: Ankit Raj + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ +#ifndef __INT_STRCSPN_H__ +#define __INT_STRCSPN_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#define g2g2strcspnu80(str1,size1,str2,size2) gstrcspna(str1,size1,str2,size2) + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* __INT_STRCSPN_H__*/ diff --git a/src/c/string/strcspn/strcspn.h b/src/c/string/strcspn/strcspn.h new file mode 100644 index 0000000..6170afa --- /dev/null +++ b/src/c/string/strcspn/strcspn.h @@ -0,0 +1,25 @@ +/* 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: Ankit Raj + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ +#ifndef __STRCSPN_H__ +#define __STRCSPN_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +uint8 gstrcspna(char* str1,int size1,char* str2,int size2); + +#ifdef __cplusplus +}/* extern "C" */ +#endif + +#endif /* __STRCSPN_H */ diff --git a/src/c/string/strncpy/gstrncpya.c b/src/c/string/strncpy/gstrncpya.c new file mode 100644 index 0000000..9280198 --- /dev/null +++ b/src/c/string/strncpy/gstrncpya.c @@ -0,0 +1,25 @@ +/* Copyright (C) 2017 - 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 + Organization: FOSSEE, IIT Bombay + Author: Ankit Raj + Email: toolbox@scilab.in +*/ +#include +#include "strncpy.h" +void gstrncpya(char *str,int size,double key,char *oup) +{ + int j; + char c; + for(j=0;j +#include "strspn.h" + +int max(int a,int b){ + if(a>b) return a; + return b; +} +uint8 gstrspna(char *str1,int size1,char *str2,int size2) +{ + int i,j,ct=0,k=0,m=0; + for(i=0;i= size1) break; + } + if(j==size1) + { + ct=ct-1; + } + m = max(m,ct); + } + } +return m; +} +/* +int main() +{ + int n1,n2; + char inp1[100000],inp2[100000]; + printf("Enter the length of the first string"); + scanf("%d",&n1); + for(int i=0;i<=(n1+1);i++) + { + scanf("%c",&inp1[i]); + } + printf("Enter the length of the second string"); + scanf("%d",&n2 ); + for(int j=0;j<=(n2+1);j++) + { + scanf("%c",&inp2[j]); + } + strcspnfn(inp1,n1+1,inp2,n2+1); +} +*/ diff --git a/src/c/string/strspn/int_strspn.h b/src/c/string/strspn/int_strspn.h new file mode 100644 index 0000000..506b311 --- /dev/null +++ b/src/c/string/strspn/int_strspn.h @@ -0,0 +1,25 @@ +/* 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: Ankit Raj + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ +#ifndef __INT_STRSPN_H__ +#define __INT_STRSPN_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#define g2g2strspnu80(str1,size1,str2,size2) gstrspna(str1,size1,str2,size2) + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* __INT_STRSPN_H__*/ diff --git a/src/c/string/strspn/strspn.h b/src/c/string/strspn/strspn.h new file mode 100644 index 0000000..f7c2a3c --- /dev/null +++ b/src/c/string/strspn/strspn.h @@ -0,0 +1,25 @@ +/* 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: Ankit Raj + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ +#ifndef __STRSPN_H__ +#define __STRSPN_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +uint8 gstrspna(char* str1,int size1,char* str2,int size2); + +#ifdef __cplusplus +}/* extern "C" */ +#endif + +#endif /* __STRSPN_H */ -- cgit