--- rpl/src/instructions_f3.c 2013/02/26 19:56:14 1.53 +++ rpl/src/instructions_f3.c 2013/06/21 14:15:54 1.60 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.12 + RPL/2 (R) version 4.1.15 Copyright (C) 1989-2013 Dr. BERTRAND Joël This file is part of RPL/2. @@ -96,7 +96,8 @@ instruction_format(struct_processus *s_e printf(" { \"CHARACTER*(*)\" }\n"); printf(" { \"CHARACTER*(%s)\" }\n", d_INT); printf(" { \"BINARY*%s(*)\" }\n", d_INT); - printf(" { \"BINARY*%s(%s)\" }\n\n", d_INT, d_INT); + printf(" { \"BINARY*%s(%s)\" }\n", d_INT, d_INT); + printf(" { \"NATIVE*(*)\" }\n\n"); printf(" UNFORMATTED\n"); printf(" { \"INTEGER*1\", \"INTEGER*2\", \"INTEGER*4\", " @@ -105,7 +106,8 @@ instruction_format(struct_processus *s_e "\"LOGICAL*8\" }\n"); printf(" { \"REAL*4\", \"REAL*8\" }\n"); printf(" { \"COMPLEX*8\", \"COMPLEX*16\" }\n"); - printf(" { \"CHARACTER\" }\n\n"); + printf(" { \"CHARACTER*(*)\", \"CHARACTER*(%s)\" }\n", d_INT); + printf(" { \"NATIVE*(*)\" }\n\n"); printf(" FLOW\n"); printf(" { \"LENGTH*(*)\" }\n"); @@ -540,7 +542,7 @@ instruction_fleche_q(struct_processus *s if (y != 0) { - z = fabs(objectif - (r1 / r2)); + z = abs(objectif - (r1 / r2)); x = ((real8) 1) / y; } else @@ -954,7 +956,7 @@ instruction_fleche_row(struct_processus nombre_lignes; if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = - malloc(nombre_lignes * sizeof(integer8 *))) == NULL) + malloc(((size_t) nombre_lignes) * sizeof(integer8 *))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -969,7 +971,7 @@ instruction_fleche_row(struct_processus } if ((((integer8 **) (*((struct_matrice *) (*s_objet_resultat) - .objet)).tableau)[i] = malloc(nombre_colonnes * + .objet)).tableau)[i] = malloc(((size_t) nombre_colonnes) * sizeof(integer8))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -1000,7 +1002,7 @@ instruction_fleche_row(struct_processus nombre_lignes; if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = - malloc(nombre_lignes * sizeof(real8 *))) == NULL) + malloc(((size_t) nombre_lignes) * sizeof(real8 *))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -1015,7 +1017,7 @@ instruction_fleche_row(struct_processus } if ((((real8 **) (*((struct_matrice *) (*s_objet_resultat) - .objet)).tableau)[i] = malloc(nombre_colonnes * + .objet)).tableau)[i] = malloc(((size_t) nombre_colonnes) * sizeof(real8))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -1027,7 +1029,7 @@ instruction_fleche_row(struct_processus for(j = 0; j < nombre_colonnes; j++) { ((real8 **) (*((struct_matrice *) (*s_objet_resultat) - .objet)).tableau)[i][j] = ((integer8 **) + .objet)).tableau)[i][j] = (real8) ((integer8 **) (*((struct_matrice *) (*s_objet).objet)) .tableau)[0][j]; } @@ -1060,7 +1062,7 @@ instruction_fleche_row(struct_processus nombre_lignes; if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = - malloc(nombre_lignes * sizeof(complex16 *))) == NULL) + malloc(((size_t) nombre_lignes) * sizeof(complex16 *))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -1075,7 +1077,7 @@ instruction_fleche_row(struct_processus } if ((((complex16 **) (*((struct_matrice *) (*s_objet_resultat) - .objet)).tableau)[i] = malloc(nombre_colonnes * + .objet)).tableau)[i] = malloc(((size_t) nombre_colonnes) * sizeof(complex16))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -1087,7 +1089,7 @@ instruction_fleche_row(struct_processus for(j = 0; j < nombre_colonnes; j++) { (((complex16 **) (*((struct_matrice *) (*s_objet_resultat) - .objet)).tableau)[i][j]).partie_reelle = + .objet)).tableau)[i][j]).partie_reelle = (real8) ((integer8 **) (*((struct_matrice *) (*s_objet).objet)).tableau)[0][j]; (((complex16 **) (*((struct_matrice *) (*s_objet_resultat) @@ -1349,7 +1351,7 @@ instruction_fleche_col(struct_processus nombre_lignes; if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = - malloc(nombre_lignes * sizeof(integer8 *))) == NULL) + malloc(((size_t) nombre_lignes) * sizeof(integer8 *))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -1358,7 +1360,7 @@ instruction_fleche_col(struct_processus for(i = 0; i < nombre_lignes; i++) { if ((((integer8 **) (*((struct_matrice *) (*s_objet_resultat) - .objet)).tableau)[i] = malloc(nombre_colonnes * + .objet)).tableau)[i] = malloc(((size_t) nombre_colonnes) * sizeof(integer8))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -1398,7 +1400,7 @@ instruction_fleche_col(struct_processus nombre_lignes; if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = - malloc(nombre_lignes * sizeof(real8 *))) == NULL) + malloc(((size_t) nombre_lignes) * sizeof(real8 *))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -1407,7 +1409,7 @@ instruction_fleche_col(struct_processus for(i = 0; i < nombre_lignes; i++) { if ((((real8 **) (*((struct_matrice *) (*s_objet_resultat) - .objet)).tableau)[i] = malloc(nombre_colonnes * + .objet)).tableau)[i] = malloc(((size_t) nombre_colonnes) * sizeof(real8))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -1428,7 +1430,7 @@ instruction_fleche_col(struct_processus for(i = 0; i < nombre_lignes; i++) { ((real8 **) (*((struct_matrice *) (*s_objet_resultat) - .objet)).tableau)[i][j] = ((integer8 **) + .objet)).tableau)[i][j] = (real8) ((integer8 **) (*((struct_matrice *) (*s_objet).objet)) .tableau)[i][0]; } @@ -1461,7 +1463,7 @@ instruction_fleche_col(struct_processus nombre_lignes; if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = - malloc(nombre_lignes * sizeof(complex16 *))) == NULL) + malloc(((size_t) nombre_lignes) * sizeof(complex16 *))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -1470,7 +1472,7 @@ instruction_fleche_col(struct_processus for(i = 0; i < nombre_lignes; i++) { if ((((complex16 **) (*((struct_matrice *) (*s_objet_resultat) - .objet)).tableau)[i] = malloc(nombre_colonnes * + .objet)).tableau)[i] = malloc(((size_t) nombre_colonnes) * sizeof(complex16))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -1491,7 +1493,7 @@ instruction_fleche_col(struct_processus for(i = 0; i < nombre_lignes; i++) { (((complex16 **) (*((struct_matrice *) (*s_objet_resultat) - .objet)).tableau)[i][j]).partie_reelle = + .objet)).tableau)[i][j]).partie_reelle = (real8) ((integer8 **) (*((struct_matrice *) (*s_objet).objet)).tableau)[i][0]; (((complex16 **) (*((struct_matrice *) (*s_objet_resultat)