Is there're a way to seed Swift 4.2 random number generator





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







3















I like the new Swift 4.2 RandomNumberGenerator thing, but I don't see a seed possibility there. Am I missing something, or is there any way at all to seed these generators, by maybe calling an underlying low-level function? I have a lot of code, which uses default number generators on default number types, and I now need to make sure that everything behaves exactly the same between launches with as little code changes as possible.










share|improve this question





























    3















    I like the new Swift 4.2 RandomNumberGenerator thing, but I don't see a seed possibility there. Am I missing something, or is there any way at all to seed these generators, by maybe calling an underlying low-level function? I have a lot of code, which uses default number generators on default number types, and I now need to make sure that everything behaves exactly the same between launches with as little code changes as possible.










    share|improve this question

























      3












      3








      3


      1






      I like the new Swift 4.2 RandomNumberGenerator thing, but I don't see a seed possibility there. Am I missing something, or is there any way at all to seed these generators, by maybe calling an underlying low-level function? I have a lot of code, which uses default number generators on default number types, and I now need to make sure that everything behaves exactly the same between launches with as little code changes as possible.










      share|improve this question














      I like the new Swift 4.2 RandomNumberGenerator thing, but I don't see a seed possibility there. Am I missing something, or is there any way at all to seed these generators, by maybe calling an underlying low-level function? I have a lot of code, which uses default number generators on default number types, and I now need to make sure that everything behaves exactly the same between launches with as little code changes as possible.







      ios swift random random-seed swift4.2






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 17 '18 at 4:56









      user3537411user3537411

      70421021




      70421021
























          2 Answers
          2






          active

          oldest

          votes


















          4














          The whole idea of the new architecture is that any generator can be substituted just by adopting the RandomNumberGenerator protocol. So if you need a repeatable seed, use your own random generator algorithm.






          share|improve this answer

































            4














            If you want reproducibility via explicit seeding you can use the GameplayKit implementation of Mersenne Twister:



            import Cocoa
            import GameplayKit

            let mt = GKMersenneTwisterRandomSource.init(seed: 12345)

            for _ in (1...5) {
            print(mt.nextUniform())
            }





            share|improve this answer
























              Your Answer






              StackExchange.ifUsing("editor", function () {
              StackExchange.using("externalEditor", function () {
              StackExchange.using("snippets", function () {
              StackExchange.snippets.init();
              });
              });
              }, "code-snippets");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "1"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53348370%2fis-therere-a-way-to-seed-swift-4-2-random-number-generator%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              4














              The whole idea of the new architecture is that any generator can be substituted just by adopting the RandomNumberGenerator protocol. So if you need a repeatable seed, use your own random generator algorithm.






              share|improve this answer






























                4














                The whole idea of the new architecture is that any generator can be substituted just by adopting the RandomNumberGenerator protocol. So if you need a repeatable seed, use your own random generator algorithm.






                share|improve this answer




























                  4












                  4








                  4







                  The whole idea of the new architecture is that any generator can be substituted just by adopting the RandomNumberGenerator protocol. So if you need a repeatable seed, use your own random generator algorithm.






                  share|improve this answer















                  The whole idea of the new architecture is that any generator can be substituted just by adopting the RandomNumberGenerator protocol. So if you need a repeatable seed, use your own random generator algorithm.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Nov 17 '18 at 5:21

























                  answered Nov 17 '18 at 5:05









                  mattmatt

                  337k48553751




                  337k48553751

























                      4














                      If you want reproducibility via explicit seeding you can use the GameplayKit implementation of Mersenne Twister:



                      import Cocoa
                      import GameplayKit

                      let mt = GKMersenneTwisterRandomSource.init(seed: 12345)

                      for _ in (1...5) {
                      print(mt.nextUniform())
                      }





                      share|improve this answer




























                        4














                        If you want reproducibility via explicit seeding you can use the GameplayKit implementation of Mersenne Twister:



                        import Cocoa
                        import GameplayKit

                        let mt = GKMersenneTwisterRandomSource.init(seed: 12345)

                        for _ in (1...5) {
                        print(mt.nextUniform())
                        }





                        share|improve this answer


























                          4












                          4








                          4







                          If you want reproducibility via explicit seeding you can use the GameplayKit implementation of Mersenne Twister:



                          import Cocoa
                          import GameplayKit

                          let mt = GKMersenneTwisterRandomSource.init(seed: 12345)

                          for _ in (1...5) {
                          print(mt.nextUniform())
                          }





                          share|improve this answer













                          If you want reproducibility via explicit seeding you can use the GameplayKit implementation of Mersenne Twister:



                          import Cocoa
                          import GameplayKit

                          let mt = GKMersenneTwisterRandomSource.init(seed: 12345)

                          for _ in (1...5) {
                          print(mt.nextUniform())
                          }






                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Nov 17 '18 at 20:21









                          pjspjs

                          13.4k41641




                          13.4k41641






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53348370%2fis-therere-a-way-to-seed-swift-4-2-random-number-generator%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Xamarin.iOS Cant Deploy on Iphone

                              Glorious Revolution

                              Dulmage-Mendelsohn matrix decomposition in Python