这篇教程C++ trunc函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中trunc函数的典型用法代码示例。如果您正苦于以下问题:C++ trunc函数的具体用法?C++ trunc怎么用?C++ trunc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了trunc函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: lgammafndouble 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: pgeMathTruncfloat pgeMathTrunc(float x){ return trunc(x);}
开发者ID:EgorTF,项目名称:Minecraft-PSP-beta,代码行数:4,
示例4: float_to_nsecint64_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_evalstatic 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_blockstatic 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_truncatestatic 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: mainint 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函数代码示例
|