URL:
  <http://savannah.nongnu.org/bugs/?44306>

                 Summary: Redundancy between rand_r() and do_rand()
                 Project: AVR C Runtime Library
            Submitted by: None
            Submitted on: jeu. 19 févr. 2015 09:30:50 UTC
                Category: Library
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: libc code
                  Status: None
        Percent Complete: 0%
             Assigned to: None
        Originator Email: li...@edgar-bonet.org
             Open/Closed: Open
         Discussion Lock: Any
                 Release: Any
           Fixed Release: None

    _______________________________________________________

Details:

In libc/stdlib/rand.c, the functions rand_r() and do_rand() are
redundant relative to each other. I suggest the following:

  - remove rand_r(),
  - remove the "static" attribute from do_rand(),
  - rename do_rand() -> rand_r(),
  - have rand() call rand_r() instead of do_rand().

This should save 4 bytes of flash on every program using rand() or
rand_r(). It should also save 2 bytes of stack and 7 clock cycles on
calls to rand_r(), more if __AVR_3_BYTE_PC__.

Same thing for random_r() and do_random() in libc/stdlib/random.c.




    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?44306>

_______________________________________________
  Message posté via/par Savannah
  http://savannah.nongnu.org/


_______________________________________________
AVR-libc-dev mailing list
AVR-libc-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-libc-dev

Reply via email to