您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ trunc函数代码示例

51自学网 2021-06-03 08:59:05
  C++
这篇教程C++ trunc函数代码示例写得很实用,希望能帮到您。

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

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

示例1: lgammafn

double lgammafn(NMATH_STATE *state, double x){    double ans, y, sinpiy;/* For IEEE double precision DBL_EPSILON = 2^-52 = 2.220446049250313e-16 :   xmax  = DBL_MAX / log(DBL_MAX) = 2^1024 / (1024 * log(2)) = 2^1014 / log(2)   dxrel = sqrt(DBL_EPSILON) = 2^-26 = 5^26 * 1e-26 (is *exact* below !) */#define xmax  2.5327372760800758e+305#define dxrel 1.490116119384765696e-8//    R_signgam = 1;#ifdef IEEE_754    if(ISNAN(x)) return x;#endif    if (x < 0 && fmod(floor(-x), 2.) == 0)//	R_signgam = -1;    if (x <= 0 && x == trunc(x)) { /* Negative integer argument */	printf("lgammafn: range error"); 	return INFINITY;/* +Inf, since lgamma(x) = log|gamma(x)| */    }    y = fabs(x);    if (y <= 10)	return log(fabs(gammafn(state,x)));    /*      ELSE  y = |x| > 10 ---------------------- */    if (y > xmax) {	printf("lgammafn: range error"); 	return INFINITY;    }    if (x > 0) { /* i.e. y = x > 10 */#ifdef IEEE_754	if(x > 1e17)	    return(x*(log(x) - 1.));	else if(x > 4934720.)	    return(M_LN_SQRT_2PI + (x - 0.5) * log(x) - x);	else#endif	    return M_LN_SQRT_2PI + (x - 0.5) * log(x) - x + lgammacor(x);    }    /* else: x < -10; y = -x */    sinpiy = fabs(sin(M_PI * y));    if (sinpiy == 0) { /* Negative integer argument ===			  Now UNNECESSARY: caught above */	printf(" ** should NEVER happen! *** [lgamma.c: Neg.int, y=%g]/n",y);	return NAN;    }    ans = M_LN_SQRT_PId2 + (x - 0.5) * log(y) - x - log(sinpiy) - lgammacor(y);    if(fabs((x - trunc(x - 0.5)) * ans / x) < dxrel) {	/* The answer is less than half precision because	 * the argument is too near a negative integer. */	printf("lgammafn: precision error");     }    return ans;}
开发者ID:ahma88,项目名称:magro,代码行数:68,


示例2: onLeave

 void Dodge::onLeave() {     State::onLeave();     unsigned int shieldVal = static_cast<unsigned int>(trunc(_entity->_shieldMaxValue/5));     _entity->_shieldValue = _entity->_shieldValue < shieldVal ? 0 : _entity->_shieldValue - shieldVal; }
开发者ID:TurpIF,项目名称:EUSDAB,代码行数:6,


示例3: pgeMathTrunc

float pgeMathTrunc(float x){	return trunc(x);}
开发者ID:EgorTF,项目名称:Minecraft-PSP-beta,代码行数:4,


示例4: float_to_nsec

int64_t float_to_nsec(double t){  return trunc(t * NANO_SCALE_FLOAT);}
开发者ID:hitchiker42,项目名称:my-code,代码行数:3,


示例5: output

  void output(vsx_module_param_abs* param)  {    VSX_UNUSED(param);    if (text_in->updates)    {      if (process_lines())      text_in->updates = 0;    }    if (text_alpha->get() <= 0)      return;    if (!ftfont)    {      user_message = "module||error loading font "+cur_font;      return;    }    if (text_in->get() == "_")      return;    float obj_size = size->get();    gl_state->matrix_mode (VSX_GL_MODELVIEW_MATRIX );    gl_state->matrix_push();    gl_state->matrix_rotate_f( (float)angle->get()*360, rotation_axis->get(0), rotation_axis->get(1), rotation_axis->get(2) );    if (obj_size < 0)      obj_size = 0;    gl_state->matrix_scale_f( obj_size*0.8*0.01, obj_size*0.01, obj_size*0.01 );    int l_align = align->get();    float l_leading = leading->get();    float ypos = 0;    if (cur_render_type == 0)      glEnable(GL_TEXTURE_2D);    glColor4f(red->get(),green->get(),blue->get(),text_alpha->get());    for (unsigned long i = 0; i < lines.size(); ++i)    {      float ll = limit_line->get();      if (ll != -1.0f)      {        if (trunc(ll) != i) continue;      }      gl_state->matrix_push();      if (l_align == 0)      {        gl_state->matrix_translate_f( 0, ypos, 0 );      } else      if (l_align == 1)      {        gl_state->matrix_translate_f( -lines[i].size_x*0.5f,ypos,0 );      }      if (l_align == 2)      {        gl_state->matrix_translate_f( -lines[i].size_x,ypos,0 );      }      if (cur_render_type == 1)      {        if (outline_alpha->get() > 0.0f && ftfont2) {          float pre_linew;          pre_linew = gl_state->line_width_get();          gl_state->line_width_set( outline_thickness->get() );          glColor4f(outline_color->get(0),outline_color->get(1),outline_color->get(2),outline_alpha->get()*outline_color->get(3));          ftfont2->Render(lines[i].string.c_str());          gl_state->line_width_set( pre_linew );        }        glColor4f(red->get(),green->get(),blue->get(),text_alpha->get());      }      ftfont->Render(lines[i].string.c_str());      gl_state->matrix_pop();      ypos += l_leading;    }    if (cur_render_type == 0)      glDisable(GL_TEXTURE_2D);    gl_state->matrix_pop();    render_result->set(1);    loading_done = true;  }
开发者ID:vovoid,项目名称:vsxu,代码行数:90,


示例6: rpn_eval

static int rpn_eval(const token* t){  double o1, o2;  switch (t->type) {  case MATHOP_NUMBER:    return push_number(t->value);  case MATHOP_ADD:    return pop_number(&o2) || pop_number(&o1) || push_number(o1 + o2);  case MATHOP_SUB:    return pop_number(&o2) || pop_number(&o1) || push_number(o1 - o2);  case MATHOP_MUL:    return pop_number(&o2) || pop_number(&o1) || push_number(o1 * o2);  case MATHOP_DIV:    return pop_number(&o2) || pop_number(&o1) || push_number(o1 / o2);  case MATHOP_NEG:    return pop_number(&o1) || push_number(-o1);  case MATHOP_DROP:    return pop_number(&o1);  case MATHOP_DUP:    if(pop_number(&o1)) return -1;    return push_number(o1) || push_number(o1);  case MATHOP_SWAP:    return pop_number(&o2) || pop_number(&o1) || push_number(o2) || push_number(o1);  case MATHOP_MOD:    return pop_number(&o2) || pop_number(&o1) || push_number(fmod(o1,o2));  case MATHOP_POW:    return pop_number(&o2) || pop_number(&o1) || push_number(pow(o1,o2));  case MATHOP_EXP:    return pop_number(&o1) || push_number(exp(o1));  case MATHOP_LOG10:    return pop_number(&o1) || push_number(log10(o1));  case MATHOP_LN:    return pop_number(&o1) || push_number(log(o1));  case MATHOP_ABS:    return pop_number(&o1) || push_number(fabs(o1));  case MATHOP_SQRT:    return pop_number(&o1) || push_number(sqrt(o1));  case MATHOP_CBRT:    return pop_number(&o1) || push_number(cbrt(o1));  case MATHOP_FLOOR:    return pop_number(&o1) || push_number(floor(o1));  case MATHOP_CEIL:    return pop_number(&o1) || push_number(ceil(o1));  case MATHOP_ROUND:    return pop_number(&o1) || push_number(round(o1));  case MATHOP_NEARBYINT:    return pop_number(&o1) || push_number(nearbyint(o1));  case MATHOP_TRUNC:    return pop_number(&o1) || push_number(trunc(o1));  case MATHOP_E:    return push_number(M_E);  case MATHOP_PI:    return push_number(M_PI);  default:    LM_WARN("Invalid RPN token type/n");    return -1;  }}
开发者ID:WuKongQC,项目名称:opensips,代码行数:83,


示例7: _parse_gcode_block

static uint8_t _parse_gcode_block(char *buf) {	uint8_t i=0; 	 			// persistent index into Gcode block buffer (buf)  	char letter;				// parsed letter, eg.g. G or X or Y	double value;				// value parsed from letter (e.g. 2 for G2)	uint8_t status = TG_OK;	// set initial state for new move 	memset(&gp, 0, sizeof(gp));	// clear all parser values	memset(&gf, 0, sizeof(gf));	// clear all next-state flags	memset(&gn, 0, sizeof(gn));	// clear all next-state values	gn.motion_mode = cm_get_motion_mode();	// get motion mode from previous block  	// extract commands and parameters	while((status = _get_next_statement(&letter, &value, buf, &i)) == TG_OK) {		switch(letter) {			case 'G':				switch((uint8_t)value) {					case 0:  SET_MODAL (MODAL_GROUP_G1, motion_mode, MOTION_MODE_STRAIGHT_TRAVERSE);					case 1:  SET_MODAL (MODAL_GROUP_G1, motion_mode, MOTION_MODE_STRAIGHT_FEED);					case 2:  SET_MODAL (MODAL_GROUP_G1, motion_mode, MOTION_MODE_CW_ARC);					case 3:  SET_MODAL (MODAL_GROUP_G1, motion_mode, MOTION_MODE_CCW_ARC);					case 4:  SET_NON_MODAL (next_action, NEXT_ACTION_DWELL);					case 10: SET_MODAL (MODAL_GROUP_G0, next_action, NEXT_ACTION_SET_COORD_DATA);					case 17: SET_MODAL (MODAL_GROUP_G2, select_plane, CANON_PLANE_XY);					case 18: SET_MODAL (MODAL_GROUP_G2, select_plane, CANON_PLANE_XZ);					case 19: SET_MODAL (MODAL_GROUP_G2, select_plane, CANON_PLANE_YZ);					case 20: SET_MODAL (MODAL_GROUP_G6, units_mode, INCHES);					case 21: SET_MODAL (MODAL_GROUP_G6, units_mode, MILLIMETERS);					case 28: {						switch (_point(value)) {							case 0: SET_MODAL (MODAL_GROUP_G0, next_action, NEXT_ACTION_GO_HOME);							case 1: SET_MODAL (MODAL_GROUP_G0, next_action, NEXT_ACTION_SEARCH_HOME); 							default: status = TG_UNRECOGNIZED_COMMAND;						}						break;					}					case 40: break;	// ignore cancel cutter radius compensation					case 49: break;	// ignore cancel tool length offset comp.					case 53: SET_NON_MODAL (absolute_override, true);					case 54: SET_MODAL (MODAL_GROUP_G12, coord_system, G54);					case 55: SET_MODAL (MODAL_GROUP_G12, coord_system, G55);					case 56: SET_MODAL (MODAL_GROUP_G12, coord_system, G56);					case 57: SET_MODAL (MODAL_GROUP_G12, coord_system, G57);					case 58: SET_MODAL (MODAL_GROUP_G12, coord_system, G58);					case 59: SET_MODAL (MODAL_GROUP_G12, coord_system, G59);					case 61: {						switch (_point(value)) {							case 0: SET_MODAL (MODAL_GROUP_G13, path_control, PATH_EXACT_PATH);							case 1: SET_MODAL (MODAL_GROUP_G13, path_control, PATH_EXACT_STOP); 							default: status = TG_UNRECOGNIZED_COMMAND;						}						break;					}					case 64: SET_MODAL (MODAL_GROUP_G13,path_control, PATH_CONTINUOUS);					case 80: SET_MODAL (MODAL_GROUP_G1, motion_mode,  MOTION_MODE_CANCEL_MOTION_MODE);					case 90: SET_MODAL (MODAL_GROUP_G3, distance_mode, ABSOLUTE_MODE);					case 91: SET_MODAL (MODAL_GROUP_G3, distance_mode, INCREMENTAL_MODE);					case 92: {						switch (_point(value)) {							case 0: SET_MODAL (MODAL_GROUP_G0, next_action, NEXT_ACTION_SET_ORIGIN_OFFSETS);							case 1: SET_NON_MODAL (next_action, NEXT_ACTION_RESET_ORIGIN_OFFSETS);							case 2: SET_NON_MODAL (next_action, NEXT_ACTION_SUSPEND_ORIGIN_OFFSETS);							case 3: SET_NON_MODAL (next_action, NEXT_ACTION_RESUME_ORIGIN_OFFSETS); 							default: status = TG_UNRECOGNIZED_COMMAND;						}						break;					}					case 93: SET_MODAL (MODAL_GROUP_G5, inverse_feed_rate_mode, true);					case 94: SET_MODAL (MODAL_GROUP_G5, inverse_feed_rate_mode, false);					default: status = TG_UNRECOGNIZED_COMMAND;				}				break;			case 'M':				switch((uint8_t)value) {					case 0: case 1: 							SET_MODAL (MODAL_GROUP_M4, program_flow, PROGRAM_STOP);					case 2: case 30: case 60:							SET_MODAL (MODAL_GROUP_M4, program_flow, PROGRAM_END);					case 3: SET_MODAL (MODAL_GROUP_M7, spindle_mode, SPINDLE_CW);					case 4: SET_MODAL (MODAL_GROUP_M7, spindle_mode, SPINDLE_CCW);					case 5: SET_MODAL (MODAL_GROUP_M7, spindle_mode, SPINDLE_OFF);					case 6: SET_NON_MODAL (change_tool, true);					case 7: SET_MODAL (MODAL_GROUP_M8, mist_coolant, true);					case 8: SET_MODAL (MODAL_GROUP_M8, flood_coolant, true);					case 9: SET_MODAL (MODAL_GROUP_M8, flood_coolant, false);					case 48: SET_MODAL (MODAL_GROUP_M9, feed_override_enable, true);					case 49: SET_MODAL (MODAL_GROUP_M9, feed_override_enable, false);					default: status = TG_UNRECOGNIZED_COMMAND;				}				break;			case 'T': SET_NON_MODAL (tool, (uint8_t)trunc(value));			case 'F': SET_NON_MODAL (feed_rate, value);			case 'P': SET_NON_MODAL (dwell_time, value); 	// also used as G10 coord system select			case 'S': SET_NON_MODAL (spindle_speed, value); 			case 'X': SET_NON_MODAL (target[X], value);			case 'Y': SET_NON_MODAL (target[Y], value);//.........这里部分代码省略.........
开发者ID:otherlab,项目名称:TinyG,代码行数:101,


示例8: recursivePolyEval

// This procedure assumes that poly is monic and that babyStep contains// at least k+delta powers, where delta = deg(poly) mod kstatic long recursivePolyEval(const ZZX& poly, long k, DynamicPtxtPowers& babyStep,		  DynamicPtxtPowers& giantStep, long mod,		  long& recursiveDepth){  if (deg(poly)<=babyStep.size()) { // Edge condition, use simple eval    long ret = simplePolyEval(poly, babyStep, mod);    recursiveDepth = babyStep.getDepth(deg(poly));    return ret;  }  if (verbose) cerr << "recursivePolyEval("<<poly<<")/n";  long delta = deg(poly) % k; // deg(poly) mod k  long n = divc(deg(poly),k); // ceil( deg(poly)/k )  long t = 1L<<(NextPowerOfTwo(n)); // t >= n, so t*k >= deg(poly)  // Special case for deg(poly) = k * 2^e +delta  if (n==t)    return degPowerOfTwo(poly, k, babyStep, giantStep, mod, recursiveDepth);  // When deg(poly) = k*(2^e -1) we use the Paterson-Stockmeyer recursion  if (n == t-1 && delta==0)    return PatersonStockmeyer(poly, k, t/2, delta,			      babyStep, giantStep, mod, recursiveDepth);  t = t/2;  // In any other case we have kt < deg(poly) < k(2t-1). We then set   // u = deg(poly) - k*(t-1) and poly = q*X^u + r with deg(r)<u  // and recurse on poly = (q-1)*X^u + (X^u+r)  long u = deg(poly) - k*(t-1);  ZZX r = trunc(poly, u);      // degree <= u-1  ZZX q = RightShift(poly, u); // degree == k*(t-1)  q -= 1;  SetCoeff(r, u);              // degree == u  long ret, tmp;  long subDepth1=0, subDepth2=0;  if (verbose)     cerr << " {deg(poly)="<<deg(poly)<<"<k*(2t-1)="<<k*(2*t-1)	 << "} recursing on "<<r<<" + X^"<<u<<"*"<<q<<endl;  ret = PatersonStockmeyer(q, k, t/2, 0, 			   babyStep, giantStep, mod, subDepth1);  if (verbose) {    cerr << "  PatersonStockmeyer("<<q<<") returns "<<ret<<", depth="<<subDepth1<<endl;    if (ret != polyEvalMod(q,babyStep[0], mod)) {      cerr << "  @@1st recursive call failed, q="<<q     	   << ", ret="<<ret<<"!=" << polyEvalMod(q,babyStep[0], mod)<<endl;      exit(0);    }  }  tmp = giantStep.getPower(u/k);  subDepth2 = giantStep.getDepth(u/k);  if (delta!=0) { // if u is not divisible by k then compute it    if (verbose)       cerr <<"  multiplying by X^"<<u	   <<"=giantStep.getPower("<<(u/k)<<")*babyStep.getPower("<<delta<<")="	   << giantStep.getPower(u/k)<<"*"<<babyStep.getPower(delta)	   << "="<<tmp<<endl;    tmp = MulMod(tmp, babyStep.getPower(delta), mod);    nMults++;    subDepth2++;  }  ret = MulMod(ret, tmp, mod);  nMults ++;  subDepth1 = max(subDepth1, subDepth2)+1;  if (verbose) cerr << "  after mult by X^{k*"<<u<<"+"<<delta<<"}, depth="<< subDepth1<<endl;  tmp = recursivePolyEval(r, k, babyStep, giantStep, mod, subDepth2);  if (verbose)    cerr << "  recursivePolyEval("<<r<<") returns "<<tmp<<", depth="<<subDepth2<<endl;  if (tmp != polyEvalMod(r,babyStep[0], mod)) {    cerr << "  @@2nd recursive call failed, r="<<r	 << ", ret="<<tmp<<"!=" << polyEvalMod(r,babyStep[0], mod)<<endl;    exit(0);  }  recursiveDepth = max(subDepth1, subDepth2);  return AddMod(ret, tmp, mod);}
开发者ID:alexandredantas,项目名称:HElib,代码行数:86,


示例9: ZZX_truncate

static CYTHON_INLINE struct ZZX* ZZX_truncate(struct ZZX* x, long m){    ZZX* t = new ZZX();    trunc(*t, *x, m);    return t;}
开发者ID:JoseGuzman,项目名称:sage,代码行数:6,


示例10: main

int main(){		int chave = 0;		FILE *arq, *arqo, *arqw;		arq = fopen("entrada-transposicao.txt", "r");	arqo = fopen("texto-original.txt", "r");	arqw = fopen("saida-transposicao.txt", "w");		if(arq == NULL) printf("N
C++ trunc_page函数代码示例
C++ truffle_invoke函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。