コード例 #1
0
ファイル: rng.c プロジェクト: LuaDist/numlua
static int rf_rng (lua_State *L) {
  nl_RNG *r = getrng(L);
  lua_Number dfn = luaL_checknumber(L, 1);
  lua_Number dfd = luaL_checknumber(L, 2);
  lua_Number xnc = luaL_optnumber(L, 3, 0);
  checknp(L, dfn);
  checknp(L, dfd);
  checkneg(L, xnc);
  setdeviate(number,
      (xnc == 0) ? genf(r, dfn, dfd) : gennf(r, dfn, dfd, xnc), 4);
  return 1;
}
コード例 #2
0
int main(){

	int i,num;

     genf();

	while(scanf("%d",&num)==1){

		printf("%5d -> %lld\n",num,fact[num]%10);

	}

	return 0;

}
コード例 #3
0
ファイル: e4image.c プロジェクト: 32bitmicro/mera400
// -----------------------------------------------------------------------
int __e4i_init_disk(struct e4i_t *e, e4i_id_gen_f *genf, uint16_t img_type, uint16_t img_utype)
{
	if ((e->id_size > 0) && !genf) {
		return E4I_E_GENF_MISSING;
	}
	if ((e->id_size == 0) && genf) {
		return E4I_E_GENF_UNNEEDED;
	}
	if (e->flags & E4I_F_FORMATTED) {
		return E4I_E_FORMATTED;
	}

	int ret = E4I_E_OK;
	int bufsize = e->id_size + e->block_size;
	uint8_t *buf = calloc(bufsize, 1);
	uint8_t *id_buf = calloc(e->id_size, 1);

	for (long s=0 ; s<e->blocks ; s++) {
		if (genf) {
			if (genf(e, id_buf, e->id_size, s) != e->id_size) {
				ret = E4I_E_IDGEN;
				break;
			}
			memcpy(buf, id_buf, e->id_size);
		}
		// write block
		ret = __e4i_write_ignore_flags(e, buf, s, bufsize, 0, bufsize);
		if (ret != E4I_E_OK) {
			break;
		}
	}

	if (ret == E4I_E_OK) {
		e->flags |= E4I_F_FORMATTED;
		e->img_type = img_type;
		e->img_utype = img_utype;
		ret = __e4i_header_write(e);
	}

	free(buf);
	free(id_buf);
	return ret;
}