Skip to content
Snippets Groups Projects
Select Git revision
  • 402860f31ffb5ace60e64ccabb76d27c64a33ee0
  • master default protected
  • siv-mode
  • delete-des-compat
  • delete-rsa_blind
  • aes-struct-layout
  • master-updates
  • release-3.4-fixes
  • struct-layout
  • attribute-deprecated
  • rename-data-symbols
  • x86_64-sha_ni-sha256
  • ecc-params-tweak
  • delete-old-aes
  • cmac-support
  • x86_64-sha_ni-sha1
  • gcm-ctr-opt
  • ctr-opt
  • skein
  • api-opaque-fix
  • curve448
  • nettle_3.4.1_release_20181204
  • nettle_3.4.1rc1
  • nettle_3.4_release_20171119
  • nettle_3.4rc2
  • nettle_3.4rc1
  • nettle_3.3_release_20161001
  • nettle_3.2_release_20160128
  • nettle_3.1.1_release_20150424
  • nettle_3.1_release_20150407
  • nettle_3.1rc3
  • nettle_3.1rc2
  • nettle_3.1rc1
  • nettle_3.0_release_20140607
  • nettle_2.7.1_release_20130528
  • nettle_2.7_release_20130424
  • nettle_2.6_release_20130116
  • nettle_2.5_release_20120707
  • converted-master-branch-to-git
  • nettle_2.4_release_20110903
  • nettle_2.3_release_20110902
41 results

dsa-keygen.c

Blame
  • Forked from Nettle / nettle
    Source project has a limited visibility.
    Program.pmod 1.71 KiB
    #pike __REAL_VERSION__
    #pragma strict_types
    
    constant inherit_list = __builtin.inherit_list;
    constant inherits = __builtin.program_inherits;
    constant implements = __builtin.program_implements;
    
    // documented in the C-code.
    string defined(program x,string|void y)
    {
        if( !y ) 
            return __builtin.program_defined(x);
        return __builtin.program_identifier_defined(x,y);
    }
    
    
    //! Enumerate all programs this program inherits, directly or indirectly.
    //! Similar to inherit_tree() but returns a flat array.
    //!
    //! @example
    //!  > class a{}
    //!  > class b{}
    //!  > class c{ inherit a; }
    //!  > class d{ inherit b; inherit c; }
    //!  > Program.inherit_tree(d);
    //!  Result: ({ /* 3 elements */
    //!              b,
    //!              c,
    //!              a
    //!          })
    array(program) all_inherits(program p)
    {
      array(program) ret = inherit_list(p);
      // Iterate over a mutated array to catch all inherits to infinite depth
      for(int e=0;e<sizeof(ret);e++) ret+=inherit_list(ret[e]);
      return ret;
    }
    
    //! Recursively builds a inheritance tree by
    //! fetching programs inheritance lists.
    //!
    //! @returns
    //!  Returns an array with programs or arrays
    //!  as elements.
    //!
    //! @example
    //!  > class a{}
    //!  > class b{}
    //!  > class c{ inherit a; }
    //!  > class d{ inherit b; inherit c; }
    //!  > Program.inherit_tree(d);
    //!  Result: ({ /* 3 elements */
    //!              d,
    //!              ({ /* 1 element */
    //!                  program
    //!              }),
    //!              ({ /* 2 elements */
    //!                  c,
    //!                  ({ /* 1 element */
    //!                      program
    //!                  })
    //!              })
    //!          })
    array inherit_tree(program p)
    {
      return ({ p })+
        Array.map(inherit_list(p),inherit_tree);
    }