Esempio n. 1
0
//整体除法接口
UINT32 galois_single_divide(UINT32 x,UINT32 y,UINT32 w)//整体除法接口
{
	UINT32 sindex,res;
	if(x==0) return 0;
	if(y==0) return FALSE;
	sindex=mult_type[w];
	switch(sindex)
	{
	case TABLE:
		//检测divable的情况
		if(galois_div_tables[w]==NULL)//如果不存在
		{
			res=galois_multtable_create(w);
			if(res==FALSE)//生成失败
			{
				show_error("galois","divide","tablecreatefail");
				return FALSE;
			}
		}
		return galois_multtable_divide(x,y,w);
		break;
	case LOGS:
		if(galois_log_tables[w]==NULL)
		{
			res=galois_logtable_create(w);
			if(res==FALSE)
			{
				show_error("galois","logtables","toobig");
				return FALSE;
			}
		}
		return galois_log_divide(x,y,w);
		break;
	case SHIFT:
		return galois_shift_divide(x,y,w);
		break;
	case SPLITW8:
		return galois_split_w8_divide(x,y);
		break;
	}
	
}
Esempio n. 2
0
/*
* Class:     eu_vandertil_jerasure_jni_Galois
* Method:    galois_multtable_divide
* Signature: (III)I
*/
JNIEXPORT jint JNICALL Java_eu_vandertil_jerasure_jni_Galois_galois_1multtable_1divide
	(JNIEnv *env, jclass clazz, jint x, jint y, jint w)
{
	return galois_multtable_divide(x, y, w);
}