# File lib/bson/bson_ruby.rb, line 440
    def serialize_number_element(buf, key, val, type)
      if type == NUMBER
        buf.put(type)
        self.class.serialize_key(buf, key)
        buf.put_double(val)
      else
        if val > INT64_MAX or val < INT64_MIN
          raise RangeError.new("MongoDB can only handle 8-byte ints")
        end
        if val > INT32_MAX or val < INT32_MIN
          buf.put(NUMBER_LONG)
          self.class.serialize_key(buf, key)
          buf.put_long(val)
        else
          buf.put(type)
          self.class.serialize_key(buf, key)
          buf.put_int(val)
        end
      end
    end