All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jeff Hostetler <git@jeffhostetler.com>
Cc: Wink Saville <wink@saville.com>,
	jeffhost@microsoft.com, Git List <git@vger.kernel.org>,
	Eric Sunshine <sunshine@sunshineco.com>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>
Subject: Re: [RFC PATCH v5 0/8] rebase-interactive
Date: Mon, 26 Mar 2018 22:07:24 -0700	[thread overview]
Message-ID: <xmqqy3ie9kdv.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <d56a60a8-e735-b147-a2e6-4e48461ad701@jeffhostetler.com> (Jeff Hostetler's message of "Mon, 26 Mar 2018 14:22:39 -0400")

Jeff Hostetler <git@jeffhostetler.com> writes:

> I did the uint64_t for the unsigned ns times.
>
> I did the other one for the usual signed ints.
>
> I could convert them both to a single signed 64 bit typed function
> if we only want to have one function.

I still think having sized version is a horrible idea, and recommend
instrad to use "the widest possible on the platform" type, for the
same reason why you would only have variant for double but not for
float.

intmax and uintmax are by definition wide enough to hold any value
that would fit in any integral type the platform supports, so if a
caller that wants to handle 64-bit unsigned timestamp for example
uses uint64_t variable to pass such a timestamp around, and the
platform is capable of groking that code, you should be able to
safely pass that to json serializer you are writing that takes
uintmax_t just fine, and (1) your caller that passes around uint64_t
timestamps won't compile on a platform that is incapable of doing
64-bit and you have bigger problem than uintmax_t being narrower
than 64-bit on such a platform, and (2) your caller can just pass
uint64_t value to your JSON formatter that expects uintmax_t without
explicit casting, as normal integral type promotion rule would
apply.

So I would think it is most sensible to have double, uintmax_t and
intmax_t variants.  If you do not care about the extra value range
that unsigned integral types afford, a single intmax_t variant would
also be fine.


  reply	other threads:[~2018-03-27  5:07 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-23  4:39 [RFC PATCH v4] rebase-interactive Wink Saville
2018-03-23  4:39 ` [RFC PATCH v4] rebase-interactive: Simplify pick_on_preserving_merges Wink Saville
2018-03-23 17:10   ` Johannes Schindelin
2018-03-23  4:39 ` [RFC PATCH v4] rebase: Update invocation of rebase dot-sourced scripts Wink Saville
2018-03-23  6:26   ` Eric Sunshine
2018-03-23 21:01     ` Junio C Hamano
2018-03-23 21:18       ` Eric Sunshine
2018-03-23 17:12   ` Johannes Schindelin
2018-03-23 19:06     ` Wink Saville
2018-03-23 20:51       ` Junio C Hamano
2018-03-23 21:05         ` Wink Saville
2018-03-23 21:25 ` [RFC PATCH v5 0/8] rebase-interactive Wink Saville
2018-03-23 21:34   ` Wink Saville
2018-03-23 22:39     ` Junio C Hamano
2018-03-23 22:54       ` Wink Saville
2018-03-24  5:36         ` Wink Saville
2018-03-26 15:56           ` Junio C Hamano
2018-03-26 17:01             ` Jeff Hostetler
2018-03-26 17:57               ` Junio C Hamano
2018-03-26 18:22                 ` Jeff Hostetler
2018-03-27  5:07                   ` Junio C Hamano [this message]
2018-03-27 10:03                     ` Jeff Hostetler
2018-03-26 18:00               ` Junio C Hamano
2018-03-26 18:33                 ` Jeff Hostetler
2018-03-26 18:43                   ` Wink Saville
2018-03-26 19:37                     ` Junio C Hamano
2018-03-26 22:35                     ` Johannes Schindelin
2018-03-23 22:27   ` Junio C Hamano
2018-03-23 21:25 ` [RFC PATCH v5 1/8] rebase-interactive: simplify pick_on_preserving_merges Wink Saville
2018-03-23 21:25 ` [RFC PATCH v5 2/8] rebase: update invocation of rebase dot-sourced scripts Wink Saville
2018-03-23 21:25 ` [RFC PATCH v5 3/8] Indent function git_rebase__interactive Wink Saville
2018-03-23 22:12   ` Junio C Hamano
2018-03-23 22:52     ` Wink Saville
2018-03-23 23:06       ` Junio C Hamano
2018-03-24  0:01         ` Wink Saville
2018-03-23 21:25 ` [RFC PATCH v5 4/8] Extract functions out of git_rebase__interactive Wink Saville
2018-03-23 22:22   ` Junio C Hamano
2018-03-24  7:20   ` Eric Sunshine
2018-03-23 21:25 ` [RFC PATCH v5 5/8] Add and use git_rebase__interactive__preserve_merges Wink Saville
2018-03-23 21:25 ` [RFC PATCH v5 6/8] Remove unused code paths from git_rebase__interactive Wink Saville
2018-03-23 21:25 ` [RFC PATCH v5 7/8] Remove unused code paths from git_rebase__interactive__preserve_merges Wink Saville
2018-03-23 21:25 ` [RFC PATCH v5 8/8] Remove merges_option and a blank line Wink Saville

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqy3ie9kdv.fsf@gitster-ct.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@jeffhostetler.com \
    --cc=git@vger.kernel.org \
    --cc=jeffhost@microsoft.com \
    --cc=sunshine@sunshineco.com \
    --cc=wink@saville.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.