Abstract:
Unnecessary operations are eliminated in the calculation of a non-decompression limit at the current water dept. In this manner, the calculation of the non-decompression limit is made more efficient and the required computing time is shorten to the point where the function can be incorporated into a wrist worn device that provides timely data.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to a data processing apparatus for divers for efficiently calculating the non-decompression limit, a data processing method for the same, a program for executing this method, and a recording medium for storing the program.  
           [0003]    2. Description of the Related Art  
           [0004]    A data processing apparatus for divers, more commonly referred to as a dive computer, has various safety functions that help to assure safe diving. One of these functions calculates the non-decompression limit, that is, the limit specifying how long a diver can dive safely without risk of decompression sickness, based on the accumulation of inert gases (particularly nitrogen) in the tissues of the diver&#39;s body. Various theories are used to compute this accumulation of inert gases in the tissues, and divers preferably dive within the non-decompression limit determined by the dive computer.  
           [0005]    Dive computers are discussed in detail in “Dive Computers, A Consumer&#39;s Guide to History, Theory, and Performance,” by Ken Loyst, et al., Watersport Publishing Inc. (1991). Diving theory is also discussed in detail in “Decompression-Decompression Sickness,” by A. A. Buhlmann, Springer, Berlin (1984). These books note the following.  
           [0006]    1. Different body tissues absorb (in-gas) and release (out-gas) inert gases at different rates and are grouped into “tissue compartments”, or tissue types, according to the rate of inert gas absorption and release.  
           [0007]    2. Body tissues absorb and release inert gases at an exponential rate.  
           [0008]    3. The saturation half-time, which is the time required for a body tissue to become half saturated, is used to express the rate of inert gas absorption and release.  
           [0009]    4. Each tissue compartment has a particular saturation half-time and maximum inert gas partial pressure at which a safe ascent to the surface is possible, and this is referred to as the maximum tolerated (inert gas) partial pressure (the M value, M0).  
           [0010]    5. The risk of decompression sickness occurs when a diver ascends with inert gas exceeding this maximum tolerated partial pressure (M value) still dissolved in the body tissues.  
           [0011]    6. In general recreational diving, nitrogen is the most common inert gas.  
           [0012]    These findings are based on experience and experimental diving, and have not been fully explained physiologically. Further, these findings were not obtained by monitoring divers while diving, and are based on mathematically modeled simulations. It is clear that more accurate simulations are important not only for preventing decompression sickness but also for improving diving safety.  
           [0013]    The non-decompression limit is the shortest time required for a particular tissue compartment to reach the maximum tolerated inert gas partial pressure. The non-decompression limit at a given depth is calculated using an exponential function or logarithmic function based on the measured depth (or water pressure).  
           [0014]    During a single dive of approximately one hour the dive computer measures the water depth every second and calculates the non-decompression limit from the measured water depth. This requires a massive number of calculations and high battery power consumption. Dive computers are therefore unable to use the common button batteries used in wristwatches because of the danger that the battery will wear out during the dive.  
           [0015]    Portable dive computers therefore typically use a relatively slow 4-bit or 8-bit CPU in an effort to extend battery life, but such CPUs do not have the ability to process these functions. Constants are therefore derived for the exponential functions used in the non-decompression limit equations to simplify calculation and determine approximate values.  
           [0016]    [Problem to Be Solved] 
           [0017]    By using a CPU with a slow processing time, conventional dive computers are unable to quickly compute the non-decompression limit at the same rate the depth is measured, that is, every second, and there is a several second delay until the results are displayed. Depth measurements must therefore be delayed to a commensurate interval of several seconds, thus diminishing the effectiveness of the dive computer.  
           [0018]    Furthermore, advances in diving theory have increased the number of theoretical tissue compartments that must be considered when calculating the non-decompression limit from 9 to 16. In addition, the mixture of nitrogen and oxygen in the tank is variable, and helium may also be added to the breathing mix. These factors each increase the number of calculations that must be performed by the dive computer, and exceed the processing capacity of conventionally used CPUs.  
           [0019]    Other objects and attainments together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.  
         OBJECTS OF THE INVENTION  
         [0020]    The present invention is therefore directed to solving these problems, and an object of this invention is to enable rapidly calculating the non-decompression limit at the current depth by reducing the number of operations performed and shortening the computing time.  
         SUMMARY OF THE INVENTION  
         [0021]    To achieve this object a data processing apparatus for divers according to the present invention has a computing means for repeatedly calculating a non-decompression limit for each tissue compartment (type of body tissue) based on the amount of inert gas accumulated in vivo in conjunction with diving, and a determination means for determining the tissue compartment computing sequence according to which the computing means calculates the non-decompression limit. The computing means calculates the non-decompression limit for each tissue compartment according to the computing sequence determined by the determination means.  
           [0022]    Preferably, the determination means sets the current tissue compartment computing sequence in ascending sequence based on the absolute value of the difference to the saturation half-time of the tissue compartment having the lowest calculated non-decompression limit as determined by the computing means during the previous computing process.  
           [0023]    Yet further preferably, a tissue compartment number is assigned to each tissue compartment in ascending or descending sequence based on the saturation half-time of each tissue compartment, and the determination means sets the current tissue compartment computing sequence in a tissue compartment number sequence determined by alternately subtracting and adding one, or alternately adding and subtracting one, to the tissue compartment number of the tissue compartment having the lowest calculated non-decompression limit as determined by the computing means during the previous computing process.  
           [0024]    A further aspect of the present invention is a data processing apparatus for divers wherein calculating the non-decompression limit for a given tissue compartment ends if during calculation the non-decompression limit for the given tissue compartment exceeds the lowest non-decompression limit computed for another tissue compartment when calculating the non-decompression limit for each tissue compartment according to whether, while repeatedly hypothetically adding a specific time to the dive time, an amount of inert gas accumulated in vivo after adding the specific time exceeds a maximum tolerated inert gas partial pressure in any tissue compartment.  
           [0025]    A further data processing apparatus for divers according to the present invention has a computing means for calculating a non-decompression limit for each tissue compartment based on an amount of inert gas accumulated in vivo in conjunction with diving, wherein the computing means does not calculate the non-decompression limit for a tissue compartment if the amount of inhaled inert gas in the breathing mix used by the diver is less than the maximum tolerated inert gas partial pressure of the tissue compartment.  
           [0026]    A further data processing apparatus for divers according to the present invention has an inhaled gas computing means for calculating an amount of inhaled inert gas in a breathing mix used by the diver; an in vivo gas updating means for regularly updating the amount of inert gas accumulated in vivo based on the amount of inhaled inert gas calculated by the inhaled gas computing means; and a non-decompression limit computing means for repeatedly calculating the non-decompression limit for each tissue compartment based on the amount of in vivo inert gas updated by the in vivo gas updating means. The non-decompression limit computing means sets the current non-decompression limit to the previous non-decompression limit when the time to calculate the current non-decompression limit is not the time for the in vivo gas updating means to update the amount of in vivo inert gas, and the currently measured amount of inhaled inert gas is equal to the previously measured amount of inhaled inert gas.  
           [0027]    A further data processing apparatus for divers according to the present invention has an inhaled gas computing means for calculating an amount of inhaled inert gas in a breathing mix used by the diver; an in vivo gas updating means for regularly updating the amount of inert gas accumulated in vivo based on the amount of inhaled inert gas calculated by the inhaled gas computing means; and a non-decompression limit computing means for repeatedly calculating a non-decompression limit for each tissue compartment based on the amount of in vivo inert gas updated by the in vivo gas updating means. When the time to calculate the current non-decompression limit is the time for the in vivo gas updating means to update the amount of in vivo inert gas, the currently measured amount of inhaled inert gas is equal to the previously measured amount of inhaled inert gas, and the previous non-decompression limit is lower than a predefined maximum non-decompression limit, the non-decompression limit computing means sets the current non-decompression limit to the previous non-decompression limit minus the time elapsed from calculating the previous non-decompression limit to calculating the current non-decompression limit.  
           [0028]    A further data processing apparatus, for divers according to the present invention has a computing means for calculating a non-decompression limit for each tissue compartment based on the amount of inert gas accumulated in vivo in conjunction with diving. When the amount of inhaled inert gas contained in a breathing mix used by the diver is greater than or equal to a maximum tolerated inert gas partial pressure for the tissue compartment, the computing means hypothetically repeatedly adds a specific time to the diver&#39;s dive time, and sets the non-decompression limit to the dive time at which the amount of inert gas accumulated in vivo after adding the specific time exceeds the maximum tolerated inert gas partial pressure.  
           [0029]    A data processing method for a data processing apparatus for divers according to the present invention has a computing step for repeatedly calculating a non-decompression limit for each tissue compartment based on the amount of inert gas accumulated in vivo in conjunction with diving; and a determination step for determining a tissue compartment computing sequence whereby the computing step calculates the non-decompression limit. The computing step calculates the non-decompression limit for each tissue compartment according to the computing sequence determined by the determination step.  
           [0030]    A further data processing method for a data processing apparatus for divers determines whether to compute the non-decompression limit for each tissue compartment by repeatedly hypothetically adding a specific time to the dive time and detecting if the amount of inert gas accumulated in vivo after adding the specific time exceeds a maximum tolerated inert gas partial pressure in any tissue compartment, and stops calculating the non-decompression limit for a given tissue compartment if during calculation the non-decompression limit for the given tissue compartment exceeds the lowest non-decompression limit computed for another tissue compartment.  
           [0031]    In a further data processing method for a diver&#39;s data processing apparatus for calculating a non-decompression limit for each tissue compartment based on an amount of inert gas accumulated in vivo in conjunction with diving, the non-decompression limit for a particular tissue compartment is not calculated if the amount of inhaled inert gas in the breathing mix used by the diver is less than the maximum tolerated inert gas partial pressure of the tissue compartment.  
           [0032]    A yet further data processing method for a diver&#39;s data processing apparatus has an inhaled gas computing step for calculating an amount of inhaled inert gas in a breathing mix used by the diver; an in vivo gas updating step for regularly updating the amount of inert gas accumulated in vivo based on the amount of inhaled inert gas calculated by the inhaled gas computing step; and a non-decompression limit computing step for repeatedly calculating the non-decompression limit for each tissue compartment based on the amount of in vivo inert gas updated by the in vivo gas updating step. The non-decompression limit computing step sets the current non-decompression limit to the previous non-decompression limit when the time to calculate the current non-decompression limit is not the time for the in vivo gas updating step to update the amount of in vivo inert gas, and the currently measured amount of inhaled inert gas is equal to the previously measured amount of inhaled inert gas.  
           [0033]    A yet further data processing method for a diver&#39;s data processing apparatus has an inhaled gas computing step for calculating an amount of inhaled inert gas in a breathing mix used by the diver; an in vivo gas updating step for regularly updating the amount of inert gas accumulated in vivo based on the amount of inhaled inert gas calculated by the inhaled gas computing step; and a non-decompression limit computing step for repeatedly calculating a non-decompression limit for each tissue compartment based on the amount of in vivo inert gas updated by the in vivo gas updating step. When the time to calculate the current non-decompression limit is the time for the in vivo gas updating step to update the amount of in vivo inert gas, the currently measured amount of inhaled inert gas is equal to the previously measured amount of inhaled inert gas, and the previous non-decompression limit is lower than a predefined maximum non-decompression limit, the non-decompression limit computing step sets the current non-decompression limit to the previous non-decompression limit minus the time elapsed from calculating the previous non-decompression limit to calculating the current non-decompression limit.  
           [0034]    In a yet further data processing method for a diver&#39;s data processing apparatus according to the present invention for calculating a non-decompression limit for each tissue compartment based on an amount of inert gas accumulated in vivo in conjunction with diving, when an amount of inhaled inert gas contained in a breathing mix used by a diver is greater than or equal to a maximum tolerated inert gas partial pressure for the tissue compartment, a specific time is hypothetically repeatedly added to the diver&#39;s dive time, and the non-decompression limit is set to the dive time at which the amount of inert gas accumulated in vivo after adding the specific time exceeds the maximum tolerated inert gas partial pressure.  
           [0035]    A further aspect of the present invention is a program for achieving in a computer a determination function for determining a tissue compartment computing sequence for calculating a non-decompression limit for each tissue compartment; and a computing function for calculating a non-decompression limit for each tissue compartment according to the computing sequence set by the determination function based on an amount of inert gas accumulated in vivo in conjunction with diving.  
           [0036]    A further program according to the present invention achieves in a computer a function for stopping calculation of the non-decompression limit for a given tissue compartment if during calculation the non-decompression limit for the given tissue compartment exceeds the lowest non-decompression limit computed for another tissue compartment when calculating the non-decompression limit for each tissue compartment according to whether, while repeatedly hypothetically adding a specific time to the dive time, an amount of inert gas accumulated in vivo after adding the specific time exceeds a maximum tolerated inert gas partial pressure in any tissue compartment.  
           [0037]    A further aspect of a program according to the present invention achieves in a computer a computing function for not calculating the non-decompression limit for a given tissue compartment if the amount of inhaled inert gas in the breathing mix used by the diver is less than the maximum tolerated inert gas partial pressure of the tissue compartment when calculating the non-decompression limit for each tissue compartment based on an amount of inert gas accumulated in vivo in conjunction with diving.  
           [0038]    A further aspect of a program according to the present invention achieves in a computer an inhaled gas computing function for calculating an amount of inhaled inert gas in a breathing mix used by the diver; an in vivo gas updating function for regularly updating the amount of inert gas accumulated in vivo based on the amount of inhaled inert gas calculated by the inhaled gas computing function; and a non-decompression limit computing function for repeatedly calculating the non-decompression limit for each tissue compartment based on the amount of in vivo inert gas updated by the in vivo gas updating function. The current non-decompression limit is set to the previous non-decompression limit when the time to calculate the current non-decompression limit is not the time for the in vivo gas updating function to update the amount of in vivo inert gas, and the currently measured amount of inhaled inert gas is equal to the previously measured amount of inhaled inert gas.  
           [0039]    A further aspect of a program according to the present invention achieves in a computer an inhaled gas computing function for calculating an amount of inhaled inert gas in a breathing mix used by the diver; an in vivo gas updating function for regularly updating the amount of inert gas accumulated in vivo based on the amount of inhaled inert gas calculated by the inhaled gas computing function; and a non-decompression limit computing function for repeatedly calculating a non-decompression limit for each tissue compartment based on the amount of in vivo inert gas updated by the in vivo gas updating function. In this aspect of the program the current non-decompression limit is set to the previous non-decompression limit minus the time elapsed from calculating the previous non-decompression limit to calculating the current non-decompression limit when the time to calculate the current non-decompression limit is the time for the in vivo gas updating function to update the amount of in vivo inert gas, the currently measured amount of inhaled inert gas is equal to the previously measured amount of inhaled inert gas, and the previous non-decompression limit is lower than a predefined maximum non-decompression limit.  
           [0040]    A further aspect of a program according to the present invention achieves in a computer a function for calculating a non-decompression limit for each tissue compartment based on an amount of inert gas accumulated in vivo in conjunction with diving. When the amount of inhaled inert gas contained in a breathing mix used by a diver is greater than or equal to a maximum tolerated inert gas partial pressure for the tissue compartment, a specific time is hypothetically repeatedly added to the diver&#39;s dive time, and the non-decompression limit is set to the dive time at which the amount of inert gas accumulated in vivo after adding the specific time exceeds the maximum tolerated inert gas partial pressure.  
           [0041]    A yet further aspect of the present invention is a computer-readable data storage medium for recording a program as described above.  
           [0042]    Other objects and attainments together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0043]    In the drawings wherein like reference symbols refer to like parts.  
         [0044]    [0044]FIG. 1 is a schematic view showing the front of a dive computer according to a first preferred embodiment of the present invention.  
         [0045]    [0045]FIG. 2 is a block diagram showing the electrical configuration of a dive computer according to the first embodiment of the invention.  
         [0046]    [0046]FIG. 3 is a table showing the saturation half-time Th of the inert gases nitrogen and helium and the maximum tolerated partial pressure M0 for the sixteen tissue compartments.  
         [0047]    [0047]FIG. 4 is a graph showing the relationship between dive time and in vivo nitrogen partial pressure in the first embodiment of the invention.  
         [0048]    [0048]FIG. 5 is a flow chart of the non-decompression limit computing process in the first embodiment of the invention.  
         [0049]    [0049]FIG. 6 shows the results of the first time the computing process is run by the first embodiment of the invention.  
         [0050]    [0050]FIG. 7 is used to describe the computing method of a second embodiment of the invention.  
         [0051]    [0051]FIG. 8 is a flow chart of the non-decompression limit computing process in the second embodiment of the invention. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0052]    Preferred embodiments of the present invention are described below with reference to the accompanying figures.  
         [0053]    A: Embodiment 1  
         [0054]    A-1: Configuration  
         [0055]    (1) Dive Computer Appearance  
         [0056]    [0056]FIG. 1 is a schematic diagram showing the front appearance of a data processing apparatus for a diver (dive computer, below)  1  according to this embodiment of the invention. This dive computer  1  calculates and displays the diving depth and dive time for the user (diver) while diving, measures and expresses the amount of inert gas (assumed below to be nitrogen) accumulated in vivo, i.e. in real time, while diving in terms of partial pressure, and displays the non-decompression limit NDL (how long a diver can dive without requiring decompression or danger of suffering decompression illness) calculated from the nitrogen partial pressure.  
         [0057]    As shown in FIG. 1 this dive computer  1  has, wristbands  3  and  4  attached to a circular body  2  at the top and bottom as seen in the figure, and is worn on the wrist similarly to a wristwatch by these wristbands  3  and  4 .  
         [0058]    The top case and bottom case of the body  2  are fastened with screws for water resistance to a specific diving depth. The electronic components (not shown in the figure) are housed inside the body  2 .  
         [0059]    A display unit  10  with an LCD panel  11  is provided at the front of the body  2 , and operating controls  5  for selecting and switching the various operating modes of the dive computer  1  are provided at the bottom as seen in FIG. 1. The operating controls  5  in this example are two push-button switches A and B.  
         [0060]    A dive mode monitoring switch  30  using a conductive sensor and provided at the left side of the body  2  as seen in FIG. 1 automatically detects when diving starts. This dive mode monitoring switch  30  has two electrodes  31 ,  32  disposed on the face of the body  2 . When immersion in water creates conductivity between these electrodes  31 ,  32  so that resistance between the electrodes  31 ,  32  drops, the dive computer  1  knows that it has entered the water.  
         [0061]    The configuration of the display unit  10  is described in further detail below.  
         [0062]    As shown in FIG. 1 the LCD panel  11  has a display area  11 A in the middle that is further subdivided into first to seventh display areas  111  to  117 .  
         [0063]    Information displayable in first to seventh display areas  111  to  117  includes the current date, current time, dive date, planned dive depth, current depth, maximum depth, depth rank, dive time, dive start and end times, inert gas release time, dive safety factor, non-decompression limit, surface stop time, temperature, power supply warning, altitude rank, inert gas absorption/release tendency, rapid ascent warning, and decompression diving warning.  
         [0064]    (2) Electrical Configuration of the Dive Computer  1   
         [0065]    The electrical configuration of the dive computer  1  is described next with reference to the block diagram thereof in FIG. 2.  
         [0066]    As shown in FIG. 2 this dive computer  1  has operating controls  5  for operating the dive computer  1 , display unit  10  for displaying information, dive mode monitoring switch  30 , alarm device  37  for issuing audible warnings to the diver by means of a buzzer, for example, vibration generator  38  for warning the diver by means of vibrations, a control unit  50  providing overall control of the dive computer  1 , a pressure measuring unit (i.e. pressure gauge)  61  for measuring air pressure or water pressure, and a clock unit  68  for handling time operations.  
         [0067]    The display unit  10  has an LCD panel  11  for displaying information, and an LCD driver  12  for driving the LCD panel  11 .  
         [0068]    The operating controls  5 , dive mode monitoring switch  30 , alarm device  37 , and vibration generator  38  are connected to the control unit  50 . The control unit  50  consists of a CPU  51 , control circuit  52 , ROM  53 , and RAM  54 . The CPU  51  controls overall operation of the dive computer  1 . The control circuit  52  is also controlled by the CPU  51  and runs processes for controlling the operating modes of a time counter  33  and the operation of the LCD driver  12  to display information on the LCD panel  11  according to the selected operating mode. The ROM  53  stores the control program and control data, and RAM  54  temporarily stores data. The CPU  51  reads the control program and control data from ROM  53  and runs the read program.  
         [0069]    From the depth (or water pressure) and dive time the dive computer  1  must be able to measure, display, and report the depth to the diver, and measure the amount of inert gas accumulated in the diver&#39;s tissues. The pressure measuring unit (i.e. pressure gauge)  61  therefore measures, both air pressure and water pressure. The pressure measuring unit  61  has a semiconductor pressure sensor  34 , an amplifier circuit  35  for amplifying the output signal from the pressure sensor  34 , and an A/D converter  36  for converting the analog output signal from the amplifier circuit  35  to a digital signal, and outputting the digital pressure signal to the control unit  50 .  
         [0070]    In order to measure time and monitor dive time in the dive computer  1 , the clock unit  68  has an oscillation circuit  31  for generating a clock signal of a specific frequency, a frequency divider  32  for frequency dividing the clock signal output from the oscillation circuit  31 , and a time counter  33  for running a timing process in 1-second units based on the output signal from the frequency divider  32 .  
         [0071]    (3) Saturation Half-Time and Maximum Tolerated Partial Pressure for Different Tissue Compartments, i.e. Tissue Types.  
         [0072]    The saturation half-time and maximum tolerated partial pressure of inert gases are described next below.  
         [0073]    Different body tissues absorb and release inert gases at different rates and are therefore commonly referred to as “fast” tissues and “slow” tissues. Generally speaking, the speed at which a given tissue becomes saturated at a new pressure is determined by how fast the inert gas is absorbed into the tissues and the rate of blood flow. For example, because there is less blood flow in fatty tissue the time to saturation is longer. Blood flow to the brain, however, is greater and brain tissues are therefore more quickly saturated. The blood and brain, therefore, are considered fast tissues, and the marrow, cartilage, and fatty tissue are considered slow tissues. The saturation half-time and maximum tolerated inert gas partial pressure (saturation limit) are indices indicative of such tissue differences. Albert Buhlmann, as discussed above, proposes compartmentalizing tissue into 16 different tissue compartments, or tissue types. It should be noted that classification of, these tissue compartments is based on a theoretical classification mathematically approximating changes within the tissues due to pressure, and there is no direct 1:1 correlation between these theoretical tissue compartments and the actual brain, marrow, and other tissues.  
         [0074]    [0074]FIG. 3 is a table showing the saturation half-times Th for the inert gases nitrogen and helium, and the maximum tolerated nitrogen and helium partial pressure M0 in each of these 16 tissue compartments. The tissue compartments COMPn are ranked from 1 to 16 in ascending order from the shortest to highest nitrogen half-time.  
         [0075]    It will be understood from FIG. 3 that as the nitrogen half-time Th increases the maximum tolerated partial pressure M0 decreases, and tissues with a faster half-time Th to saturation have a higher maximum tolerated partial pressure M0.  
         [0076]    The values from this Table 1 shown in FIG. 3 are stored in a tissue compartment table  53   a  in the ROM  53  of dive computer  1 .  
         [0077]    (4) Calculating the in vivo, i.e. Real-Time, Inert Gas Partial Pressure  
         [0078]    Calculating the in vivo nitrogen partial pressure is described below using nitrogen by way of example as the inert gas.  
         [0079]    The general method used by dive computer  1  according to this embodiment of the invention to calculate the in vivo nitrogen partial pressure is known from the literature. See, for example, “Dive Computers, A Consumer&#39;s Guide to History, Theory, and Performance,” Ken Loyst, et al. incorporated herein by reference, Watersport Publishing Inc. (1991) incorporated herein by reference, and particularly page 14 in “Decompression-Decompression Sickness,” A. A. Buhlmann, Springer, Berlin (1984) also incorporated herein by reference. It will be further noted that the method for calculating nitrogen partial pressure described here is by way of example only and other methods may be used.  
         [0080]    First, the inhaled nitrogen partial pressure Pa(t), that is, the partial pressure of nitrogen in the gas mix being breathed by the diver (the “breathing mix” below), is calculated based on depth d(t) at time t from the following equation (1). 
           Pa ( t )=(10+ d ( t ))*(1−FO2)[msw]  (1) 
         [0081]    where FO2 is a number denoting the percentage of oxygen in the breathing mix, and is below referred to as the oxygen ratio. (1−FO2) is a value denoting the percentage of inert gas in the breathing mix, and because it is assumed that the breathing mix contains only oxygen and nitrogen (1−FO2) effectively denotes the percentage of nitrogen in the breathing mix. Note that msw, the unit of inert gas partial pressure, is based on an atmospheric pressure of 10 msw at an altitude of 0 m (i.e., sea level). Equation (1) can therefore be used without modification if the altitude of the water level where the diving takes place is at sea level (0 m), but if diving at an altitude of 800 m or 1600 m, for example, a smaller value should be substituted for the 10 in equation (1).  
         [0082]    Air generally contains nitrogen and oxygen in a volume ratio of approximately 0.79:0.21. Therefore, when a tank is filled with air, this embodiment of the invention uses FO2=0.21.  
         [0083]    It will be further noted that so-called nitrox contains a greater percentage of oxygen than does air, generally having a nitrogen:oxygen volume ratio between 0.68:0.32 and 0.64:0.36. Furthermore, trimix is a breathing mix containing nitrogen, oxygen, and helium with a nitrogen:oxygen:helium volume ratio of 0.34:0.16:0.50.  
         [0084]    After the inhaled nitrogen partial pressure Pa(t) is determined the in vivo, nitrogen partial pressure PGT(t+ 66  t) is calculated for each tissue compartment with a different rate of nitrogen absorption and release.  
         [0085]    Using a given tissue compartment by way of example, the in vivo nitrogen partial pressure PGT(t+ 66  t) absorbed and released from dive time t to time (t+ 66  t) can be calculated from the following equation using the nitrogen partial pressure PGT(t) at computing start time t.  
                     PGT        (     t   +     Δ                 t       )       =              PGT        (   t   )       +       {       P                   a        (   t   )         -     PGT        (   t   )         }     *                            {     1   -     exp        (         -   K     ·   Δ                     t   /   Th       )         }                   (   2   )                               
 
         [0086]    where K is an experimentally determined constant, and Th, is the saturation half-time of the tissue compartment in question. These half-time values are shown in Table 1 (FIG. 3).  
         [0087]    The CPU  51  of dive computer  1  repeatedly performs this calculation of the in vivo nitrogen partial pressure PGT(t) for each tissue compartment at a specific sampling period Δt.  
         [0088]    (5) Calculating the Non-Decompression Limit  
         [0089]    Calculating the non-decompression limit (NDL) is described next.  
         [0090]    The NDL is determining by first calculating the amount of time required to reach each tissue compartment&#39;s maximum tolerated inert gas pressure, M0, and then setting NDL equal to the shortest calculated time among all the tissue compartments since decompression sickness can result from any tissue compartment reaching its M0 value (shown in FIG. 3). Therefore for each tissue compartment, COMPn, a lapse time Δt starting from an initial time t required to reach an in vivo nitrogen partial pressure, PGT(t+ 66  t), equal to its corresponding M0 value, i.e. M0n, (as calculated from equation (2)) is determined. The maximum tolerated inert gas partial pressure M0n for each tissue compartment COMPn is the maximum inert gas partial pressure at which the diver will not experience bubbling at the water surface(i.e. not suffer decompression sickness).  
         [0091]    That is, if in equation (2) PGT(t+ 66  t) is set equal to M0 and one solves the equation for Δt, then 
         Δ t=−Th *(ln(1− f ))/ K   (3) 
         [0092]    where f=(M0−PGT(t))/(Pa(t)−PGT(t)).  
         [0093]    In equation (3), Δt is the NDLn for a particular tissue compartment COMPn. Thus, the NDLn for each tissue compartment, COMPn, is calculated from equation (3), and the lowest NDLn value found is used as the overall system NDL.  
         [0094]    A-2: Operation  
         [0095]    Operation of this dive computer  1  is described next.  
         [0096]    When calculating the in vivo nitrogen partial pressure PGTn for each tissue compartment, COMPn, the dive computer  1  uses a value of 0.693 for K in equation (2). For each of the 16 tissue compartments (COMPn, where “n” is 1−16), its corresponding half-time Th value and corresponding maximum tolerated partial pressure M0 value is read from tissue compartment table  53   a  stored in ROM  53 .  
         [0097]    The sampling frequency (Δt) for calculating in vivo nitrogen partial pressure PGT is one minute in this embodiment of the invention.  
         [0098]    As shown in FIG. 4, the non-decompression limit NDLn for a particular tissue compartment. COMPn is calculated by hypothetically increasing the dive time in one minute increments beginning from when computing starts, and continuing until the nitrogen partial pressure PGT, which increases according to increasing dive time, exceeds the maximum tolerated partial pressure M0. The dive time at which the nitrogen partial pressure PGT for the particular tissue compartment exceeds its maximum tolerated partial pressure M0 is used as the tissue compartment&#39;s non-decompression limit NDLn.  
         [0099]    In other words, to calculate each tissue compartment&#39;s non-decompression limit NDLn, Δt in equation (2) for each tissue compartment is increased in 1-minute units to calculate the nitrogen partial pressure PGT(t+Δt) at time t+Δt, and the value of Δt at which PGT(t+ 66  t)&gt;M0 is set as the tissue compartment&#39;s non-decompression limit NDLn. This method of computation reduces the number of operations required to determine NDLn from M0n as compared to using equation (3).  
         [0100]    It should be noted that this first embodiment of the invention initially sets a maximum non-decompression limit NDL of 200 minutes, and computing stops if this limit is exceeded.  
         [0101]    To reduce the number of operations performed in the first computational pass, the value of (1−exp(−0.693/Th)) in equation (2) (where Δt=1) is pre-calculated for each tissue compartment and stored as a constant in RAM  54 , or alternatively in ROM  53 .  
         [0102]    In addition, the non-decompression limit display value NDLdisp is preset to 200.  
         [0103]    Furthermore, the inhaled nitrogen partial pressure Pa(t) at the dive start time (t=0) and the nitrogen partial pressure PGT 1 (t) to PGT 16 (t) [i.e. PGTn(t)] for tissue compartments  1  to  16  [i.e. COMP 1  to COMP 16  ] (equal to Pa(t)) are pre-calculated using equation (1) and stored as Pa and PGT 1  to PGT 16  in RAM  54 , or alternatively in ROM  53 . The elapsed time since time t=0 is measured by clock unit  68 .  
         [0104]    [0104]FIG. 5 is a flow chart of non-decompression limit NDL computation by the CPU  51  of dive computer  1 .  
         [0105]    CPU  51  performs different operations during its first, second and subsequent passes calculating the non-decompression limit NDL, and these operations are therefore described separately below. The first pass is used to calculate a first, non-decompression limit display time NDLdisp displayed after a dive starts, and presents the calculated NDLdisp value on the display unit  10  of dive computer  1 .  
         [0106]    (1) First Pass  
         [0107]    The CPU  51  references clock unit  68  to determine if one minute has passed since t=0. If one minute has passed (step S 1 =yes), it is time to update, the nitrogen partial pressure PGTn(t) stored in RAM  54 . Nitrogen partial pressure PGT 1  to PGT 16  and inhaled nitrogen partial pressure Pa stored in RAM  54  and the saturation half-time Th stored in ROM  53  are then read, nitrogen partial pressure PGT 1 (1-minute) to PGT 16 (1-minute) are calculated from equation (2), and PGT 1  to PGT 16  in RAM  54  are updated to the calculated values (step S 2 ).  
         [0108]    The CPU  51  then reads each tissue compartment&#39;s nitrogen partial pressure PGTn calculated in step S 2  from RAM  54  and the maximum tolerated partial pressure M0n from ROM  53 , and determines for all tissue compartments if PGTn≦M0n (step S 3 ).  
         [0109]    If PGTn&gt;M0n for any tissue compartment (step S 3  returns no) the diver is in a decompression dive and the CPU  51  runs the decompression diving process (step S 4 ). That is, the non-decompression limit display value NDLdisp is set to 0 and displayed on the display unit  10  of dive computer  1 , and processing ends.  
         [0110]    If PGTn≦M0n for all tissue compartments (step S 3  returns yes), control moves to step S 6 .  
         [0111]    Returning to step S 1 , if one minute has not passed since t=0 (step S 1  returns no), nitrogen partial pressure PGTn(t) is not calculated and the CPU  51  determines if the diver is in a decompression dive (step S 5 ). That is, the CPU  51  detects if the diver was in a decompression dive the last time PGTn(t) was calculated.  
         [0112]    If a decompression dive is detected (step S 5  returns yes), the CPU  51  runs the decompression dive process (step S 4 ). If a decompression dive is not detected (step S 5  returns no), control moves to step S 6 .  
         [0113]    In step S 6  the CPU  51  references pressure measuring unit, i.e. pressure gauge,  61  to get the inhaled nitrogen partial pressure Pa(t), and then determines if this inhaled nitrogen partial pressure Pa(t) and the previous inhaled nitrogen partial pressure Pa stored to RAM  54  are equal (step S 7 ).  
         [0114]    If Pa(t)=PREVIOUS Pa (step S 7  returns yes), CPU  51  determines if it is time to update nitrogen partial pressure PGTn (step S 8 ).  
         [0115]    If it is not time to update nitrogen partial pressure PGTn (step S 8  returns no) (and one minute has not passed since t=0), CPU  51  leaves the non-decompression limit display value NDLdisp in RAM  54  set to its previous display value, 200 (step S 9 ), and the first process pass ends.  
         [0116]    If it is time to update nitrogen partial pressure PGTn (step S 8  returns yes), CPU  51  compares the non-decompression limit display value NDLdisp stored in RAM  54  with 200 (step S 10 ).  
         [0117]    The first time the process runs non-decompression limit display value NDLdisp is set to 200, therefore the comparison NDLdisp≧200 of step S 10  returns no, and control advances to step S 12 .  
         [0118]    In step S 12  the CPU  51  sets the tissue compartment counter COMPn indicating the tissue compartment for which values are to be calculated to 1, and sets the minimum non-decompression limit NDLmin to 200.  
         [0119]    CPU  51  then gets maximum tolerated partial pressure M01 for tissue compartment COMP 1  from the tissue compartment table  53   a  in ROM  53  (step S 13 ), and compares inhaled nitrogen partial pressure Pa(t) with maximum tolerated partial pressure M01 (step S 14 ).  
         [0120]    If Pa(t)&lt;M01 (step S 14  returns yes), the diver will not reach maximum tolerated partial pressure M01 even if he continues breathing the mix at inhaled nitrogen partial pressure Pa(t). CPU  51  therefore sets non-decompression limit NDL 1  to 200 (step S 15 ), and advances to step S 24  to repeat the calculations for the next tissue compartment.  
         [0121]    However, if Pa≧M01 (step S 14  returns no), CPU  51  initializes a working non-decompression limit NDL variable to 0 in step S 16  in order to calculate the non-decompression limit NDLn (i.e. NDL 1 ) for the particular tissue compartment, COMP 1  in the present case.  
         [0122]    Note that this “working non-decompression limit NDL variable” is a variable for temporarily storing values during the computing process.  
         [0123]    CPU  51  then sets nitrogen partial pressure PGT 1 (t) stored in RAM  54  to working PGT 1 (t) (step S 17 ).  
         [0124]    Like working non-decompression limit NDL variable, this “working PGT 1 (t)” is also a variable for temporarily storing values during the computing process.  
         [0125]    CPU  51  then compares working PGT 1 (t) with maximum tolerated partial pressure M01 (step S 18 ).  
         [0126]    Because the non-decompression limit has still not been calculated at this time nitrogen partial pressure PGT 1 (t) and working PGT 1 (t) are equal, and PGT 1 (t)≦M0 because step S 3  or S 5  has already been completed. Step S 18  therefore returns no, control advances to step S 20 , and CPU  51  calculates the non-decompression limit NDLn, i.e. NDL 1 , for COMP 1 .  
         [0127]    That is, using the measured current water pressure and saturation half-time Th for COMP 1  from ROM  53 , CPU  51  calculates the nitrogen partial pressure at the time equal to working non-decompression limit NDL variable plus 1 minute from equation (2), and updates working PGT 1 (t) to the calculated value (step S 20 ). The working non-decompression limit NDL variable is then incremented 1 minute (step S 21 ).  
         [0128]    CPU  51  then compares working non-decompression limit NDL variable with the minimum non-decompression limit NDLmin (step S 22 ). Because minimum non-decompression limit NDLmin is set to 200 at this time, NDL &lt;NDLmin (step S 22  returns no), and the procedure loops to step S 18 .  
         [0129]    In step S 18  CPU  51  again compares working PGT 1 (t) with maximum tolerated partial pressure M01. If working PGT 1 (t) is not greater than M01 (step S 18  returns no), steps S 18  to S 22  repeat until working PGT 1 (t) is greater than maximum tolerated partial pressure M01. When working PGT 1 (t) becomes greater than M01 (step S 18  returns yes), the minimum non-decompression limit NDLmin is set to the value of the working non-decompression limit NDL variable. Also, COMPmin, i.e., the tissue compartment number with the lowest non-decompression limit (the “lowest tissue compartment number” below) is set to the current COMPn, “1” in the present case (step S 19 ). Then, the non-decompression limit NDLn for the current tissue compartment, i.e. NDL 1  in the present case, is set to the value of the working non-decompression limit NDL variable and stored to RAM  54  (step S 23 ), and control advances to step S 24  to run the calculations for the next tissue compartment.  
         [0130]    In step S 24  CPU  51  determines if calculations were completed for all tissue compartments. Because calculations are completed for only the current tissue compartment number (1) at this time (step S 24  returns no), control branches to step S 26 .  
         [0131]    CPU  51  then determines if this was the first time the computing process ran. Because it is (step S 26  returns yes), CPU  51  increments the current tissue compartment counter COMPn by 1 to set the number of the next tissue compartment to process (step S 27 ). Because the tissue compartment counter COMPn is currently 1, the next tissue compartment to be processed is tissue compartment  2  (COMP 2 ).  
         [0132]    CPU  51  then performs the same operation described above from step S 13 , and repeats this operation for all tissue compartments.  
         [0133]    It should be noted that although the working non-decompression limit NDL variable for COMP 1  was less than NDLmin in step S 22 , this was because the minimum non-decompression limit NDLmin was initially set to a default value of 200. It should be noted that the value of NDLmin was changed to COMP 1 &#39;s highest working non-decompression limit NDL value (step  19 ) before processing moved on to COMP 2 . Therefore, When processing tissue compartment COMP 2 , it may happen that the highest value of COMP 2 &#39;s working non-decompression limit NDL variable may be lower than COMP 1 &#39;s, in which case step S 18  will return “yes” before COMP 2 &#39;s NDL value reaches the value of COMP 1 &#39;s NDL as determined by step S 22 . If this is the case, then step S 19  will update NDLmin to be equal to COMP 2 &#39;s NDL value. Therefore, NDLmin will maintain a value equal to the lowest NDLn among all previously processed tissue compartments COMPn. As a result, when processing tissue compartment COMP 2  and above, the minimum non-decompression limit NDLmin will have a value equal to the minimum NDLn value determined during the processing of the tissue compartments prior to the current tissue compartment being processed, and it is possible that for the current tissue compartment, NDL≧NDLmin, which means that the NDL value of the current tissue compartment is higher than a that of a previously processed tissue compartment. If this is the case, then NDLmin remains unchanged (step S 22  returns yes, and step S 19  is skipped).  
         [0134]    If NDL≧NDLnin (step S 22  returns yes) then a non-decompression limit NDLn of a shorter time or the same time was already calculated for a tissue compartment processed before the tissue compartment currently being processed, and minimum non-decompression limit NDLmin will not change even if processing continues. CPU  51  therefore sets working non-decompression limit NDL to non-decompression limit NDLn (step S 23 ), terminates computing for the current tissue compartment, and moves to step S 24  to process the next tissue compartment.  
         [0135]    If all tissue compartments have been processed (step S 24  returns yes), the non-decompression limit display value NDLdisp is set to the value of the minimum non-decompression limit NDLmin and stored to RAM  54  (step S 25 ). The non-decompression limit display value NDLdisp is displayed on display unit  10  of dive computer  1 , and the first process ends.  
         [0136]    Specific examples of the calculations in this first process are shown in FIG. 6.  
         [0137]    In the computations for tissue compartments  1 - 3  (i.e. COMP 1  through COMP 3 ) in this example, the minimum non-decompression limit NDLmin=40 and the lowest tissue compartment number COMPmin is 1, i.e. COMP 1 . However, when calculating tissue compartment COMP 4 , the minimum non-decompression limit NDLmin is changed to  38 , and the lowest tissue compartment number COMPmin is therefore updated to 4, i.e. COMP 4 . Minimum non-decompression limit NDLmin and lowest tissue compartment number COMPmin remain unchanged during the processing of tissue compartments COMP 5 -COMP 16 , and the final value for minimum non-decompression limit NDLmin is  38  and, the final value for lowest tissue compartment number COMPmin is 4, i.e. COMP 4 .  
         [0138]    (2) Second and Subsequent Passes  
         [0139]    Returning to FIG. 5, CPU  51  references the clock unit  68  to determine if one minute has passed since the last time nitrogen partial pressure PGTn stored in RAM  54  was updated, that is, if it is time to update nitrogen partial pressure PGTn (step S 1 ).  
         [0140]    Steps S 2  to S 9  are the same as during the first pass described above.  
         [0141]    If in step S 10  the previous display value NDLdisp&lt;200 (step S 10  returns yes), CPU  51  decrements NDLdisp by one minute. That is, CPU  51  updates the non-decompression limit display value NDLdisp to a value equal to the non-decompression limit display value NDLdisp stored in RAM  54  minus 1 minute (step S 11 ), displays the updated non-decompression limit display value NDLdisp on display unit  10  of dive computer  1 , and ends operation.  
         [0142]    If the previously displayed NDLdisp is not less than 200 (step S 10  returns no), control advances to step S 12 .  
         [0143]    In step S 12  CPU  51  sets COMPn (the tissue compartment to be processed) to the lowest tissue compartment number COMPmin stored to RAM  54  in the previous pass, and sets the minimum non-decompression limit NDLmin to 200.  
         [0144]    The reason lowest tissue COMPn is set to compartment number COMPmin, and calculations therefore start from this tissue compartment, COMPn is there is a high likelihood that the tissue compartment number that had the lowest NDLn value in the previous pass through the computing process will also have the lowest non-decompression limit NDLn in the current pass, and it is therefore more efficient to begin calculations from the tissue compartment COMPn that had the lowest non-decompression limit NPLn in the previously pass.  
         [0145]    For example, if the current process is the second pass and the results from the first pass are as shown in FIG. 6, lowest tissue compartment number COMPmin=4 and tissue compartment COMPn is therefore set to 4, i.e. COMP 4 .  
         [0146]    Steps S 13  to S 25  then proceed as described in the first pass above.  
         [0147]    In step S 26 , CPU  51  checks if the current process pass is the first pass through, and if it is the second or subsequent pass (step S 26  returns no). CPU  51  then selects for processing the tissue compartment COMPn whose saturation half-time is closest to the saturation half-time of the tissue compartment COMPmin, which was previously identified as having the lowest NDLn value, i.e. having NDLmin. In other words, CPU 5  sets COMPn equal to the tissue compartment whose absolute value of the difference between its corresponding saturation half-time and the saturation half-time of lowest tissue compartment number COMPmin (|Δth|=th COMPmin −th n |) is lowest among the not yet processed tissue components (step S 28 ).  
         [0148]    This method of determining the tissue compartment is derived from experience, which provides a rule of thumb specifying that the probability is high that the tissue compartment with a saturation half-time close to the saturation half-time of the tissue compartment that had the lowest non-decompression limit in the previous process cycle, will likely have the lowest non-decompression limit in the next process cycle.  
         [0149]    For example, if the tissue compartment numbers are listed in order from the lowest absolute difference of its saturation half-time to the saturation half-time Th (Th4=18.5 minutes) of the lowest tissue compartment number COMPmin (=COMP 4 ) using the data of FIGS. 3 and 6, the computing sequence becomes: COMPn=3 (Th 3=12.5 min, |Δth|=6 min); COMPn=5 (Th5=27 min, |Δth|=8.5 min); COMPn=2 (Th2=8 min, |Δth|=10.5 min); COMPn=1 (Th1=4 min, |Δth|=14.5 min); COMPn=6 (Th6=38.3 min, |Δth|=19.8 min); COMPn=7 (Th7=54.3 min, |Δth|=35.8 min); COMPn=8 (Th8=77 min, |Δth|=58.5 min), and so on.  
         [0150]    This first embodiment of the present invention thus permits efficient calculation of the overall non-decompression limit NDL for the system by eliminating unnecessary operations as much as possible, by:  
         [0151]    (1) stopping computation when the non-decompression limit NDLn of tissue component being processed reaches the current minimum non-decompression limit NDLmin or reaches a new lower value for the minimum non-decompression limit NDLmin;  
         [0152]    (2) in the second and subsequent passes, determining the tissue compartment COMPn for which the non-decompression limit NDLn is computed next by finding the difference |Δth | between the saturation half-time of each unprocessed tissue compartment and the saturation half-time of the tissue compartment corresponding to the current COMPmin, and selecting the tissue compartment COMPn for which the absolute value of this difference, |Δth|, is smallest;  
         [0153]    (3) not calculating the non-decompression limit NDL when inhaled nitrogen partial pressure Pa is less than the maximum tolerated partial pressure M0;  
         [0154]    (4) skipping the calculations and setting the current non-decompression limit to the previously defined non-decompression limit (step S 9 ) when the current time (when the non-decompression limit was to be calculated) is not the time to update the nitrogen partial pressure (step S 8 ) and the measured inhaled nitrogen partial pressure is equal to the previous inhaled nitrogen partial pressure (step S 7 ); and  
         [0155]    (5) when it is time to update the non-decompression limit NDL (step S 8 =yes), updating the NDL to the previous non-decompression limit minus the time lapse since the last NDL update (i.e. 1 minute in the present example) if the measured inhaled nitrogen partial pressure is equal to the previous inhaled nitrogen partial pressure (step S 7 ) and the previous non-decompression limit is less than the maximum non-decompression limit (200 minutes) (step S 10 ).  
         [0156]    It is therefore possible to reduce the time lag from measuring the water pressure to displaying the non-decompression limit NDL, and more accurate information can therefore be provided for the diver.  
         [0157]    Power consumption is also reduced by reducing the number of calculations. Battery life can therefore be extended, and a smaller dive computer  1  can be achieved.  
         [0158]    By thus providing the diver with accurate information, preventing battery failure while diving as a result of extending battery life, and improving portability by making the dive computer  1  smaller, this embodiment of the present invention helps enable safe diving.  
         [0159]    It should be noted that while the first embodiment of the invention described above runs the calculations in sequence from the lowest tissue compartment number in the first pass described above, any sequence can be used in this first pass because it is still not known which tissue compartment has the lowest non-decompression limit NDL.  
         [0160]    B: Embodiment 2  
         [0161]    B-1: Configuration  
         [0162]    The circuit configuration of this second embodiment is substantially similar to the circuit configuration of the first embodiment other than the program stored to ROM  53 , and further description thereof is thus omitted below.  
         [0163]    B-2:  
         [0164]    The operation of a dive computer  1  according to this second embodiment of the invention is described next below.  
         [0165]    In the first embodiment, as shown in FIG. 7( a ), nitrogen partial pressure PGTn(t) is calculated by hypothetically incrementing the dive time in one minute intervals for each tissue compartment. In this second embodiment as shown in FIG. 7( b ), however, nitrogen partial pressure PGTn(t) is calculated for each tissue compartment each time the dive time is hypothetically incremented by one minute.  
         [0166]    With the method of the first embodiment it therefore takes a total of 14 computations in the first pass to calculate the non-decompression limit NDL, that is, 5 times for tissue compartment  1  and three times each for tissue compartments  2 ,  3 , and  4  as shown in FIG. 7( a ). With the method of this second embodiment as shown in FIG. 7( b ), however, only 10 computations are needed, three each for tissue compartments  1  and  2 , and two each for tissue compartments  3  and  4 .  
         [0167]    As in the first embodiment the computations performed by dive computer  1  use a value of 0.693 for K in equation (2) to determine nitrogen partial pressure PGTn in each tissue compartment. Furthermore, the values read from tissue compartment table  53   a  in ROM  53  are used for the saturation half-times Th n  and maximum tolerated partial pressure M0n of the sixteen tissue compartments, the sampling interval (Δt) for calculating nitrogen partial pressure PGT is 1 minute, the maximum non-decompression limit is 200 minutes, and computing stops when this maximum is exceeded.  
         [0168]    To reduce the number of operations performed in the first pass the value of (1−exp(−0.693/Th)) in equation (2) is pre-calculated for each tissue compartment and stored as a constant in RAM  54 .  
         [0169]    In addition, the non-decompression limit display value NDLdisp is preset to 200.  
         [0170]    Furthermore, the inhaled nitrogen partial pressure Pa(t) at the dive start time (t=0) and the nitrogen partial pressure PGT 1 (t) to PGT 16 (t) for tissue compartments  1  to  16  (equal to Pa(t)) are pre-calculated using equation (1) and stored as Pa and PGT 1  to PGT 16  in RAM  54 . Time passed since time t=0 is measured by the clock unit  68 .  
         [0171]    [0171]FIG. 8 is a flow chart of non-decompression limit NDL computation by the CPU  51  of dive computer  1 .  
         [0172]    CPU  51  performs different operations during the first pass and second and subsequent passes calculating the non-decompression limit NDL, and these operations are therefore described separately below. In the first pass in this embodiment the working non-decompression limit NDL=0, and in the second and subsequent processes the working non-decompression limit NDL is 1 minute or more depending on the number of previous passes.  
         [0173]    Steps S 1 ′ to S 8 ′ are similar to steps S 1  through S 8  of the first embodiment, and further description thereof is thus omitted below. In step S 9 ′ CPU  51  initializes the working non-decompression limit NDL to 0 and initializes the assigned value of the lowest tissue compartment number COMPmin variable to 0.  
         [0174]    (1) First Pass  
         [0175]    In the first pass, step S 10 ′ CPU  51  sets the tissue compartment counter COMPn to the number of the first tissue compartment to process (1).  
         [0176]    CPU  51  then gets the maximum tolerated partial pressure M01 of tissue compartment number  1  from tissue compartment table  53   a  in ROM  53  (step S 11 ′), and determines if the working non-decompression limit NDL is 0 (step S 12 ′).  
         [0177]    Because the working non-decompression limit NDL is 0 in this first pass (step S 12 ′ returns yes), CPU  51  compares inhaled nitrogen partial pressure Pa(t) and maximum tolerated partial pressure M01 (step S 13 ′).  
         [0178]    If Pa(t)≧M01 (step S 13 ′ returns no), CPU  51  sets lowest tissue compartment number COMPmin to the current tissue compartment number (1) for calculating the non-decompression limit NDL (step S 14 ′), and then copies the current nitrogen partial pressure PGT 1 (t) to PGT 16 (t) stored in RAM  54  from all tissue compartments having a tissue compartment number greater than or equal to current value, 1, (that is, all tissue compartments in this case) to corresponding working variables PGT 1 (t) to working PGT 16 (t) (step S 15 ′). CPU  5  also increases the working non-decompression limit NDL variable by 1 minute at step S 24 ′ for the second and subsequent passes.  
         [0179]    However if Pa(t)&lt;M01 (step S 13 ′ returns yes), the diver will not reach maximum tolerated partial pressure M01 even if he continues breathing the mix at inhaled nitrogen partial pressure Pa(t). CPU  51  therefore stops computation for the current tissue compartment number (1), and determines if the calculations have been completed for all tissue compartments in preparation for processing the next tissue compartment (step S 19 ′). Because processing the current tissue compartment  1  has not ended yet (step S 19 ′ returns no), tissue compartment COMP 1  is incremented by one (step S 20 ′), and the process loops back to step S 11 ′ for tissue compartment  2 .  
         [0180]    As long as Pa(t)&lt;M0n in this case, CPU  51  continues looping from step S 11 ′ to S 12 ′ to S 13 ′ to S 19 ′ to S 20 ′ and back to S 11 ′ for all tissue compartments with a tissue compartment number of 2 or higher. Because step S 19 ′ returns yes when running through this loop for the last tissue compartment, CPU  51  advances from step S 19 ′ to step S 21 ′ where it is determined if lowest tissue compartment number COMPmin=0. Because lowest tissue compartment number COMPmin remains set to 0 in this case (step S 21 ′ returns yes), the non-decompression limit display value NDLdisp is set to 200 (step S 23 ′), the non-decompression limit display value NDLdisp is displayed on display unit  10  of dive computer  1 , and the first process ends.  
         [0181]    If while looping through step S 11 ′ to S 12 ′ to S 13 ′ to S 19 ′ to S 20 ′ for each tissue compartment, it is determined in step S 13 ′ for tissue compartment COMPn that Pa≧M0n (step S 13 ′ returns no), CPU  51  sets the lowest tissue compartment number COMPmin equal to the current tissue compartment number COMPn to calculate the non-decompression limit NDL (step S 14 ′). CPU  51  then copies the nitrogen partial pressure PGTn(t) from RAM  54  for tissue compartment numbers greater than or equal to COMPn to their corresponding working PGTn(t) variable (step S 15 ′). Afterwards, CPU  51  increases the working non-decompression limit NDL by 1 minute at step S 24 ′ to run the process the second or subsequent time.  
         [0182]    Because the maximum tolerated partial pressure M0n decreases as the tissue compartment COMPn increases, due to the chosen arrangement of COMPn as shown in tissue compartment table  53   a  of Table 1 (FIG. 3), if Pa≧M0n for any tissue compartment COMPn, then Pa≧M0i for any tissue compartment number COMPi greater than tissue compartment COMPn (where n&lt;i≦16). The comparison in step S 13 ′ is therefore skipped for each subsequent tissue compartment COMPi, and the CPU  51  proceeds to step S 15 ′.  
         [0183]    Calculations are performed in the second and subsequent passes using the process described below for each tissue compartment COMPn greater than or equal to lowest tissue compartment number COMPmin where Pa≧M0n.  
         [0184]    (2) Second and Subsequent Passes  
         [0185]    In step S 24 ′ CPU  51  adds the update time increment, 1 minute, to the working non-decompression limit NDL. Then in step S 10 ′ it sets the next tissue compartment COMPn to be processed equal to the lowest tissue compartment number COMPmin from the previous process stored in RAM  54 .  
         [0186]    Next, CPU  51  reads the maximum tolerated partial pressure M0n for tissue compartment COMPn from tissue compartment table  53   a  in ROM  53  (step S 11 ′), and determines if the working non-decompression limit NDL is 0 (step S 12 ′).  
         [0187]    Because this is the second or subsequent pass and working non-decompression limit NDL is “1 minute” or longer (step S 12 ′ returns no), CPU  51  applies equation (2) to calculate the nitrogen partial pressure at 1 minute after the working non-decompression limit NDL of the previous calculation using the measured current water pressure and saturation half-time Th stored in ROM  53 . It then updates working PGTn(t) to the calculated value (step S 16 ′).  
         [0188]    CPU  51  then compares working PGTn(t) with maximum tolerated partial pressure M0n (step S 17 ′).  
         [0189]    If working PGT 1 (t)&gt;M01 (step S 17 ′ returns yes), the working non-decompression limit NDL at this time is the minimum non-decompression limit NDL. The non-decompression limit display value NDLdisp is therefore updated to working non-decompression limit NDL (step S 18 ′), the udpated non-decompression limit display value NDLdisp is displayed on the display unit  10  of dive computer  1 , and the process ends.  
         [0190]    If working PGT 1 (t)≦M01 (step S 17 ′ returns no), CPU  51  determines if computations have been completed for all tissue compartments (step S 19 ′). If not (step S 19 ′ returns no), COMPn is incremented by 1 (step S 20 ′), and operation continues from step S 11 ′ for the next tissue compartment.  
         [0191]    If calculations are completed for all tissue compartments (step S 19 ′ returns yes), it is determined whether lowest tissue compartment number COMPmin=0 (step S 21 ′). Because lowest tissue compartment number COMPmin has been set to a value greater than 0 in the second and subsequent processes (step S 21 ′ returns no), whether the working non-decompression limit NDL is greater than or equal to 200 is determined (step S 22 ′). If the working NDL is less than 200 (step S 22 ′ returns no), control loops to step S 24 ′ to advance the working NDL and calculate information for tissue compartments greater than or equal to COMPmin.  
         [0192]    However, if working non-decompression limit NDL is 200 or more (step S 22 ′ returns yes), CPU  51  sets non-decompression limit display value NDLdisp to 200 (step S 23 ′), displays the non-decompression limit display value NDLdisp on display unit  10  of dive computer  1 , and ends the process.  
         [0193]    It will thus be apparent that this embodiment of the invention greatly reduces the number of calculations performed by repeatedly hypothetically adding a specific time to the working non-decompression limit NDL, calculating the nitrogen partial pressure PGTn(t) to the incremented working non-decompression limit NDL for each tissue compartment, and defining the working non-decompression limit NDL at which the nitrogen partial pressure PGTn(t) for a given tissue compartment exceeds the maximum tolerated partial pressure M0n as the non-decompression limit NDL to be displayed.  
         [0194]    It should be noted that while a period of 1 minute is used as the update time for nitrogen partial pressure PGT(t) in step S 1 ′ and the update time of working non-decompression limit NDL, this period can be appropriately adjusted with consideration for the speed of the CPU  51  and the required accuracy.  
         [0195]    Furthermore, the maximum non-decompression limit NDL is set to 200 in the preceding embodiments, but can be set to a value other than 200 with consideration for the speed of the CPU  51  and computing requirements.  
         [0196]    C: Variations  
         [0197]    (1) Determining the Tissue Compartment Computing Sequence  
         [0198]    In the first embodiment above the next tissue compartment to process is determined by finding the difference between the saturation half-time Th of lowest tissue compartment number COMPmin and the saturation half-time Th of each unprocessed tissue compartment COMPn, and selecting as the next tissue compartment to process the tissue compartment COMPn for which the absolute value of this difference is smallest. The invention shall not be so limited, however, and other computing sequences considered appropriate based on experience can be used.  
         [0199]    For example, the tissue compartment computing sequence could be determined by alternately subtracting and adding, or adding and subtracting, 1 to the tissue compartment number of the tissue compartment with the lowest calculated non-decompression limit NDL during the previous computing process. If COMPmin=4, for example, then the computing sequence for the second or subsequent process using the subtract-add rule is COMPn=3, COMPn=5, COMPn=2, COMPn=6, COMPn=1, COMPn=7, COMPn=8, COMPn=9 . . . COMPn=16. Using the add-subtract rule, the sequence becomes COMPn=5, COMPn=3, COMPn=6, COMPn=2, COMPn=7, COMPn=1, COMPn=8, COMPn=9 . . . COMPn=16.  
         [0200]    It should be further noted that the tissue compartment numbers in Table 1 are assigned in order from the lowest saturation half-time but could be assigned in order from the highest saturation half-time while still determining the computing sequence as described above.  
         [0201]    (2) Types of Inert Gas  
         [0202]    These preferred embodiments of the invention have been described using nitrogen by way of example as the inert gas, but the invention shall not be so limited and other inert gases such as helium can be used. It should be noted, however, that the saturation half-time Th depends upon the type of inert gas used, and saturation half-times Th for helium are as shown in Table 1.  
         [0203]    To determine the inert gas partial pressure PGT(t) for trimix as noted above the in vivo nitrogen partial pressure and the in vivo helium partial pressure are first separately determined using equation (2). The resulting nitrogen and helium partial pressures are then added together to obtain the total in vivo inert gas partial pressure. The total in vivo inert gas partial pressure is thus determined for a breathing mix having two or more inert gases by separately calculating the value for each inert gas and then simply finding the sum of the results.  
         [0204]    (3) Program Stored in ROM  53   
         [0205]    These preferred embodiments of the invention assume that a program controlling the above-described operations is prestored in ROM  53 . The invention shall not be so limited, however. For example, a personal computer (not shown in the figure) could be connected to and communicate with the dive computer  1  so that the program can be downloaded from the personal computer to the dive computer  1 . In this case the program is preferably written to rewritable non-volatile memory (not shown in the figure), and the CPU  51  reads and runs the program from the rewritable non-volatile memory.  
         [0206]    [Effect of the Invention] 
         [0207]    It will thus be apparent that a data processing apparatus for a diver according to the present invention can efficiently calculate the non-decompression limit indicating how long a diver can dive without needing decompression.  
         [0208]    Although the present invention has been described in connection with the preferred embodiments thereof with reference to the accompanying drawings, it is to be noted that various changes and modifications will be apparent to those skilled in the art. Such changes and modifications are to be understood as included within the scope of the present invention as defined by the appended claims, unless they depart therefrom.