From: Bill Findlay <findlaybill@blueyonder.co.uk>
Subject: Re: Creating several types from a base type and conversion
Date: Sat, 18 Jan 2020 18:20:40 +0000
Date: 2020-01-18T18:20:40+00:00 [thread overview]
Message-ID: <0001HW.23D383F80221AAB870000511B2EF@news.individual.net> (raw)
In-Reply-To: qvvaqs$k9p$1@dont-email.me
On 18 Jan 2020, Jeffrey R. Carter wrote (in
article<qvvaqs$k9p$1@dont-email.me>):
> On 1/18/20 3:56 PM, Bill Findlay wrote:
> >
> > Use the type:
> >
> > mod 2**30
> >
> > which provides all the bit handling you need.
>
> Except for shifts and rotations, which most instruction sets provide.
> Shifts can be replaced by multiplication and division by powers of two.
> Rotations are a little more complex.
Or, using GNAT, e.g.:
type word is mod 2**30;
subtype word_shift_length is Natural range 0..30;
function shift_word_left (W : word; amount : word_shift_length)
return KDF9.word;
function shift_word_right (W : word; amount : word_shift_length)
return KDF9.word;
function rotate_word_left (W : word; amount : word_shift_length)
return KDF9.word;
function rotate_word_right (W : word; amount : word_shift_length)
return KDF9.word;
All done.
--
Bill Findlay
next prev parent reply other threads:[~2020-01-18 18:20 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-18 7:32 Creating several types from a base type and conversion Ken Roberts
2020-01-18 12:16 ` Simon Wright
2020-01-18 12:49 ` Ken Roberts
2020-01-18 14:56 ` Bill Findlay
2020-01-18 16:13 ` Jeffrey R. Carter
2020-01-18 18:20 ` Bill Findlay [this message]
2020-01-18 18:32 ` Jeffrey R. Carter
2020-01-18 20:34 ` Simon Wright
2020-01-20 16:38 ` Bill Findlay
2020-01-18 22:20 ` Ken Roberts
2020-01-18 15:09 ` Simon Wright
2020-01-18 22:16 ` Ken Roberts
2020-01-18 22:35 ` Simon Wright
2020-01-18 23:03 ` Ken Roberts
2020-01-18 23:38 ` Simon Wright
2020-01-19 0:12 ` Ken Roberts
2020-01-19 9:37 ` Simon Wright
2020-01-19 11:48 ` AdaMagica
2020-01-19 14:51 ` Simon Wright
2020-01-19 15:24 ` Niklas Holsti
2020-01-19 16:11 ` Optikos
2020-01-19 0:33 ` Ken Roberts
2020-01-19 0:07 ` Niklas Holsti
2020-01-18 15:47 ` Simon Wright
2020-01-21 21:35 ` Shark8
2020-01-21 23:06 ` Niklas Holsti
2020-01-22 1:08 ` Ken Roberts
2020-01-22 14:18 ` Ken Roberts
2020-01-22 8:37 ` Simon Wright
2020-01-22 14:32 ` Shark8
2020-01-22 15:40 ` Simon Wright
2020-01-18 14:17 ` Optikos
2020-01-18 17:57 ` Niklas Holsti
2020-01-18 22:59 ` Ken Roberts
2020-01-19 0:30 ` Niklas Holsti
2020-01-19 1:07 ` Ken Roberts
2020-01-19 3:37 ` Ken Roberts
2020-01-23 21:39 ` Optikos
2020-01-24 9:35 ` Ken Roberts
2020-01-24 10:04 ` AdaMagica
2020-01-24 12:38 ` Optikos
2020-01-24 15:01 ` Ken Roberts
2020-01-24 15:22 ` Simon Wright
2020-01-24 15:40 ` Ken Roberts
2020-01-24 15:54 ` Simon Wright
2020-01-25 10:37 ` Ken Roberts
2020-01-25 10:44 ` Ken Roberts
2020-01-25 20:26 ` Shark8
2020-01-27 14:10 ` Ken Roberts
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox