rl_entry_t* rl_find_entry( void* data, const char* name ) { rl_header_t* header = (rl_header_t*)data; if ( !( header->runtime_flags & RL_ENDIAN_CONVERTED ) ) { if ( isle() ) { header->num_entries = be32( header->num_entries ); for ( uint32_t i = 0; i < header->num_entries; i++ ) { header->entries[ i ].name_hash = be32( header->entries[ i ].name_hash ); header->entries[ i ].name_offset = be32( header->entries[ i ].name_offset ); header->entries[ i ].data_offset = be32( header->entries[ i ].data_offset ); header->entries[ i ].data_size = be32( header->entries[ i ].data_size ); header->entries[ i ].runtime_flags = 0; } } header->runtime_flags = RL_ENDIAN_CONVERTED; } uint32_t name_hash = djb2( name ); for ( uint32_t i = 0; i < header->num_entries - 1; i++ ) { uint32_t ndx = ( name_hash + i ) % header->num_entries; rl_entry_t* entry = header->entries + ndx; if ( entry->name_hash == name_hash ) { const char* entry_name = (char*)data + entry->name_offset; if ( !strcmp( name, entry_name ) ) { return entry; } } } return NULL; }
int isro(unsigned long int n) { int step,i=0,k=0; /* Conver to String */ len=0; do{ if(n%10==0)return 0; for(i=0;i<len;i++) if(n%10==m[i])return 0; s[len] = 0; m[len++]=n%10; }while(n/=10); k = len*10-1; for(i=0;i<len;i++) { step=m[k%len]; s[k%len]++; k-=step; if(k%len==len-1&&isle())return 1; } return 0; }
namespace nt2 { namespace ext { template<class Dummy> struct call<tag::sqrt_(tag::simd_<tag::uint8_, tag::xop_)), tag::cpu_, Dummy> : callable { template<class Sig> struct result; template<class This,class A0> struct result<This(A0)> : meta::strip<A0>{};// NT2_FUNCTOR_CALL(1) { A0 const na = isnez(a0); A0 n = add(shri(a0, 4), Four<A0>()); A0 n1 = shri(n+a0/n, 1); A0 msk = b_and(isle(n1,n), na); n = select(msk,n1,n); n1 = sqr(n); msk = b_or(isgt(n1,a0), b_and(iseqz(n1), na)); n = seladd( msk, n, Mone<A0>()); return seladd(na, Zero<A0>(), n); } }; } } ///////////////////////////////////////////////////////////////////////////// // Implementation when type A0 is arithmetic_ ///////////////////////////////////////////////////////////////////////////// NT2_REGISTER_DISPATCH(tag::sqrt_, tag::cpu_,