From 8b44229ef44f0558ce045e46ff833fb44df913c9 Mon Sep 17 00:00:00 2001 From: jofret Date: Mon, 21 Jun 2010 06:24:38 +0000 Subject: Tagging the 2.0 release of scilab2c --- src/c/operations/interfaces/int_OpBackSlash.h | 109 +++++++ src/c/operations/interfaces/int_OpDotBackSlash.h | 109 +++++++ src/c/operations/interfaces/int_OpDotSlash.h | 131 +++++++++ src/c/operations/interfaces/int_OpDotStar.h | 111 +++++++ src/c/operations/interfaces/int_OpEqual.h | 39 +++ src/c/operations/interfaces/int_OpExt.h | 104 +++++++ src/c/operations/interfaces/int_OpIns.h | 352 +++++++++++++++++++++++ src/c/operations/interfaces/int_OpLogAnd.h | 122 ++++++++ src/c/operations/interfaces/int_OpLogEq.h | 94 ++++++ src/c/operations/interfaces/int_OpLogGe.h | 50 ++++ src/c/operations/interfaces/int_OpLogGt.h | 50 ++++ src/c/operations/interfaces/int_OpLogLe.h | 50 ++++ src/c/operations/interfaces/int_OpLogLt.h | 50 ++++ src/c/operations/interfaces/int_OpLogNe.h | 98 +++++++ src/c/operations/interfaces/int_OpLogNot.h | 42 +++ src/c/operations/interfaces/int_OpLogOr.h | 116 ++++++++ src/c/operations/interfaces/int_OpMinus.h | 173 +++++++++++ src/c/operations/interfaces/int_OpPlus.h | 144 ++++++++++ src/c/operations/interfaces/int_OpSlash.h | 168 +++++++++++ src/c/operations/interfaces/int_OpStar.h | 151 ++++++++++ 20 files changed, 2263 insertions(+) create mode 100644 src/c/operations/interfaces/int_OpBackSlash.h create mode 100644 src/c/operations/interfaces/int_OpDotBackSlash.h create mode 100644 src/c/operations/interfaces/int_OpDotSlash.h create mode 100644 src/c/operations/interfaces/int_OpDotStar.h create mode 100644 src/c/operations/interfaces/int_OpEqual.h create mode 100644 src/c/operations/interfaces/int_OpExt.h create mode 100644 src/c/operations/interfaces/int_OpIns.h create mode 100644 src/c/operations/interfaces/int_OpLogAnd.h create mode 100644 src/c/operations/interfaces/int_OpLogEq.h create mode 100644 src/c/operations/interfaces/int_OpLogGe.h create mode 100644 src/c/operations/interfaces/int_OpLogGt.h create mode 100644 src/c/operations/interfaces/int_OpLogLe.h create mode 100644 src/c/operations/interfaces/int_OpLogLt.h create mode 100644 src/c/operations/interfaces/int_OpLogNe.h create mode 100644 src/c/operations/interfaces/int_OpLogNot.h create mode 100644 src/c/operations/interfaces/int_OpLogOr.h create mode 100644 src/c/operations/interfaces/int_OpMinus.h create mode 100644 src/c/operations/interfaces/int_OpPlus.h create mode 100644 src/c/operations/interfaces/int_OpSlash.h create mode 100644 src/c/operations/interfaces/int_OpStar.h (limited to 'src/c/operations/interfaces') diff --git a/src/c/operations/interfaces/int_OpBackSlash.h b/src/c/operations/interfaces/int_OpBackSlash.h new file mode 100644 index 00000000..8a733f28 --- /dev/null +++ b/src/c/operations/interfaces/int_OpBackSlash.h @@ -0,0 +1,109 @@ +/* + * 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 + * + */ + +/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */ + +#ifndef __INT_OPBACKSLASH_H__ +#define __INT_OPBACKSLASH_H__ + +/* Scalar \ Scalar */ + +#define s0s0OpBackSlashs0(in1,in2) sldivs(in1,in2) + +#define d0d0OpBackSlashd0(in1,in2) dldivs(in1,in2) + +#define c0c0OpBackSlashc0(in1,in2) cldivs(in1,in2) + +#define z0z0OpBackSlashz0(in1,in2) zldivs(in1,in2) + +#define s0c0OpBackSlashc0(in1,in2) cldivs(FloatComplex(in1,0),in2) + +#define c0s0OpBackSlashc0(in1,in2) cldivs(in1,FloatComplex(in2,0)) + +#define d0z0OpBackSlashz0(in1,in2) zldivs(DoubleComplex(in1,0),in2) + +#define z0d0OpBackSlashz0(in1,in2) zldivs(in1,DoubleComplex(in2,0)) + + +/* Scalar \ Matrix */ + +#define s0s2OpBackSlashs2(in1,in2,size,out) {int i;\ + for( i=0;i ok, we just have put the imaginary part to 0 + we assign a complex in a real array => ko, we can't enlarge the input matrix. So we just replace by the real part of the complex +*/ + +/* a(3)=2 */ +#define s2s0c0OpIns(in,size,indice,newVal) s2s0s0OpIns(in,size,indice,creals(newVal)) + +#define d2d0z0OpIns(in,size,indice,newVal) d2d0d0OpIns(in,size,indice,zreals(newVal)) + +#define c2s0s0OpIns(in,size,indice,newVal) c2s0c0OpIns(in,size,indice,FloatComplex(newVal,0)) + +#define z2d0d0OpIns(in,size,indice,newVal) z2d0z0OpIns(in,size,indice,DoubleComplex(newVal,0)) + + +/* a([1 2])=2 */ +#define s2s2c0OpIns(in,size1,indices,size2,newVal) s2s2s0OpIns(in,size1,indices,size2,creals(newVal)) + +#define d2d2z0OpIns(in,size1,indices,size2,newVal) d2d2d0OpIns(in,size1,indices,size2,zreals(newVal)) + +#define c2s2s0OpIns(in,size1,indices,size2,newVal) c2s2c0OpIns(in,size1,indices,size2,FloatComplex(newVal,0)) + +#define z2d2d0OpIns(in,size1,indices,size2,newVal) z2d2z0OpIns(in,size1,indices,size2,DoubleComplex(newVal,0)) + + +/* a([1 2])=[3,1] */ +#define s2s2c2OpIns(in,size1,indices,size2,newVals,size3) {int i;\ + for (i=0;i= in2) +#define d0d0OpLogGed0(in1,in2) (double) (in1 >= in2) + + +#define s2s0OpLogGes2(in1, size1, in2, out) {int i;\ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGes0(in1[i],in2);\ + } + +#define s0s2OpLogGes2(in1, in2, size2, out) {int i; \ + for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogGes0(in1,in2[i]);\ + } + +/* we must have size1=size2 */ +#define s2s2OpLogGes2(in1, size1, in2, size2, out) {int i; \ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGes0(in1[i],in2[i]);\ + } + +#define d2d0OpLogGed2(in1, size1, in2, out) {int i;\ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogGed0(in1[i],in2);\ + } + +#define d0d2OpLogGed2(in1, in2, size2, out) {int i; \ + for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = d0d0OpLogGed0(in1,in2[i]);\ + } + +/* we must have size1=size2 */ +#define d2d2OpLogGed2(in1, size1, in2, size2, out) {int i; \ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogGed0(in1[i],in2[i]);\ + } +#endif /* !__OPLOGGE_H__ */ diff --git a/src/c/operations/interfaces/int_OpLogGt.h b/src/c/operations/interfaces/int_OpLogGt.h new file mode 100644 index 00000000..161b654f --- /dev/null +++ b/src/c/operations/interfaces/int_OpLogGt.h @@ -0,0 +1,50 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2007 - 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 + * + */ + +/* + Update 23/02/09 by Arnaud Torset : Add matrix comparaison, remove include(floatComplex and doubleComplex) +*/ + +#ifndef __OPLOGGT_H__ +#define __OPLOGGT_H__ + + +#define s0s0OpLogGts0(in1,in2) (float) (in1 > in2) +#define d0d0OpLogGtd0(in1,in2) (double) (in1 > in2) + + +#define s2s0OpLogGts2(in1, size1, in2, out) {int i;\ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGts0(in1[i],in2);\ + } + +#define s0s2OpLogGts2(in1, in2, size2, out) {int i; \ + for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogGts0(in1,in2[i]);\ + } + +/* we must have size1=size2 */ +#define s2s2OpLogGts2(in1, size1, in2, size2, out) {int i; \ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGts0(in1[i],in2[i]);\ + } + +#define d2d0OpLogGtd2(in1, size1, in2, out) {int i;\ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogGtd0(in1[i],in2);\ + } + +#define d0d2OpLogGtd2(in1, in2, size2, out) {int i; \ + for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = d0d0OpLogGtd0(in1,in2[i]);\ + } + +/* we must have size1=size2 */ +#define d2d2OpLogGtd2(in1, size1, in2, size2, out) {int i; \ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogGtd0(in1[i],in2[i]);\ + } +#endif /* !__OPLOGGT_H__ */ diff --git a/src/c/operations/interfaces/int_OpLogLe.h b/src/c/operations/interfaces/int_OpLogLe.h new file mode 100644 index 00000000..ebb09c7b --- /dev/null +++ b/src/c/operations/interfaces/int_OpLogLe.h @@ -0,0 +1,50 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2007 - 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 + * + */ + +/* + Update 23/02/09 by Arnaud Torset : Add matrix comparaison, remove include(floatComplex and doubleComplex) +*/ + +#ifndef __OPLOGLE_H__ +#define __OPLOGLE_H__ + + +#define s0s0OpLogLes0(in1,in2) (float) (in1 <= in2) +#define d0d0OpLogLed0(in1,in2) (double) (in1 <= in2) + + +#define s2s0OpLogLes2(in1, size1, in2, out) {int i;\ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLes0(in1[i],in2);\ + } + +#define s0s2OpLogLes2(in1, in2, size2, out) {int i; \ + for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogLes0(in1,in2[i]);\ + } + +/* we must have size1=size2 */ +#define s2s2OpLogLes2(in1, size1, in2, size2, out) {int i; \ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLes0(in1[i],in2[i]);\ + } + +#define d2d0OpLogLed2(in1, size1, in2, out) {int i;\ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogLed0(in1[i],in2);\ + } + +#define d0d2OpLogLed2(in1, in2, size2, out) {int i; \ + for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = d0d0OpLogLed0(in1,in2[i]);\ + } + +/* we must have size1=size2 */ +#define d2d2OpLogLed2(in1, size1, in2, size2, out) {int i; \ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogLed0(in1[i],in2[i]);\ + } +#endif /* !__OPLOGLE_H__ */ diff --git a/src/c/operations/interfaces/int_OpLogLt.h b/src/c/operations/interfaces/int_OpLogLt.h new file mode 100644 index 00000000..2c5d8639 --- /dev/null +++ b/src/c/operations/interfaces/int_OpLogLt.h @@ -0,0 +1,50 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2007 - 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 + * + */ + +/* + Update 23/02/09 by Arnaud Torset : Add matrix comparaison, remove include(floatComplex and doubleComplex) +*/ + +#ifndef __OPLOGLT_H__ +#define __OPLOGLT_H__ + + +#define s0s0OpLogLts0(in1,in2) (float) (in1 < in2) +#define d0d0OpLogLtd0(in1,in2) (double) (in1 < in2) + + +#define s2s0OpLogLts2(in1, size1, in2, out) {int i;\ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLts0(in1[i],in2);\ + } + +#define s0s2OpLogLts2(in1, in2, size2, out) {int i; \ + for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogLts0(in1,in2[i]);\ + } + +/* we must have size1=size2 */ +#define s2s2OpLogLts2(in1, size1, in2, size2, out) {int i; \ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLts0(in1[i],in2[i]);\ + } + +#define d2d0OpLogLtd2(in1, size1, in2, out) {int i;\ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogLtd0(in1[i],in2);\ + } + +#define d0d2OpLogLtd2(in1, in2, size2, out) {int i; \ + for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = d0d0OpLogLtd0(in1,in2[i]);\ + } + +/* we must have size1=size2 */ +#define d2d2OpLogLtd2(in1, size1, in2, size2, out) {int i; \ + for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogLtd0(in1[i],in2[i]);\ + } +#endif /* !__OPLOGLT_H__ */ diff --git a/src/c/operations/interfaces/int_OpLogNe.h b/src/c/operations/interfaces/int_OpLogNe.h new file mode 100644 index 00000000..238ef483 --- /dev/null +++ b/src/c/operations/interfaces/int_OpLogNe.h @@ -0,0 +1,98 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008 - INRIA - Aranud Torset + * + * 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 + * + */ + +/* Idem that OpLogEq with a !(negation) behind*/ + +#ifndef __OPLOGNE_H__ +#define __OPLOGNE_H__ + +#include "floatComplex.h" +#include "doubleComplex.h" + +#define s0s0OpLogNes0(in1,in2) (float) !(in1 == in2) +#define d0d0OpLogNed0(in1,in2) (double) !(in1 == in2) +#define c0c0OpLogNes0(in1,in2) (float) !((creals(in1) == creals(in2)) && (cimags(in1) == cimags(in2))) +#define z0z0OpLogNed0(in1,in2) (double) !((zreals(in1) == zreals(in2)) && (zimags(in1) == zimags(in2))) + +#define s0c0OpLogNes0(in1,in2) (float) !((in1==creals(in2)) && (0==cimags(in2))) +#define d0z0OpLogNed0(in1,in2) (double) !((in1==zreals(in2)) && (0==zimags(in2))) +#define c0s0OpLogNes0(in1,in2) s0c0OpLogNes0(in2,in1) +#define z0d0OpLogNed0(in1,in2) d0z0OpLogNed0(in2,in1) + + + +#define s2s0OpLogNes2(in1,size,in2,out) {int i;\ + for (i=0;i "-1" because '\0' of the first string must be removed. */ +#define g2g2OpPlusg2(in1,size1,in2,size2,out) {int i = 0, j = 0; \ + for(i = 0 ; i < size1[1]-1 ; ++i, ++j) out[j] = in1[i]; \ + for(i = 0 ; i < size2[1] ; ++i, ++j) out[j] = in2[i]; \ + } + + +#endif /* !__INT_OPPLUS_H__ */ diff --git a/src/c/operations/interfaces/int_OpSlash.h b/src/c/operations/interfaces/int_OpSlash.h new file mode 100644 index 00000000..fd8dda28 --- /dev/null +++ b/src/c/operations/interfaces/int_OpSlash.h @@ -0,0 +1,168 @@ +/* + * 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 + * + */ + +/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */ + +#ifndef __INT_OPSLASH_H__ +#define __INT_OPSLASH_H__ + +/* Scalar / Scalar */ + +#define s0s0OpSlashs0(in1,in2) srdivs(in1,in2) + +#define d0d0OpSlashd0(in1,in2) drdivs(in1,in2) + +#define c0c0OpSlashc0(in1,in2) crdivs(in1,in2) + +#define z0z0OpSlashz0(in1,in2) zrdivs(in1,in2) + +#define s0c0OpSlashc0(in1,in2) crdivs(FloatComplex(in1,0),in2) + +#define c0s0OpSlashc0(in1,in2) crdivs(in1,FloatComplex(in2,0)) + +#define d0z0OpSlashz0(in1,in2) zrdivs(DoubleComplex(in1,0),in2) + +#define z0d0OpSlashz0(in1,in2) zrdivs(in1,DoubleComplex(in2,0)) + + +/* Scalar / Matrix */ + + +#define s0s2OpSlashs2(in1,in2,size,out) {int i=0;\ + sinverma(in2,out,size[0]);\ + for (i=0;i b ? a : b) + +#define s2s2OpStars0(in1, size1, in2, size2) smulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define c2s2OpStarc0(in1, size1, in2, size2) cmulcsv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define s2c2OpStarc0(in1, size1, in2, size2) cmulscv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define c2c2OpStarc0(in1, size1, in2, size2) cmulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + + +#define d2d2OpStard0(in1, size1, in2, size2) dmulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define z2d2OpStarz0(in1, size1, in2, size2) zmulzdv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define d2z2OpStarz0(in1, size1, in2, size2) zmuldzv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define z2z2OpStarz0(in1, size1, in2, size2) zmulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#endif /* !__INT_OPSTAR_H__ */ -- cgit