/[eiffelstudio]/FreeELKS/trunk/library/kernel/natural_64_ref.e
ViewVC logotype

Diff of /FreeELKS/trunk/library/kernel/natural_64_ref.e

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 91476 by ericb, Tue Jan 10 13:22:04 2006 UTC revision 91477 by ericb, Sun Jan 14 09:47:13 2007 UTC
# Line 73  feature -- Access Line 73  feature -- Access
73          ascii_char: CHARACTER is          ascii_char: CHARACTER is
74                          -- Returns corresponding ASCII character to `item' value.                          -- Returns corresponding ASCII character to `item' value.
75                  obsolete                  obsolete
76                          "Use to_character instead"                          "Use to_character_8 instead"
77                  require                  require
78                          valid_character_code: is_valid_character_code                          valid_character_code: is_valid_character_8_code
79                  do                  do
80                          Result := item.to_character                          Result := item.to_character_8
81                  end                  end
82    
83          Min_value: NATURAL_64 is 0          Min_value: NATURAL_64 is 0
# Line 111  feature -- Element change Line 111  feature -- Element change
111    
112  feature -- Status report  feature -- Status report
113    
114          divisible (other: NATURAL_64_REF): BOOLEAN is          divisible (other: like Current): BOOLEAN is
115                          -- May current object be divided by `other'?                          -- May current object be divided by `other'?
116                  do                  do
117                          Result := other.item /= 0                          Result := other.item /= 0
# Line 149  feature -- Status report Line 149  feature -- Status report
149                  end                  end
150    
151          is_valid_character_code: BOOLEAN is          is_valid_character_code: BOOLEAN is
152                            -- Does current object represent a CHARACTER_8?
153                    obsolete
154                            "Use `is_valid_character_8_code' instead."
155                    do
156                            Result := is_valid_character_8_code
157                    end
158    
159            is_valid_character_8_code: BOOLEAN is
160                            -- Does current object represent a CHARACTER_8?
161                    do
162                            Result := item >= {CHARACTER_8}.Min_value.to_natural_64 and
163                                    item <= {CHARACTER_8}.Max_value.to_natural_64
164                    end
165    
166            is_valid_character_32_code: BOOLEAN is
167                          -- Does current object represent a character?                          -- Does current object represent a character?
168                  do                  do
169                          Result := item >= {CHARACTER}.Min_value.to_natural_64 and                          Result := item >= {CHARACTER_32}.Min_value and
170                                  item <= {CHARACTER}.Max_value.to_natural_64                                  item <= {CHARACTER_32}.Max_value
171                  end                  end
172    
173  feature -- Basic operations  feature -- Basic operations
# Line 272  feature -- Conversion Line 287  feature -- Conversion
287                  do                  do
288                          Result := item.as_natural_32                          Result := item.as_natural_32
289                  end                  end
290            
291          as_natural_64: NATURAL_64 is          as_natural_64: NATURAL_64 is
292                          -- Convert `item' into an NATURAL_64 value.                          -- Convert `item' into an NATURAL_64 value.
293                  do                  do
# Line 284  feature -- Conversion Line 299  feature -- Conversion
299                  do                  do
300                          Result := item.as_integer_8                          Result := item.as_integer_8
301                  end                  end
302                    
303          as_integer_16: INTEGER_16 is          as_integer_16: INTEGER_16 is
304                          -- Convert `item' into an INTEGER_16 value.                          -- Convert `item' into an INTEGER_16 value.
305                  do                  do
# Line 326  feature -- Conversion Line 341  feature -- Conversion
341                  do                  do
342                          Result := as_natural_32                          Result := as_natural_32
343                  end                  end
344            
345          frozen to_natural_64: NATURAL_64 is          frozen to_natural_64: NATURAL_64 is
346                          -- Convert `item' into an NATURAL_64 value.                          -- Convert `item' into an NATURAL_64 value.
347                  do                  do
# Line 356  feature -- Conversion Line 371  feature -- Conversion
371                  do                  do
372                          Result := as_integer_32                          Result := as_integer_32
373                  end                  end
374            
375          frozen to_integer_64: INTEGER_64 is          frozen to_integer_64: INTEGER_64 is
376                          -- Convert `item' into an INTEGER_64 value.                          -- Convert `item' into an INTEGER_64 value.
377                  require                  require
# Line 394  feature -- Conversion Line 409  feature -- Conversion
409                          loop                          loop
410                                  a_digit := (val & 0x0F).to_integer_32                                  a_digit := (val & 0x0F).to_integer_32
411                                  Result.put (a_digit.to_hex_character, i)                                  Result.put (a_digit.to_hex_character, i)
412                                  val := val |>> 4                                  val := val |>> 4
413                                  i := i - 1                                  i := i - 1
414                          end                          end
415                  ensure                  ensure
# Line 411  feature -- Conversion Line 426  feature -- Conversion
426                  do                  do
427                          tmp := item.to_integer_32                          tmp := item.to_integer_32
428                          if tmp <= 9 then                          if tmp <= 9 then
429                                  Result := (tmp + ('0').code).to_character                                  Result := (tmp + ('0').code).to_character_8
430                          else                          else
431                                  Result := (('A').code + (tmp - 10)).to_character                                  Result := (('A').code + (tmp - 10)).to_character_8
432                          end                          end
433                  ensure                  ensure
434                          valid_character: ("0123456789ABCDEF").has (Result)                          valid_character: ("0123456789ABCDEF").has (Result)
# Line 421  feature -- Conversion Line 436  feature -- Conversion
436    
437          to_character: CHARACTER is          to_character: CHARACTER is
438                          -- Returns corresponding ASCII character to `item' value.                          -- Returns corresponding ASCII character to `item' value.
439                    obsolete
440                            "Use `to_character_8' instead."
441                    require
442                            valid_character: is_valid_character_8_code
443                    do
444                            Result := item.to_character_8
445                    end
446    
447            to_character_8: CHARACTER_8 is
448                            -- Associated character in 8 bit version.
449                  require                  require
450                          valid_character: is_valid_character_code                          valid_character: is_valid_character_8_code
451                  do                  do
452                          Result := item.to_character                          Result := item.to_character_8
453                    end
454    
455            to_character_32: CHARACTER_32 is
456                            -- Associated character in 32 bit version.
457                    require
458                            valid_character: is_valid_character_32_code
459                    do
460                            Result := item.to_character_32
461                  end                  end
462    
463  feature -- Bit operations  feature -- Bit operations
# Line 502  feature -- Bit operations Line 535  feature -- Bit operations
535                                  Result := bit_shift_right (n)                                  Result := bit_shift_right (n)
536                          else                          else
537                                  Result := bit_shift_left (- n)                                  Result := bit_shift_left (- n)
538                          end                              end
539                  end                  end
540    
541          bit_shift_left (n: INTEGER): like Current is          bit_shift_left (n: INTEGER): like Current is

Legend:
Removed from v.91476  
changed lines
  Added in v.91477

  ViewVC Help
Powered by ViewVC 1.1.23