diff options
author | torset | 2008-11-14 09:57:38 +0000 |
---|---|---|
committer | torset | 2008-11-14 09:57:38 +0000 |
commit | b3243ed109386db9353265e5b6252a318f631ac1 (patch) | |
tree | 9f0fa5b241f42e5d4abb21472f796438b9901eab /src/operations/multiplication | |
parent | 9daca3350c8869dbfca27d00e47ba7904afca142 (diff) | |
download | scilab2c-b3243ed109386db9353265e5b6252a318f631ac1.tar.gz scilab2c-b3243ed109386db9353265e5b6252a318f631ac1.tar.bz2 scilab2c-b3243ed109386db9353265e5b6252a318f631ac1.zip |
added multiplication element by element (2nd send)
Diffstat (limited to 'src/operations/multiplication')
-rw-r--r-- | src/operations/multiplication/Makefile.am | 8 | ||||
-rw-r--r-- | src/operations/multiplication/Makefile.in | 76 | ||||
-rw-r--r-- | src/operations/multiplication/testMultiplication.c | 160 |
3 files changed, 229 insertions, 15 deletions
diff --git a/src/operations/multiplication/Makefile.am b/src/operations/multiplication/Makefile.am index f1b36d76..30ceba9d 100644 --- a/src/operations/multiplication/Makefile.am +++ b/src/operations/multiplication/Makefile.am @@ -20,6 +20,14 @@ pkglib_LTLIBRARIES = libMultiplication.la HEAD = ../includes/multiplication.h libMultiplication_la_SOURCES = $(HEAD) \ + smuls.c \ + dmuls.c \ + cmuls.c \ + zmuls.c \ + smula.c \ + dmula.c \ + cmula.c \ + zmula.c \ ctimess.c \ ztimess.c diff --git a/src/operations/multiplication/Makefile.in b/src/operations/multiplication/Makefile.in index 8113d659..30ac9341 100644 --- a/src/operations/multiplication/Makefile.in +++ b/src/operations/multiplication/Makefile.in @@ -55,6 +55,10 @@ LTLIBRARIES = $(pkglib_LTLIBRARIES) libMultiplication_la_LIBADD = am__objects_1 = am_libMultiplication_la_OBJECTS = $(am__objects_1) \ + libMultiplication_la-smuls.lo libMultiplication_la-dmuls.lo \ + libMultiplication_la-cmuls.lo libMultiplication_la-zmuls.lo \ + libMultiplication_la-smula.lo libMultiplication_la-dmula.lo \ + libMultiplication_la-cmula.lo libMultiplication_la-zmula.lo \ libMultiplication_la-ctimess.lo \ libMultiplication_la-ztimess.lo libMultiplication_la_OBJECTS = $(am_libMultiplication_la_OBJECTS) @@ -206,6 +210,14 @@ instdir = $(top_builddir)/lib pkglib_LTLIBRARIES = libMultiplication.la HEAD = ../includes/multiplication.h libMultiplication_la_SOURCES = $(HEAD) \ + smuls.c \ + dmuls.c \ + cmuls.c \ + zmuls.c \ + smula.c \ + dmula.c \ + cmula.c \ + zmula.c \ ctimess.c \ ztimess.c @@ -298,7 +310,15 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMultiplication_la-cmula.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMultiplication_la-cmuls.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMultiplication_la-ctimess.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMultiplication_la-dmula.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMultiplication_la-dmuls.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMultiplication_la-smula.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMultiplication_la-smuls.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMultiplication_la-zmula.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMultiplication_la-zmuls.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMultiplication_la-ztimess.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testMultiplication-testMultiplication.Po@am__quote@ @@ -323,6 +343,62 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< +libMultiplication_la-smuls.lo: smuls.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -MT libMultiplication_la-smuls.lo -MD -MP -MF $(DEPDIR)/libMultiplication_la-smuls.Tpo -c -o libMultiplication_la-smuls.lo `test -f 'smuls.c' || echo '$(srcdir)/'`smuls.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMultiplication_la-smuls.Tpo $(DEPDIR)/libMultiplication_la-smuls.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smuls.c' object='libMultiplication_la-smuls.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -c -o libMultiplication_la-smuls.lo `test -f 'smuls.c' || echo '$(srcdir)/'`smuls.c + +libMultiplication_la-dmuls.lo: dmuls.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -MT libMultiplication_la-dmuls.lo -MD -MP -MF $(DEPDIR)/libMultiplication_la-dmuls.Tpo -c -o libMultiplication_la-dmuls.lo `test -f 'dmuls.c' || echo '$(srcdir)/'`dmuls.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMultiplication_la-dmuls.Tpo $(DEPDIR)/libMultiplication_la-dmuls.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dmuls.c' object='libMultiplication_la-dmuls.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -c -o libMultiplication_la-dmuls.lo `test -f 'dmuls.c' || echo '$(srcdir)/'`dmuls.c + +libMultiplication_la-cmuls.lo: cmuls.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -MT libMultiplication_la-cmuls.lo -MD -MP -MF $(DEPDIR)/libMultiplication_la-cmuls.Tpo -c -o libMultiplication_la-cmuls.lo `test -f 'cmuls.c' || echo '$(srcdir)/'`cmuls.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMultiplication_la-cmuls.Tpo $(DEPDIR)/libMultiplication_la-cmuls.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmuls.c' object='libMultiplication_la-cmuls.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -c -o libMultiplication_la-cmuls.lo `test -f 'cmuls.c' || echo '$(srcdir)/'`cmuls.c + +libMultiplication_la-zmuls.lo: zmuls.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -MT libMultiplication_la-zmuls.lo -MD -MP -MF $(DEPDIR)/libMultiplication_la-zmuls.Tpo -c -o libMultiplication_la-zmuls.lo `test -f 'zmuls.c' || echo '$(srcdir)/'`zmuls.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMultiplication_la-zmuls.Tpo $(DEPDIR)/libMultiplication_la-zmuls.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zmuls.c' object='libMultiplication_la-zmuls.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -c -o libMultiplication_la-zmuls.lo `test -f 'zmuls.c' || echo '$(srcdir)/'`zmuls.c + +libMultiplication_la-smula.lo: smula.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -MT libMultiplication_la-smula.lo -MD -MP -MF $(DEPDIR)/libMultiplication_la-smula.Tpo -c -o libMultiplication_la-smula.lo `test -f 'smula.c' || echo '$(srcdir)/'`smula.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMultiplication_la-smula.Tpo $(DEPDIR)/libMultiplication_la-smula.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smula.c' object='libMultiplication_la-smula.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -c -o libMultiplication_la-smula.lo `test -f 'smula.c' || echo '$(srcdir)/'`smula.c + +libMultiplication_la-dmula.lo: dmula.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -MT libMultiplication_la-dmula.lo -MD -MP -MF $(DEPDIR)/libMultiplication_la-dmula.Tpo -c -o libMultiplication_la-dmula.lo `test -f 'dmula.c' || echo '$(srcdir)/'`dmula.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMultiplication_la-dmula.Tpo $(DEPDIR)/libMultiplication_la-dmula.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dmula.c' object='libMultiplication_la-dmula.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -c -o libMultiplication_la-dmula.lo `test -f 'dmula.c' || echo '$(srcdir)/'`dmula.c + +libMultiplication_la-cmula.lo: cmula.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -MT libMultiplication_la-cmula.lo -MD -MP -MF $(DEPDIR)/libMultiplication_la-cmula.Tpo -c -o libMultiplication_la-cmula.lo `test -f 'cmula.c' || echo '$(srcdir)/'`cmula.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMultiplication_la-cmula.Tpo $(DEPDIR)/libMultiplication_la-cmula.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmula.c' object='libMultiplication_la-cmula.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -c -o libMultiplication_la-cmula.lo `test -f 'cmula.c' || echo '$(srcdir)/'`cmula.c + +libMultiplication_la-zmula.lo: zmula.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -MT libMultiplication_la-zmula.lo -MD -MP -MF $(DEPDIR)/libMultiplication_la-zmula.Tpo -c -o libMultiplication_la-zmula.lo `test -f 'zmula.c' || echo '$(srcdir)/'`zmula.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMultiplication_la-zmula.Tpo $(DEPDIR)/libMultiplication_la-zmula.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zmula.c' object='libMultiplication_la-zmula.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -c -o libMultiplication_la-zmula.lo `test -f 'zmula.c' || echo '$(srcdir)/'`zmula.c + libMultiplication_la-ctimess.lo: ctimess.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMultiplication_la_CFLAGS) $(CFLAGS) -MT libMultiplication_la-ctimess.lo -MD -MP -MF $(DEPDIR)/libMultiplication_la-ctimess.Tpo -c -o libMultiplication_la-ctimess.lo `test -f 'ctimess.c' || echo '$(srcdir)/'`ctimess.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMultiplication_la-ctimess.Tpo $(DEPDIR)/libMultiplication_la-ctimess.Plo diff --git a/src/operations/multiplication/testMultiplication.c b/src/operations/multiplication/testMultiplication.c index 38c43438..63417fbc 100644 --- a/src/operations/multiplication/testMultiplication.c +++ b/src/operations/multiplication/testMultiplication.c @@ -15,10 +15,8 @@ #include <math.h> #include "multiplication.h" -#define SIZE 10000000 -/* -#define LOCAL_DEBUG -*/ +#define SIZE 1 + static void ztimessTest(void) { doubleComplex M1; doubleComplex M2; @@ -32,11 +30,7 @@ static void ztimessTest(void) { M2 = DoubleComplex((double) rand(), (double) rand()); M1_by_M2 = ztimess(M1, M2); -#ifdef LOCAL_DEBUG - /*ATTENTION à modifier (c'est du copier coller de testDivision) - printf("erreurR = %e\n", fabs(zreals(M1_by_M2) - zreals(num)/zreals(den) )/fabs(zreals(M1_by_M2))); - printf("erreurI = %e\n", fabs(zimags(M1_by_M2) - zimags(num)/zreals(den) )/fabs(zimags(M1_by_M2)));*/ -#endif + if (zreals(M1_by_M2)<1e-14 && (zreals(M1)*zreals(M2) - zimags(M1)*zimags(M2)) < 1e-18 ) assert(1); else @@ -62,11 +56,7 @@ static void ctimessTest(void) { M2 = FloatComplex((float) rand(), (float) rand()); M1_by_M2 = ctimess(M1, M2); -#ifdef LOCAL_DEBUG - /*ATTENTION à modifier (c'est du copier coller de testDivision) - printf("erreurR = %e\n", creals(M1_by_M2) - (creals(num)/creals(den))/creals(M1_by_M2)); - printf("erreurI = %e\n", cimags(M1_by_M2) - (cimags(num)/creals(den))/cimags(M1_by_M2));*/ -#endif + if (creals(M1_by_M2)<1e-14 && (creals(M1)*creals(M2) - cimags(M1)*cimags(M2)) < 1e-18 ) assert(1); else @@ -80,10 +70,150 @@ static void ctimessTest(void) { } -static int testMult(void) { +static void smulsTest(void){ + float M1=0; + float M2=0; + int i=0; + srand(1); + for (i=0;i<20;i++){ + M1=(float)rand(); + M2=(float)rand(); + printf(" %f * %f = %f\n",M1,M2,smuls(M1,M2)); + } +} + + +static void dmulsTest(void){ + double M1=0; + double M2=0; + int i=0; + srand(1); + for (i=0;i<20;i++){ + M1=(double)rand(); + M2=(double)rand(); + printf(" %f * %f = %f\n",M1,M2,dmuls(M1,M2)); + } +} + + +static void cmulsTest(void){ + floatComplex M1; + floatComplex M2; + + + int i=0; + srand(1); + for (i=0;i<20;i++){ + M1=FloatComplex((float)rand(),(float)rand()); + M2=FloatComplex((float)rand(),(float)rand()); + printf(" (%f + %f * %%i ) * (%f + %f * %%i) = %f +%f * %%i\n",creals(M1),cimags(M1),creals(M2),cimags(M2),creals(cmuls(M1,M2)),cimags(cmuls(M1,M2))); + } +} + + +static void zmulsTest(void){ + doubleComplex M1; + doubleComplex M2; + + int i=0; + srand(1); + for (i=0;i<20;i++){ + M1=DoubleComplex((double)rand(),(double)rand()); + M2=DoubleComplex((double)rand(),(double)rand()); + printf(" (%f + %f * %%i ) * (%f + %f * %%i) = %f +%f * %%i\n",zreals(M1),zimags(M1),zreals(M2),zimags(M2),zreals(zmuls(M1,M2)),zimags(zmuls(M1,M2))); + } +} + + +static void smulaTest(void){ + float M1[20]={0}; + float M2[20]={0}; + float MRes[20]={0}; + int i=0; + srand(1); + for (i=0;i<20;i++){ + M1[i]=(float)rand(); + M2[i]=(float)rand(); + } + smula(M1,20,M2,20,MRes); + for (i=0;i<20;i++){ + printf(" %f * %f = %f\n",M1[i],M2[i],MRes[i]); + } +} + + +static void dmulaTest(void){ + double M1[20]={0}; + double M2[20]={0}; + double MRes[20]={0}; + int i=0; + srand(1); + for (i=0;i<20;i++){ + M1[i]=(double)rand(); + M2[i]=(double)rand(); + } + dmula(M1,20,M2,20,MRes); + for (i=0;i<20;i++){ + printf(" %f * %f = %f\n",M1[i],M2[i],MRes[i]); + } +} + + +static void cmulaTest(void){ + floatComplex M1[20]; + floatComplex M2[20]; + floatComplex MRes[20]; + int i=0; + + srand(1); + for (i=0;i<20;i++){ + M1[i] = FloatComplex((float)rand(),(float)rand()); + M2[i] = FloatComplex((float)rand(),(float)rand()); + } + cmula(M1,20,M2,20,MRes); + for (i=0;i<20;i++){ + printf(" (%f + %f * %%i ) * (%f + %f * %%i) = %f +%f * %%i\n",creals(M1[i]),cimags(M1[i]),creals(M2[i]),cimags(M2[i]),creals(MRes[i]),cimags(MRes[i])); + } +} + + +static void zmulaTest(void){ + doubleComplex M1[20]; + doubleComplex M2[20]; + doubleComplex MRes[20]; + int i=0; + + srand(1); + for (i=0;i<20;i++){ + M1[i] = DoubleComplex((double)rand(),(double)rand()); + M2[i] = DoubleComplex((double)rand(),(double)rand()); + } + zmula(M1,20,M2,20,MRes); + for (i=0;i<20;i++){ + printf(" (%f + %f * %%i ) * (%f + %f * %%i) = %f +%f * %%i\n",zreals(M1[i]),zimags(M1[i]),zreals(M2[i]),zimags(M2[i]),zreals(MRes[i]),zimags(MRes[i])); + } +} +static int testMult(void) { ztimessTest(); ctimessTest(); + printf(">>> Tests SMulS <<<\n"); + smulsTest(); + printf(">>> Tests DMulS <<<\n"); + dmulsTest(); + printf(">>> Tests CMulS <<<\n"); + cmulsTest(); + printf(">>> Tests ZMulS <<<\n"); + zmulsTest(); + printf(">>> Tests SMulA <<<\n"); + smulaTest(); + printf(">>> Tests DMulA <<<\n"); + dmulaTest(); + printf(">>> Tests CMulA <<<\n"); + cmulaTest(); + printf(">>> Tests ZMulA <<<\n"); + zmulaTest(); + return 0; } |