//
// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
// Copyright (C) 2010-2010 - DIGITEO - 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
//
//
// <-- ENGLISH IMPOSED -->
// <-- JVM NOT MANDATORY -->
global SCI2CHOME;
scilab2c(SCI2CHOME+"/tests/unit_tests/double/test_Expm.sci", TMPDIR);
 
 -----------------------------------   
 
 --- Executing your SCILAB code. ---   
 
 -----------------------------------   
 
   1.0D+14 *
 
    3.5232353    3.9897442    4.4562531    4.922762   
    8.1403247    9.2181789    10.296033    11.373887  
    12.757414    14.446614    16.135813    17.825012  
    17.374503    19.675048    21.975593    24.276138  
 
 
         column 1 to 2
 
  - 0.0723612 - 0.5749056i  - 0.5876033 - 0.3357227i  
  - 0.5347368 - 0.3508537i    0.6385973 - 0.2744886i  
    0.0028876 - 0.1268019i  - 0.1352022 - 0.2132544i  
    0.5405119 + 0.0972500i    0.0909984 - 0.1520203i  
 
         column 3 to 4
 
  - 0.1028454 - 0.0965399i    0.3819125 + 0.1426430i  
  - 0.1880687 - 0.1981234i  - 0.0147346 - 0.1217582i  
    0.7267081 - 0.2997069i  - 0.4113816 - 0.3861595i  
  - 0.3585152 - 0.4012905i    0.1919713 - 0.6505607i  
 
 ------------------------------------------   
 
 --- End Execution of your SCILAB code. ---   
 
 ------------------------------------------   
 
          ==> SCI2C hArtes/POLIBA Tool!!!   
 
 Removing directory: TMPDIR/SCI2CTmpResultsReports   
 
 Removing directory: TMPDIR   
 
          ==> Initialize SCI2C and USER2C Libraries.   
 
          ==> Load SCI2C and USER2C Libraries.   
 
          ==> Start translation of function "test_Expm"   
Warning: file 'TMPDIR/SCI2CTmpResultsReports/test_Expm/test_Expm_copy.sci' already opened in Scilab.
Warning: file 'TMPDIR/SCI2CTmpResultsReports/test_Expm/test_Expm_copy.sci' already opened in Scilab.
 
          ==> Generate the AST.   
 
          ==> Generate C code in TMPDIR/main.c   
 
    /*SCI2C: ########################################################## 
      ########                                                          
 
      SCI2C:  b = [1 2 3 4 ; 5 6 7 8 ; 9 10 11 12 ; 13 14 15 16];   
 
      SCI2C: ########################################################## 
      ########*/                                                        
 
    /*SCI2C: ########################################################## 
      ########                                                          
 
      SCI2C:  c = b*%i ;   
 
      SCI2C: ########################################################## 
      ########*/                                                        
 
    /*SCI2C: ########################################################## 
      ########                                                          
 
      SCI2C:    
 
      SCI2C: ########################################################## 
      ########*/                                                        
 
    /*SCI2C: ########################################################## 
      ########                                                          
 
      SCI2C:  disp(expm(b));   
 
      SCI2C: ########################################################## 
      ########*/                                                        
 
    /*SCI2C: ########################################################## 
      ########                                                          
 
      SCI2C:  disp(expm(c));   
 
      SCI2C: ########################################################## 
      ########*/                                                        
 
    /*SCI2C: ########################################################## 
      ########                                                          
 
      SCI2C:    
 
      SCI2C: ########################################################## 
      ########*/                                                        
 
    /*SCI2C: ########################################################## 
      ########                                                          
 
      SCI2C:    
 
      SCI2C: ########################################################## 
      ########*/                                                        
 
    /*SCI2C: ########################################################## 
      ########                                                          
 
      SCI2C: endfunction   
 
      SCI2C: ########################################################## 
      ########*/                                                        
 
    /*SCI2C: ########################################################## 
      ########                                                          
 
      SCI2C:    
 
      SCI2C: ########################################################## 
      ########*/                                                        
 
    /*SCI2C: ########################################################## 
      ########                                                          
 
      SCI2C:    
 
      SCI2C: ########################################################## 
      ########*/                                                        
 
          ==> Copying sources   
 
          ==> Copying headers   
 
          ==> Copying interfaces   
 
          ==> Generating Builder TMPDIR/Makefile   
 
          ==> Translation Successfully Completed!!!   
fd = mopen(TMPDIR+"/main.c");
mgetl(fd)
 ans  =
 
!/*                                                                    !
!                                                                      !
!** ************************************************                   !
!                                                                      !
!** This file has been generated using                                 !
!                                                                      !
!**      Scilab2C (Version 2.0)                                        !
!                                                                      !
!**                                                                    !
!                                                                      !
!** Please visit following links for more informations:                !
!                                                                      !
!** Atoms Module: http://atoms.scilab.org/toolboxes/scilab2c           !
!                                                                      !
!** Scilab2C Forge: http://forge.scilab.org/index.php/p/scilab2c/      !
!                                                                      !
!** Scilab2C ML: http://forge.scilab.org/index.php/p/scilab2c/         !
!                                                                      !
!** ************************************************                   !
!                                                                      !
!*/                                                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!/*                                                                    !
!                                                                      !
!** -----------------                                                  !
!                                                                      !
!** --- Includes. ---                                                  !
!                                                                      !
!** -----------------                                                  !
!                                                                      !
!*/                                                                    !
!                                                                      !
!#include "main.h"                                                     !
!                                                                      !
!/*                                                                    !
!                                                                      !
!** ---------------------                                              !
!                                                                      !
!** --- End Includes. ---                                              !
!                                                                      !
!** ---------------------                                              !
!                                                                      !
!*/                                                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!/*                                                                    !
!                                                                      !
!** -------------------------------------                              !
!                                                                      !
!** --- Global Variables Declaration. ---                              !
!                                                                      !
!** -------------------------------------                              !
!                                                                      !
!*/                                                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!/*                                                                    !
!                                                                      !
!** -----------------------------------------                          !
!                                                                      !
!** --- End Global Variables Declaration. ---                          !
!                                                                      !
!** -----------------------------------------                          !
!                                                                      !
!*/                                                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!/*                                                                    !
!                                                                      !
!  SCI2C: -------------------------------------------------------------!
!     -----                                                            !
!                                                                      !
!  SCI2C: function test_Expm()                                         !
!                                                                      !
!  SCI2C: -------------------------------------------------------------!
!     -----                                                            !
!                                                                      !
!*/                                                                    !
!                                                                      !
!int main()                                                            !
!                                                                      !
!{                                                                     !
!                                                                      !
!/*                                                                    !
!                                                                      !
!** -----------------------------                                      !
!                                                                      !
!** --- Variable Declaration. ---                                      !
!                                                                      !
!** -----------------------------                                      !
!                                                                      !
!*/                                                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp1[1 * 2];                                             !
!                                                                      !
!   int ____temp1Size[2] = {1, 2};;                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp2[1 * 3];                                             !
!                                                                      !
!   int ____temp2Size[2] = {1, 3};;                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp3[1 * 4];                                             !
!                                                                      !
!   int ____temp3Size[2] = {1, 4};;                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp4[1 * 2];                                             !
!                                                                      !
!   int ____temp4Size[2] = {1, 2};;                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp5[1 * 3];                                             !
!                                                                      !
!   int ____temp5Size[2] = {1, 3};;                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp6[1 * 4];                                             !
!                                                                      !
!   int ____temp6Size[2] = {1, 4};;                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp7[2 * 4];                                             !
!                                                                      !
!   int ____temp7Size[2] = {2, 4};;                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp8[1 * 2];                                             !
!                                                                      !
!   int ____temp8Size[2] = {1, 2};;                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp9[1 * 3];                                             !
!                                                                      !
!   int ____temp9Size[2] = {1, 3};;                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp10[1 * 4];                                            !
!                                                                      !
!   int ____temp10Size[2] = {1, 4};;                                   !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp11[3 * 4];                                            !
!                                                                      !
!   int ____temp11Size[2] = {3, 4};;                                   !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp12[1 * 2];                                            !
!                                                                      !
!   int ____temp12Size[2] = {1, 2};;                                   !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp13[1 * 3];                                            !
!                                                                      !
!   int ____temp13Size[2] = {1, 3};;                                   !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp14[1 * 4];                                            !
!                                                                      !
!   int ____temp14Size[2] = {1, 4};;                                   !
!                                                                      !
!                                                                      !
!                                                                      !
!   double b[4 * 4];                                                   !
!                                                                      !
!   int __bSize[2] = {4, 4};;                                          !
!                                                                      !
!                                                                      !
!                                                                      !
!   doubleComplex c[4 * 4];                                            !
!                                                                      !
!   int __cSize[2] = {4, 4};;                                          !
!                                                                      !
!                                                                      !
!                                                                      !
!   double __temp15[4 * 4];                                            !
!                                                                      !
!   int ____temp15Size[2] = {4, 4};;                                   !
!                                                                      !
!                                                                      !
!                                                                      !
!   double ans1;                                                       !
!                                                                      !
!                                                                      !
!                                                                      !
!   doubleComplex __temp16[4 * 4];                                     !
!                                                                      !
!   int ____temp16Size[2] = {4, 4};;                                   !
!                                                                      !
!                                                                      !
!                                                                      !
!   double ans2;                                                       !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!                                                                      !
!/*                                                                    !
!                                                                      !
!** ---------------------------------                                  !
!                                                                      !
!** --- End Variable Declaration. ---                                  !
!                                                                      !
!** ---------------------------------                                  !
!                                                                      !
!*/                                                                    !
!                                                                      !
!/*                                                                    !
!                                                                      !
!** ---------------                                                    !
!                                                                      !
!** --- C code. ---                                                    !
!                                                                      !
!** ---------------                                                    !
!                                                                      !
!*/                                                                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   /*SCI2C: ##########################################################!
!     ########                                                         !
!                                                                      !
!     SCI2C:  b = [1 2 3 4 ; 5 6 7 8 ; 9 10 11 12 ; 13 14 15 16];      !
!                                                                      !
!     SCI2C: ##########################################################!
!     ########*/                                                       !
!                                                                      !
!   d0d0OpRcd2(1,2,__temp1);                                           !
!                                                                      !
!   d2d0OpRcd2(__temp1,  ____temp1Size,3,__temp2);                     !
!                                                                      !
!   d2d0OpRcd2(__temp2,  ____temp2Size,4,__temp3);                     !
!                                                                      !
!   d0d0OpRcd2(5,6,__temp4);                                           !
!                                                                      !
!   d2d0OpRcd2(__temp4,  ____temp4Size,7,__temp5);                     !
!                                                                      !
!   d2d0OpRcd2(__temp5,  ____temp5Size,8,__temp6);                     !
!                                                                      !
!   d2d2OpCcd2(__temp3,  ____temp3Size,__temp6,  ____temp6Size,__temp7)!
!     ;                                                                !
!                                                                      !
!   d0d0OpRcd2(9,10,__temp8);                                          !
!                                                                      !
!   d2d0OpRcd2(__temp8,  ____temp8Size,11,__temp9);                    !
!                                                                      !
!   d2d0OpRcd2(__temp9,  ____temp9Size,12,__temp10);                   !
!                                                                      !
!   d2d2OpCcd2(__temp7,  ____temp7Size,__temp10,  ____temp10Size,__temp!
!     11);                                                             !
!                                                                      !
!   d0d0OpRcd2(13,14,__temp12);                                        !
!                                                                      !
!   d2d0OpRcd2(__temp12,  ____temp12Size,15,__temp13);                 !
!                                                                      !
!   d2d0OpRcd2(__temp13,  ____temp13Size,16,__temp14);                 !
!                                                                      !
!   d2d2OpCcd2(__temp11,  ____temp11Size,__temp14,  ____temp14Size,b); !
!                                                                      !
!                                                                      !
!                                                                      !
!   /*SCI2C: ##########################################################!
!     ########                                                         !
!                                                                      !
!     SCI2C:  c = b*%i ;                                               !
!                                                                      !
!     SCI2C: ##########################################################!
!     ########*/                                                       !
!                                                                      !
!   d2z0OpStarz2(b,  __bSize,DoubleComplex(0,1),c);                    !
!                                                                      !
!                                                                      !
!                                                                      !
!   /*SCI2C: ##########################################################!
!     ########                                                         !
!                                                                      !
!     SCI2C:                                                           !
!                                                                      !
!     SCI2C: ##########################################################!
!     ########*/                                                       !
!                                                                      !
!                                                                      !
!                                                                      !
!   /*SCI2C: ##########################################################!
!     ########                                                         !
!                                                                      !
!     SCI2C:  disp(expm(b));                                           !
!                                                                      !
!     SCI2C: ##########################################################!
!     ########*/                                                       !
!                                                                      !
!   d2expmd2(b,  __bSize,__temp15);                                    !
!                                                                      !
!   ans1 = d2dispd0(__temp15,  ____temp15Size);                        !
!                                                                      !
!                                                                      !
!                                                                      !
!   /*SCI2C: ##########################################################!
!     ########                                                         !
!                                                                      !
!     SCI2C:  disp(expm(c));                                           !
!                                                                      !
!     SCI2C: ##########################################################!
!     ########*/                                                       !
!                                                                      !
!   z2expmz2(c,  __cSize,__temp16);                                    !
!                                                                      !
!   ans2 = z2dispd0(__temp16,  ____temp16Size);                        !
!                                                                      !
!                                                                      !
!                                                                      !
!   /*SCI2C: ##########################################################!
!     ########                                                         !
!                                                                      !
!     SCI2C:                                                           !
!                                                                      !
!     SCI2C: ##########################################################!
!     ########*/                                                       !
!                                                                      !
!                                                                      !
!                                                                      !
!   /*SCI2C: ##########################################################!
!     ########                                                         !
!                                                                      !
!     SCI2C:                                                           !
!                                                                      !
!     SCI2C: ##########################################################!
!     ########*/                                                       !
!                                                                      !
!                                                                      !
!                                                                      !
!   /*SCI2C: ##########################################################!
!     ########                                                         !
!                                                                      !
!     SCI2C: endfunction                                               !
!                                                                      !
!     SCI2C: ##########################################################!
!     ########*/                                                       !
!                                                                      !
!                                                                      !
!                                                                      !
!   /*SCI2C: ##########################################################!
!     ########                                                         !
!                                                                      !
!     SCI2C:                                                           !
!                                                                      !
!     SCI2C: ##########################################################!
!     ########*/                                                       !
!                                                                      !
!                                                                      !
!                                                                      !
!   /*                                                                 !
!                                                                      !
!   ** ---------------------                                           !
!                                                                      !
!   ** --- Free Section. ---                                           !
!                                                                      !
!   ** ---------------------                                           !
!                                                                      !
!   */                                                                 !
!                                                                      !
!   /*                                                                 !
!                                                                      !
!   ** -------------------------                                       !
!                                                                      !
!   ** --- End Free Section. ---                                       !
!                                                                      !
!   ** -------------------------                                       !
!                                                                      !
!   */                                                                 !
!                                                                      !
!                                                                      !
!                                                                      !
!   return(0);                                                         !
!                                                                      !
!                                                                      !
!                                                                      !
!   /*SCI2C: ##########################################################!
!     ########                                                         !
!                                                                      !
!     SCI2C:                                                           !
!                                                                      !
!     SCI2C: ##########################################################!
!     ########*/                                                       !
!                                                                      !
!}                                                                     !
!                                                                      !
!                                                                      !
mclose(fd);