diff code_part1/OSTC_code_c_part2/p2_deco.c @ 601:d1719622111e

Minor LLVM compatibility cleanups.
author JeanDo <jd.gascuel@free.fr>
date Tue, 26 Jun 2012 21:32:09 +0200
parents 855a00c21d0c
children 6526a5b058b7
line wrap: on
line diff
--- a/code_part1/OSTC_code_c_part2/p2_deco.c	Mon Jun 25 12:36:28 2012 +0200
+++ b/code_part1/OSTC_code_c_part2/p2_deco.c	Tue Jun 26 21:32:09 2012 +0200
@@ -153,7 +153,9 @@
 static unsigned char calc_nextdecodepth(void);
 
 //---- Bank 4 parameters -----------------------------------------------------
-#pragma udata bank4=0x400
+#ifndef UNIX
+#   pragma udata bank4=0x400
+#endif
 
 static float			GF_low;
 static float			GF_high;
@@ -178,7 +180,9 @@
 static float pres_tissue_He_vault[NUM_COMP];
 
 //---- Bank 5 parameters -----------------------------------------------------
-#pragma udata bank5=0x500
+#ifndef UNIX
+#   pragma udata bank5=0x500
+#endif
 
 static unsigned char	ci;
 static float 			pres_respiration;
@@ -216,7 +220,9 @@
 static unsigned char    deco_gas_change[NUM_GAS];       // new in v.109
 
 //---- Bank 6 parameters -----------------------------------------------------
-#pragma udata bank6=0x600
+#ifndef UNIX
+#   pragma udata bank6=0x600
+#endif
 
 float  pres_tissue_N2[NUM_COMP];
 float  pres_tissue_He[NUM_COMP];
@@ -224,19 +230,28 @@
 float  sim_pres_tissue_He[NUM_COMP];             // 16 floats = 64 bytes.
 
 //---- Bank 7 parameters -----------------------------------------------------
-#pragma udata bank7=0x700
+#ifndef UNIX
+#   pragma udata bank7=0x700
+#endif
+
 // EMPTY ...
 
 //---- Bank 8 parameters -----------------------------------------------------
-#pragma udata bank8=0x800
+#ifndef UNIX
+#   pragma udata bank8=0x800
 
-static char	  md_pi_subst[256];
-#define C_STACK md_pi_subst                     // Overlay C-code data stack here, too.
+    static char	  md_pi_subst[256];
+#   define C_STACK md_pi_subst      // Overlay C-code data stack here, too.
+
+#endif
 
 //---- Bank 9 parameters -----------------------------------------------------
-#pragma udata bank9=0x900
+#ifndef UNIX
+#   pragma udata bank9=0x900
 
-static char	  md_state[48];		        // DONT MOVE !! // has to be at the beginning of bank 9 for the asm code!!!
+    static char	  md_state[48];     // DONT MOVE : has to be at the beginning of bank 9 for the asm code!!!
+#endif
+
 
 //////////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////////
@@ -246,31 +261,36 @@
 //
 // End of PROM code is 17F00, So push tables on PROM top...
 //
-#pragma romdata buhlmann_tables = 0x017B00  // Needs to be in UPPER bank.
+#ifndef UNIX
+#   pragma romdata buhlmann_tables = 0x017B00  // Needs to be in UPPER bank.
+#endif
+
 #include "p2_tables.romdata" 		        // new table for deco_main_v.101 (var_N2_a modified)
 
 // Magic table to compute the MD2 HASH
 //
-#pragma romdata hash_tables = 0x017E00  // Address fixed by ASM access...
-rom const rom unsigned short md_pi[] =
-{
-    0x292E, 0x43C9, 0xA2D8, 0x7C01, 0x3D36, 0x54A1, 0xECF0, 0x0613
-  , 0x62A7, 0x05F3, 0xC0C7, 0x738C, 0x9893, 0x2BD9, 0xBC4C, 0x82CA
-  , 0x1E9B, 0x573C, 0xFDD4, 0xE016, 0x6742, 0x6F18, 0x8A17, 0xE512
-  , 0xBE4E, 0xC4D6, 0xDA9E, 0xDE49, 0xA0FB, 0xF58E, 0xBB2F, 0xEE7A
-  , 0xA968, 0x7991, 0x15B2, 0x073F, 0x94C2, 0x1089, 0x0B22, 0x5F21
-  , 0x807F, 0x5D9A, 0x5A90, 0x3227, 0x353E, 0xCCE7, 0xBFF7, 0x9703
-  , 0xFF19, 0x30B3, 0x48A5, 0xB5D1, 0xD75E, 0x922A, 0xAC56, 0xAAC6
-  , 0x4FB8, 0x38D2, 0x96A4, 0x7DB6, 0x76FC, 0x6BE2, 0x9C74, 0x04F1
-  , 0x459D, 0x7059, 0x6471, 0x8720, 0x865B, 0xCF65, 0xE62D, 0xA802
-  , 0x1B60, 0x25AD, 0xAEB0, 0xB9F6, 0x1C46, 0x6169, 0x3440, 0x7E0F
-  , 0x5547, 0xA323, 0xDD51, 0xAF3A, 0xC35C, 0xF9CE, 0xBAC5, 0xEA26
-  , 0x2C53, 0x0D6E, 0x8528, 0x8409, 0xD3DF, 0xCDF4, 0x4181, 0x4D52
-  , 0x6ADC, 0x37C8, 0x6CC1, 0xABFA, 0x24E1, 0x7B08, 0x0CBD, 0xB14A
-  , 0x7888, 0x958B, 0xE363, 0xE86D, 0xE9CB, 0xD5FE, 0x3B00, 0x1D39
-  , 0xF2EF, 0xB70E, 0x6658, 0xD0E4, 0xA677, 0x72F8, 0xEB75, 0x4B0A
-  , 0x3144, 0x50B4, 0x8FED, 0x1F1A, 0xDB99, 0x8D33, 0x9F11, 0x8314
-};
+#ifndef UNIX
+#   pragma romdata hash_tables = 0x017E00  // Address fixed by ASM access...
+    rom const rom unsigned short md_pi[] =
+    {
+        0x292E, 0x43C9, 0xA2D8, 0x7C01, 0x3D36, 0x54A1, 0xECF0, 0x0613
+      , 0x62A7, 0x05F3, 0xC0C7, 0x738C, 0x9893, 0x2BD9, 0xBC4C, 0x82CA
+      , 0x1E9B, 0x573C, 0xFDD4, 0xE016, 0x6742, 0x6F18, 0x8A17, 0xE512
+      , 0xBE4E, 0xC4D6, 0xDA9E, 0xDE49, 0xA0FB, 0xF58E, 0xBB2F, 0xEE7A
+      , 0xA968, 0x7991, 0x15B2, 0x073F, 0x94C2, 0x1089, 0x0B22, 0x5F21
+      , 0x807F, 0x5D9A, 0x5A90, 0x3227, 0x353E, 0xCCE7, 0xBFF7, 0x9703
+      , 0xFF19, 0x30B3, 0x48A5, 0xB5D1, 0xD75E, 0x922A, 0xAC56, 0xAAC6
+      , 0x4FB8, 0x38D2, 0x96A4, 0x7DB6, 0x76FC, 0x6BE2, 0x9C74, 0x04F1
+      , 0x459D, 0x7059, 0x6471, 0x8720, 0x865B, 0xCF65, 0xE62D, 0xA802
+      , 0x1B60, 0x25AD, 0xAEB0, 0xB9F6, 0x1C46, 0x6169, 0x3440, 0x7E0F
+      , 0x5547, 0xA323, 0xDD51, 0xAF3A, 0xC35C, 0xF9CE, 0xBAC5, 0xEA26
+      , 0x2C53, 0x0D6E, 0x8528, 0x8409, 0xD3DF, 0xCDF4, 0x4181, 0x4D52
+      , 0x6ADC, 0x37C8, 0x6CC1, 0xABFA, 0x24E1, 0x7B08, 0x0CBD, 0xB14A
+      , 0x7888, 0x958B, 0xE363, 0xE86D, 0xE9CB, 0xD5FE, 0x3B00, 0x1D39
+      , 0xF2EF, 0xB70E, 0x6658, 0xD0E4, 0xA677, 0x72F8, 0xEB75, 0x4B0A
+      , 0x3144, 0x50B4, 0x8FED, 0x1F1A, 0xDB99, 0x8D33, 0x9F11, 0x8314
+    };
+#endif
 
 //////////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////////
@@ -280,8 +300,9 @@
 //
 // all new in v.102
 // moved from 0x0D000 to 0x0C000 in v.108
-
-#pragma code p2_deco = 0x0C000
+#ifndef UNIX
+#   pragma code p2_deco = 0x0C000
+#endif
 
 //////////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////////
@@ -1828,12 +1849,10 @@
         temp1 = 1.05 * ppN2 - pres_tissue_N2[ci];
         temp2 = ppN2 - pres_tissue_N2[ci];
         if (temp2 >= 0.0)
-        {
             temp1 = 0.0;
-            temp2 = 0.0;
-        }
         else
             temp1 = temp1 / temp2;
+        
         if( 0.0 < temp1 && temp1 < 1.0 )
         {
             // 0.6931 is ln(2), because the math function log() calculates with a base of e not 2 as requested.
@@ -1851,12 +1870,10 @@
         // He
         temp3 = 0.1 - pres_tissue_He[ci];
         if (temp3 >= 0.0)
-        {
             temp3 = 0.0;
-            temp4 = 0.0;
-        }
         else
             temp3 = - temp3 / pres_tissue_He[ci];
+
         if( 0.0 < temp3 && temp3 < 1.0 )
     	{
         	temp3 = log(1.0 - temp3) / -0.6931; // temp1 is the multiples of half times necessary.