• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ calcHash函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中calcHash函数的典型用法代码示例。如果您正苦于以下问题:C++ calcHash函数的具体用法?C++ calcHash怎么用?C++ calcHash使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了calcHash函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: load

	void load(uint32 offset) {
		byte *item = getData(offset);
		id = offset;
		// Only save the hashes instead of the full names
		bgFilename1 = calcHash(getStringP(READ_LE_UINT32(item + 0)));
		bgFilename2 = calcHash(getStringP(READ_LE_UINT32(item + 4)));
		txFilename = calcHash(getStringP(READ_LE_UINT32(item + 8)));
		bgFilename3 = calcHash(getStringP(READ_LE_UINT32(item + 12)));
		xPosIndex = item[16];
		count = item[17];
	}
开发者ID:MaddTheSane,项目名称:scummvm,代码行数:11,代码来源:create_neverhood.cpp


示例2: calcHMac

STATIC bool calcHMac(const SecureStorageS *storage, unsigned char *caData) {
  unsigned char tmpHash[SHA256_LEN], hash[SHA256_LEN];
  int16_t len = 0;
  int16_t secretLen = 0;

  if (storage == NULL) {
    assert(LIB_NAME "Storage structure must not be NULL" && (false || Storage_TestMode));
    return false;
  }
  memset(hash, 0, SHA256_LEN);
  calcHash(storage, hash);
  if (SECURE_DEBUG) {
    Utils_PrintHexStr(stderr, "Base hash:", hash, SHA256_LEN);
  }
  Utils_GetCharArrayLen(storage->caSalt, &len, MIN_SALT_LEN, KEY_VAL_MAX_STR_LEN);

  if (Utils_GetCharArrayLen(storage->caSecret, &secretLen, KEY_VAL_MIN_STR_LEN, KEY_VAL_MAX_STR_LEN) == false) {
    return false;
  }
  if (Crypto_CalcHmac(&(storage->caSecret[UTILS_STR_LEN_SIZE]), secretLen, storage->caSalt, len + UTILS_STR_LEN_SIZE, tmpHash) == false)
    return false;
  calcHashXor(hash, tmpHash, SHA256_LEN);
  memcpy(caData + UTILS_STR_LEN_SIZE, hash, SHA256_LEN);
  Utils_SetCharArrayLen(caData, SHA256_LEN);
  caData[SIGN_LEN] = 0;
  return true;
}
开发者ID:ibm-security-innovation,项目名称:libsecurity-c,代码行数:27,代码来源:secureStorage.c


示例3: arrayAtIdentityHashInPairs

int arrayAtIdentityHashInPairs(PyrObject *array, PyrSlot *key)
{
	PyrSlot *slots, *test;
	unsigned int i, start, end, hash, maxHash;

	hash = calcHash(key);
	maxHash = array->size >> 1;
	start = (hash % maxHash) << 1;
	end = array->size;
	slots = array->slots;
	for (i=start; i<end; i+=2) {
		test = slots + i;
		if (IsNil(test) || (test->utag == key->utag && test->ui == key->ui)) {
			return i;
		}
	}
	end = start - 2;
	for (i=0; i<=end; i+=2) {
		test = slots + i;
		if (IsNil(test) || (test->utag == key->utag && test->ui == key->ui)) {
			return i;
		}
	}
	return -2;
}
开发者ID:scztt,项目名称:sc-debug,代码行数:25,代码来源:PyrListPrim.cpp


示例4: Entity

Palette::Palette(NeverhoodEngine *vm, const char *filename) : Entity(vm, 0) {
	PaletteResource paletteResource(_vm);
	init();
	paletteResource.load(calcHash(filename));
	paletteResource.copyPalette(_palette);
	SetUpdateHandler(&Palette::update);
}
开发者ID:jaeyeonkim,项目名称:scummvm-kor,代码行数:7,代码来源:palette.cpp


示例5: startAnimation

void AsScene1308JaggyDoor::stCloseDoor() {
	startAnimation(0xBA0AE050, -1, -1);
	_playBackwards = true;
	setVisible(true);
	playSound(0, calcHash("fxDoorClose38"));
	NextState(&AsScene1308JaggyDoor::stCloseDoorDone);
}
开发者ID:jaeyeonkim,项目名称:scummvm-kor,代码行数:7,代码来源:module1300_sprites.cpp


示例6: find

	long find(float * const &vertex, const unsigned int &size, float * const &vertices, unsigned int * const &hashes, const unsigned int &count) {
		const unsigned int hash = calcHash(vertex, size);
		for (unsigned int i = 0; i < count; i++)
			if (hashes[i] == hash && compare(&vertices[i*size], vertex, size))
				return (long)i;
		return -1;
	}
开发者ID:0302zq,项目名称:libgdx,代码行数:7,代码来源:com.badlogic.gdx.utils.BufferUtils.cpp


示例7: insert

void insert(IntHashMap* m, int32_t value, u_int64_t count)
{
	u_int32_t hash = calcHash(m->module, value);
	
	u_int32_t c;
	u_int32_t h = hash;
	for(c = 0; c < m->maxDups; c++, h += m->module)
	{
		if(m->hash2count[h] == 0)
		{
			if(c == 0)
			{
				m->idx2hash[m->numPlaces] = hash;
				m->numPlaces++;
			}
			m->numEntries++;
			m->hash2value[h] = value;
		}
		
		if(m->hash2value[h] == value)
		{
			m->hash2count[h] += count;
			return;
		}
	}
	int x = 3;
	int y = 0;
	printf("%d\n", x/y);
	err(-1, "No more places left to store inserted value %d with hash %d!\n", value, hash);
}
开发者ID:schiermike,项目名称:algo_puzzles,代码行数:30,代码来源:abcdef.c


示例8: calcHash

StringValue *StringTable::lookup(const char *s, size_t length)
{
    const hash_t hash = calcHash(s, length);
    const size_t i = findSlot(hash, s, length);
    // printf("lookup %.*s %p\n", (int)length, s, table[i].value ?: NULL);
    return getValue(table[i].vptr);
}
开发者ID:AlexBezzubenko,项目名称:dmd,代码行数:7,代码来源:stringtable.c


示例9: imagem

QString BD::calcHash(QString nomeImagem) const
{
	QImage imagem(nomeImagem);
	if (imagem.isNull())
		return QString();
	else
		return calcHash(imagem);
}
开发者ID:tureba,项目名称:CBIR,代码行数:8,代码来源:BD.cpp


示例10: insertFile

void insertFile(char name[], struct linknode **hashTable)
{
	int hash;
	char init;
	init = name[0];
	hash = calcHash(init);
	hashTable[hash] = insertNode(hashTable[hash], name);
}
开发者ID:sagar13,项目名称:temp,代码行数:8,代码来源:hash.c


示例11: deleteFile

void deleteFile(char name[], struct linknode **hashTable)
{
	int hash;
	char init;
	init = name[0];
	hash = calcHash(init);
	hashTable[hash] = deleteNode(hashTable[hash], name);
}
开发者ID:sagar13,项目名称:temp,代码行数:8,代码来源:hash.c


示例12: calcHash

StringEntry *StringEntry::alloc(const char *s, size_t len)
{
    StringEntry *se;

    se = (StringEntry *) mem.calloc(1,sizeof(StringEntry) + len + 1);
    se->value.ctor(s, len);
    se->hash = calcHash(s,len);
    return se;
}
开发者ID:AlbertLkn,项目名称:dmd,代码行数:9,代码来源:stringtable.c


示例13: run

static void run() {
	int lineN;

	scanf("%d", &lineN);
	for (int line = 0; line < lineN; ++line) {
		int command;
		int parentId, childId, elementId;
		int height, width;
		int hash, resultHash;

		Element element;

		scanf("%d", &command);
		switch (command) {
		case INIT:
			scanf("%d", &expected);
			init();
			break;
		case CREATE:
			scanf("%d %d", &elementId, &(element.type));
			readElement(&element);
			id[elementId] = create(&element);
			break;
		case ADD:
			scanf("%d %d", &parentId, &childId);
			add(id[parentId], id[childId]);
			break;
		case SHOW:
			scanf("%d %d %d %d", &elementId, &height, &width, &hash);
			show(id[elementId], screen);
			resultHash = calcHash(screen, height, width);

#if 0
			printf ("Expected W %d H %d\n", width, height);
			for (int y = 0; y < height; ++y)
			{
				for (int x = 0; x < width; ++x)
					printf("%c", screen[y][x]);
				printf("\n");
			}
#endif

			if (resultHash == hash)
			{
				point++;
	//			printf ("%d \n", point);
			}
			else
			{
				printf("FAILED %d %d\n", hash, resultHash);
				exit (0);
				return;
			}
			break;
		}
	}
}
开发者ID:rahuljain81,项目名称:Algorithms,代码行数:57,代码来源:Prof_22July_main.cpp


示例14: calcHash

uint Utils::calcHash(const QString &str)
{
    if(str.isNull())  // handle null string as "", prevents crash
        return calcHash("");
    const char *s = str.ascii();
    uint hash = 5381;
    int c;
    while((c = *s++)) hash = ((hash << 5) + hash) + c;      // hash*33 + c
    return hash;
}
开发者ID:serghei,项目名称:kde3-kdepim,代码行数:10,代码来源:utils.cpp


示例15: calcHash

unsigned int DocumentSource::hash() const
{
    if (!d->calculatedHash)
    {
        d->hash = calcHash(d->array);
        d->calculatedHash = true;
    }
    
    return d->hash;
}
开发者ID:pvuorela,项目名称:kcalcore,代码行数:10,代码来源:documentsource.cpp


示例16: prEvent_IsRest

int prEvent_IsRest(struct VMGlobals *g, int numArgsPushed)
{
	PyrSlot *dictslots = slotRawObject(g->sp)->slots;
	PyrSlot *arraySlot = dictslots + ivxIdentDict_array;

	if (isKindOfSlot(arraySlot, class_array)) {
		PyrSlot key, typeSlot;
		static PyrSymbol *s_type = getsym("type");
		static PyrSymbol *s_rest = getsym("rest");
		PyrSymbol *typeSym;
		// test 'this[\type] == \rest' first
		SetSymbol(&key, s_type);
		identDict_lookup(slotRawObject(g->sp), &key, calcHash(&key), &typeSlot);
		if(!slotSymbolVal(&typeSlot, &typeSym) && typeSym == s_rest) {
			SetBool(g->sp, 1);
			return errNone;
		} else {
			PyrObject *array = slotRawObject(arraySlot);
			PyrSymbol *slotSym;
			static PyrSymbol *s_empty = getsym("");
			static PyrSymbol *s_r = getsym("r");
			static PyrClass *class_rest = getsym("Rest")->u.classobj;
			static PyrClass *class_metarest = getsym("Meta_Rest")->u.classobj;
			PyrSlot *slot;
			int32 size = array->size;
			int32 i;

			slot = array->slots + 1;  // scan only the odd items

			for (i = 1; i < size; i += 2, slot += 2) {
				if (isKindOfSlot(slot, class_rest)
				    || isKindOfSlot(slot, class_metarest)
				) {
					SetBool(g->sp, 1);
					return errNone;
				} else if(!slotSymbolVal(slot, &slotSym)) {
					if(slotSym == s_empty
						|| slotSym == s_r
						|| slotSym == s_rest
					) {
						SetBool(g->sp, 1);
						return errNone;
					}
				}  // why no 'else'?
				// slotSymbolVal nonzero return = not a symbol;
				// non-symbols don't indicate rests, so, ignore them.
			}
		}
	} else {
		return errWrongType;
	}

	SetBool(g->sp, 0);
	return errNone;
}
开发者ID:fsateler,项目名称:supercollider,代码行数:55,代码来源:PyrListPrim.cpp


示例17: setVisible

void AsScene2402Door::update() {
	if (_isOpen && _countdown != 0 && (--_countdown) == 0) {
		_isOpen = false;
		setVisible(true);
		startAnimation(0x80495831, -1, -1);
		_playBackwards = true;
		playSound(0, calcHash("fxDoorClose38"));
		NextState(&AsScene2402Door::stDoorClosingFinished);
	}
	AnimatedSprite::update();
}
开发者ID:jaeyeonkim,项目名称:scummvm-kor,代码行数:11,代码来源:module2400_sprites.cpp


示例18: calcHash

inline Hvl calcHash(C const * theCs)
{
	WatchError
	Hvl tHvl = 0;
	while(*theCs)
	{
		tHvl = mixHash(tHvl, calcHash(*theCs));
		++theCs;
	}
	return tHvl;
	CatchError
}
开发者ID:swakkhar,项目名称:kangaroo,代码行数:12,代码来源:hsh.hpp


示例19: clear

    void clear()
    {
      for(auto i : myElements) delete i;
      myElements.clear();
//       myMeta.clear();
      myTemp = 294.15; // Kelvins = 21c
      myPressure = 101325; // pascals
      myVolume = 0;
      myGeneratedFlag = false;
      mySeenFlag = false;
      myCachedHash = calcHash();
    }
开发者ID:voodooattack,项目名称:ADWIF,代码行数:12,代码来源:mapcell.hpp


示例20: prEvent_Delta

int prEvent_Delta(struct VMGlobals *g, int numArgsPushed)
{
	PyrSlot *a, key, dur, stretch, delta;
	double fdur, fstretch;
	int err;

	a = g->sp;  // dict

	SetSymbol(&key, s_delta);
	identDict_lookup(slotRawObject(a), &key, calcHash(&key), &delta);

	if (NotNil(&delta)) {
		slotCopy(a,&delta);
	} else {
		SetSymbol(&key, s_dur);
		identDict_lookup(slotRawObject(a), &key, calcHash(&key), &dur);

		err = slotDoubleVal(&dur, &fdur);
		if (err) {
			if (NotNil(&dur)) return err;
			SetNil(a);
			return errNone;
		}

		SetSymbol(&key, s_stretch);
		identDict_lookup(slotRawObject(a), &key, calcHash(&key), &stretch);

		err = slotDoubleVal(&stretch, &fstretch);
		if (err) {
			if (NotNil(&stretch)) return err;
			SetFloat(a, fdur);
			return errNone;
		}

		SetFloat(a, fdur * fstretch );
	}

	return errNone;
}
开发者ID:DSastre,项目名称:supercollider,代码行数:39,代码来源:PyrListPrim.cpp



注:本文中的calcHash函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ calcSize函数代码示例发布时间:2022-05-30
下一篇:
C++ calcDataHash函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap