No announcement yet.

Random With Seed

  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by Steve
    Psssst, this is a secret, PowerBASIC handles 64 bit as REAL8 (64 bit floating point) in SSE2.
    In July 2016 I wrote the engines for Sebastiano Vigna's xorshift128+ and xoroshiro128+ using SSE2.

    I have nothing against FreeBASIC but I agree with Stuart that its infiltration into the PB forum STINKS !!!!
    Read my post #14.

    I should point out that I have posted more code in this forum than the pair of you and you have both been here longer than I have, and I am still at it. I am also in the top twenty of posters at the FreeBASIC forum. I enjoy writing in both languages.

    When I joined the FreeBASIC forum some members welcomed me with open arms. Some other members' immune system attacked me from the outset and have never stopped. I am reminded of a phrase from my home county: "There's nowt so funny as folk"


    • #22
      Originally posted by David Roberts View Post
      I should point out that I have posted more code in this forum than the pair of you
      Quantity is not necessarily synonymous with quality

      What data do you have to support that contention.
      Have you counted up how many lines of code each forum member has posted?
      (I'd be interested to know how many lines of code I've posted in the last 20 years )

      Or perhaps you have a count of the number of posts for each member containing [c o d e] tags?

      (Or are you just basing that claim on the number of posts? )


      • #23
        I have an excellent memory, Stuart.

        No doubt there are others who feel as you and Steve do. No doubt there are others who don't feel as you and Steve do. Like I wrote: "There's nowt so funny as folk".


        • #24
          "If you look at the algorithm you will see that it uses 'wall to wall' uint64_t, ULONGINT in FreeBASIC parlance, which would be a nightmare porting to PowerBASIC. In fact, it would be impossible because the 'key' in the algorithm is generated by a key utility and that produces uint64_t keys."

          Are you sure?
          The algorithm appears to be attempting to shuffle bits using repeated multiplies and then swapping bits over. The resulting bits would be just as "random" as signed or unsigned 64 bit numbers.
          Give it a go and compare the results.

          PB has inline ASM which would be the more obvious choice anyway as this sort of task suits ASM.

          And, just to avoid misleading anyone, if you need to use unsigned 64 bit integers in PB for normal maths calculations then the EXT data type will fully store a 64 bit unsigned value.


          • #25
            Thanks, Paul.

            Your suggestions would make an interesting exercise but the lack of uint64_t is not the only issue. If I listed the other issues, then I would be promoting a rival product, and I am not about to do that.

            I think that others here should look at the algorithm and consider your ideas - I don't have an incentive to do so.

            I don't do much GUI programming in FreeBASIC. I have done using José Roca's WinFBX Framework. That is an amazing piece of work but it is not as easy to use as Dynamic Dialog Tools. Like many here I got into GUI programming with Dynamic Dialog Tools and never progressed into SDK. For GUI work my compiler of choice would be PowerBASIC. For implementing modern PRNGs my compiler of choice would be FreeBASIC. I did not write the PCG32 FreeBASIC dll for the benefit of members here. I wrote it for my benefit because I wanted to use a top quality PRNG in my PowerBASIC applications. Having done that I didn't think twice about making it available to the members here.