这篇教程C++ Base函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中Base函数的典型用法代码示例。如果您正苦于以下问题:C++ Base函数的具体用法?C++ Base怎么用?C++ Base使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了Base函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: value_inline AD<Base>::AD(const T &t) : value_(Base(t)), id_(CPPAD_MAX_NUM_THREADS), taddr_(0){ }
开发者ID:AndreasBrack,项目名称:WahlkreisSeminar,代码行数:5,
示例2: remove_whitespace remove_whitespace(T start) : super_t(Base(static_cast< T >(start))) {}
开发者ID:Niko-r,项目名称:geofeatures,代码行数:3,
示例3: main1static void main1(int argc, const char** argv){ print_g = true; // want to be able to see lprintfs if (argc != 2) Err("Usage: shapetostasm31 file.shape"); ShapeFile sh; // contents of the shape file sh.Open_(argv[1]); if (sh.shapes_[0].rows == 77) lprintf("Converting 77 point to 76 point shapes/n"); char newpath[SLEN]; sprintf(newpath, "%s_stasm31.shape", Base(argv[1])); lprintf("Generating %s ", newpath); FILE* file = fopen(newpath, "wb"); if (!file) Err("Cannot open %s for writing", newpath); Fprintf(file, "ss %s/n/n", newpath); Fprintf(file, "Directories %s/n/n", sh.dirs_); Pacifier pacifier(sh.nshapes_); for (int ishape = 0; ishape < sh.nshapes_; ishape++) { // we need the image width and height to convert the coords const char* imgpath = PathGivenDirs(sh.bases_[ishape], sh.dirs_, sh.shapepath_); cv::Mat_<unsigned char> img(cv::imread(imgpath, CV_LOAD_IMAGE_GRAYSCALE)); if (!img.data) Err("Cannot load %s", imgpath); Shape shape; if (sh.shapes_[0].rows == 77) shape = (ConvertShape(sh.shapes_[ishape], 76)); // convert 76 point shape else shape = sh.shapes_[ishape].clone(); CV_Assert(shape.rows); Fprintf(file, "/"%4.4x %s/"/n", NewBits(sh.bits_[ishape]), sh.bases_[ishape].c_str()); Fprintf(file, "{ %d %d/n", shape.rows, shape.cols); const int cols2 = img.cols / 2; const int rows2 = img.rows / 2; for (int i = 0; i < shape.rows; i++) { if (!PointUsed(shape, i)) Fprintf(file, "0 0/n"); else { double oldx = shape(i, IX) - cols2; double oldy = rows2 - shape(i, IY) - 1; if (!PointUsed(oldx, oldy)) oldx = XJITTER; Print(file, oldx, " "); Print(file, oldy, "/n"); } } Fprintf(file, "}/n"); pacifier.Print_(ishape); } pacifier.End_(); fclose(file); lprintf("/n");}
开发者ID:Melevir,项目名称:stasm,代码行数:61,
示例4: testvoid test(){ // This function tests C++0x 5.16 // p1 (contextually convert to bool) int i1 = ToBool() ? 0 : 1; // p2 (one or both void, and throwing) i1 ? throw 0 : throw 1; i1 ? test() : throw 1; i1 ? throw 0 : test(); i1 ? test() : test(); i1 = i1 ? throw 0 : 0; i1 = i1 ? 0 : throw 0; i1 ? 0 : test(); // expected-error {{right operand to ? is void, but left operand is of type 'int'}} i1 ? test() : 0; // expected-error {{left operand to ? is void, but right operand is of type 'int'}} (i1 ? throw 0 : i1) = 0; // expected-error {{expression is not assignable}} (i1 ? i1 : throw 0) = 0; // expected-error {{expression is not assignable}} // p3 (one or both class type, convert to each other) // b1 (lvalues) Base base; Derived derived; Convertible conv; Base &bar1 = i1 ? base : derived; Base &bar2 = i1 ? derived : base; Base &bar3 = i1 ? base : conv; Base &bar4 = i1 ? conv : base; // these are ambiguous BadBase bb; BadDerived bd; (void)(i1 ? bb : bd); // expected-error {{conditional expression is ambiguous; 'struct BadBase' can be converted to 'struct BadDerived' and vice versa}} (void)(i1 ? bd : bb); // expected-error {{conditional expression is ambiguous}} // curiously enough (and a defect?), these are not // for rvalues, hierarchy takes precedence over other conversions (void)(i1 ? BadBase() : BadDerived()); (void)(i1 ? BadDerived() : BadBase()); // b2.1 (hierarchy stuff) const Base constret(); const Derived constder(); // should use const overload A a1((i1 ? constret() : Base()).trick()); A a2((i1 ? Base() : constret()).trick()); A a3((i1 ? constret() : Derived()).trick()); A a4((i1 ? Derived() : constret()).trick()); // should use non-const overload i1 = (i1 ? Base() : Base()).trick(); i1 = (i1 ? Base() : Base()).trick(); i1 = (i1 ? Base() : Derived()).trick(); i1 = (i1 ? Derived() : Base()).trick(); // should fail: const lost (void)(i1 ? Base() : constder()); // expected-error {{incompatible operand types ('struct Base' and 'struct Derived const')}} (void)(i1 ? constder() : Base()); // expected-error {{incompatible operand types ('struct Derived const' and 'struct Base')}} Priv priv; Fin fin; (void)(i1 ? Base() : Priv()); // expected-error{{private base class}} (void)(i1 ? Priv() : Base()); // expected-error{{private base class}} (void)(i1 ? Base() : Fin()); // expected-error{{ambiguous conversion from derived class 'struct Fin' to base class 'struct Base'}} (void)(i1 ? Fin() : Base()); // expected-error{{ambiguous conversion from derived class 'struct Fin' to base class 'struct Base'}} (void)(i1 ? base : priv); // expected-error {{private base class}} (void)(i1 ? priv : base); // expected-error {{private base class}} (void)(i1 ? base : fin); // expected-error {{ambiguous conversion from derived class 'struct Fin' to base class 'struct Base'}} (void)(i1 ? fin : base); // expected-error {{ambiguous conversion from derived class 'struct Fin' to base class 'struct Base'}} // b2.2 (non-hierarchy) i1 = i1 ? I() : i1; i1 = i1 ? i1 : I(); I i2(i1 ? I() : J()); I i3(i1 ? J() : I()); // "the type [it] woud have if E2 were converted to an rvalue" vfn pfn = i1 ? F() : test; pfn = i1 ? test : F(); (void)(i1 ? A() : B()); // expected-error {{conversion from 'struct B' to 'struct A' is ambiguous}} (void)(i1 ? B() : A()); // expected-error {{conversion from 'struct B' to 'struct A' is ambiguous}} (void)(i1 ? 1 : Ambig()); // expected-error {{conversion from 'struct Ambig' to 'int' is ambiguous}} (void)(i1 ? Ambig() : 1); // expected-error {{conversion from 'struct Ambig' to 'int' is ambiguous}} // By the way, this isn't an lvalue: &(i1 ? i1 : i2); // expected-error {{address expression must be an lvalue or a function designator}} // p4 (lvalue, same type) Fields flds; int &ir1 = i1 ? flds.i1 : flds.i2; (i1 ? flds.b1 : flds.i2) = 0; (i1 ? flds.i1 : flds.b2) = 0; (i1 ? flds.b1 : flds.b2) = 0; // p5 (conversion to built-in types) // GCC 4.3 fails these double d1 = i1 ? I() : K(); pfn = i1 ? F() : G(); DFnPtr pfm; pfm = i1 ? DFnPtr() : &Base::fn1; pfm = i1 ? &Base::fn1 : DFnPtr(); // p6 (final conversions) i1 = i1 ? i1 : ir1; int *pi1 = i1 ? &i1 : 0; pi1 = i1 ? 0 : &i1;//.........这里部分代码省略.........
开发者ID:Gcrosby5269,项目名称:clamav-bytecode-compiler,代码行数:101,
示例5: Line_d<R> Ray_d<R>::supporting_line() const{ return Line_d<R>(Base(*this));}
开发者ID:gitrider,项目名称:wxsj2,代码行数:4,
示例6: forward_sweepsize_t forward_sweep( std::ostream& s_out, const bool print, const size_t q, const size_t p, const size_t n, const size_t numvar, player<Base> *Rec, const size_t J, Base *Taylor, CppAD::vector<bool>& cskip_op){ CPPAD_ASSERT_UNKNOWN( J >= p + 1 ); CPPAD_ASSERT_UNKNOWN( q <= p ); // op code for current instruction OpCode op; // index for current instruction size_t i_op; // next variables size_t i_var; // arg (not as a constant) addr_t* non_const_arg = CPPAD_NULL; // arg (as a constant) const addr_t* arg = CPPAD_NULL; // temporary indices size_t i, ell; // initialize the comparision operator (ComOp) counter size_t compareCount = 0; pod_vector<size_t> VectorInd; // address for each element pod_vector<bool> VectorVar; // is element a variable if( q == 0 ) { // this includes order zero calculation, initialize vector indices i = Rec->num_rec_vecad_ind(); if( i > 0 ) { VectorInd.extend(i); VectorVar.extend(i); while(i--) { VectorInd[i] = Rec->GetVecInd(i); VectorVar[i] = false; } } // includes zero order, so initialize conditional skip flags for(i = 0; i < Rec->num_rec_op(); i++) cskip_op[i] = false; } // Work space used by UserOp. Note User assumes q = p. const size_t user_p1 = p+1; // number of orders for this user calculation vector<bool> user_vx; // empty vector vector<bool> user_vy; // empty vector vector<Base> user_tx; // argument vector Taylor coefficients vector<Base> user_ty; // result vector Taylor coefficients vector<size_t> user_iy; // variable indices for results vector size_t user_index = 0; // indentifier for this atomic operation size_t user_id = 0; // user identifier for this call to operator size_t user_i = 0; // index in result vector size_t user_j = 0; // index in argument vector size_t user_m = 0; // size of result vector size_t user_n = 0; // size of arugment vector // atomic_base<Base>* user_atom = CPPAD_NULL; // user's atomic op calculator# ifndef NDEBUG bool user_ok = false; // atomic op return value# endif // // next expected operator in a UserOp sequence enum { user_start, user_arg, user_ret, user_end } user_state = user_start; // check numvar argument CPPAD_ASSERT_UNKNOWN( Rec->num_rec_var() == numvar ); // length of the parameter vector (used by CppAD assert macros) const size_t num_par = Rec->num_rec_par(); // pointer to the beginning of the parameter vector const Base* parameter = CPPAD_NULL; if( num_par > 0 ) parameter = Rec->GetPar(); // length of the text vector (used by CppAD assert macros) const size_t num_text = Rec->num_rec_text(); // pointer to the beginning of the text vector const char* text = CPPAD_NULL; if( num_text > 0 ) text = Rec->GetTxt(0); // skip the BeginOp at the beginning of the recording Rec->start_forward(op, arg, i_op, i_var); CPPAD_ASSERT_UNKNOWN( op == BeginOp );# if CPPAD_FORWARD_SWEEP_TRACE//.........这里部分代码省略.........
开发者ID:tkelman,项目名称:CppAD-oldmirror,代码行数:101,
示例7: log10 inline AD<Base> log10(const VecAD_reference<Base> &x) { return CppAD::log(x.ADBase()) / CppAD::log( Base(10) ); }
开发者ID:ZiiCee,项目名称:OPTI,代码行数:2,
示例8: reverse_acos_opinline void reverse_acos_op( size_t d , size_t i_z , size_t i_x , size_t cap_order , const Base* taylor , size_t nc_partial , Base* partial ){ // check assumptions CPPAD_ASSERT_UNKNOWN( NumArg(AcosOp) == 1 ); CPPAD_ASSERT_UNKNOWN( NumRes(AcosOp) == 2 ); CPPAD_ASSERT_UNKNOWN( d < cap_order ); CPPAD_ASSERT_UNKNOWN( d < nc_partial ); // Taylor coefficients and partials corresponding to argument const Base* x = taylor + i_x * cap_order; Base* px = partial + i_x * nc_partial; // Taylor coefficients and partials corresponding to first result const Base* z = taylor + i_z * cap_order; Base* pz = partial + i_z * nc_partial; // Taylor coefficients and partials corresponding to auxillary result const Base* b = z - cap_order; // called y in documentation Base* pb = pz - nc_partial; // If pz is zero, make sure this operation has no effect // (zero times infinity or nan would be non-zero). bool skip(true); for(size_t i_d = 0; i_d <= d; i_d++) skip &= IdenticalZero(pz[i_d]); if( skip ) return; // number of indices to access size_t j = d; size_t k; while(j) { // scale partials w.r.t b[j] by 1 / b[0] pb[j] /= b[0]; // scale partials w.r.t z[j] by 1 / b[0] pz[j] /= b[0]; // update partials w.r.t b^0 pb[0] -= pz[j] * z[j] + pb[j] * b[j]; // update partial w.r.t. x^0 px[0] -= pb[j] * x[j]; // update partial w.r.t. x^j px[j] -= pz[j] + pb[j] * x[0]; // further scale partial w.r.t. z[j] by 1 / j pz[j] /= Base(j); for(k = 1; k < j; k++) { // update partials w.r.t b^(j-k) pb[j-k] -= Base(k) * pz[j] * z[k] + pb[j] * b[k]; // update partials w.r.t. x^k px[k] -= pb[j] * x[j-k]; // update partials w.r.t. z^k pz[k] -= pz[j] * Base(k) * b[j-k]; } --j; } // j == 0 case px[0] -= ( pz[0] + pb[0] * x[0]) / b[0];}
开发者ID:GodinA,项目名称:adcomp,代码行数:74,
示例9: DomainVectorBase ADFun<Base>::ForTwo( const VectorBase &x, const VectorSize_t &j, const VectorSize_t &k){ size_t i; size_t j1; size_t k1; size_t l; size_t n = Domain(); size_t m = Range(); size_t p = j.size(); // check VectorBase is Simple Vector class with Base type elements CheckSimpleVector<Base, VectorBase>(); // check VectorSize_t is Simple Vector class with size_t elements CheckSimpleVector<size_t, VectorSize_t>(); CPPAD_ASSERT_KNOWN( x.size() == n, "ForTwo: Length of x not equal domain dimension for f." ); CPPAD_ASSERT_KNOWN( j.size() == k.size(), "ForTwo: Lenght of the j and k vectors are not equal." ); // point at which we are evaluating the second partials Forward(0, x); // dimension the return value VectorBase ddy(m * p); // allocate memory to hold all possible diagonal Taylor coefficients // (for large sparse cases, this is not efficient) VectorBase D(m * n); // boolean flag for which diagonal coefficients are computed CppAD::vector<bool> c(n); for(j1 = 0; j1 < n; j1++) c[j1] = false; // direction vector in argument space VectorBase dx(n); for(j1 = 0; j1 < n; j1++) dx[j1] = Base(0); // result vector in range space VectorBase dy(m); // compute the diagonal coefficients that are needed for(l = 0; l < p; l++) { j1 = j[l]; k1 = k[l]; CPPAD_ASSERT_KNOWN( j1 < n, "ForTwo: an element of j not less than domain dimension for f." ); CPPAD_ASSERT_KNOWN( k1 < n, "ForTwo: an element of k not less than domain dimension for f." ); size_t count = 2; while(count) { count--; if( ! c[j1] ) { // diagonal term in j1 direction c[j1] = true; dx[j1] = Base(1); Forward(1, dx); dx[j1] = Base(0); dy = Forward(2, dx); for(i = 0; i < m; i++) D[i * n + j1 ] = dy[i]; } j1 = k1; } } // compute all the requested cross partials for(l = 0; l < p; l++) { j1 = j[l]; k1 = k[l]; if( j1 == k1 ) { for(i = 0; i < m; i++) ddy[i * p + l] = Base(2) * D[i * n + j1]; } else { // cross term in j1 and k1 directions dx[j1] = Base(1); dx[k1] = Base(1); Forward(1, dx); dx[j1] = Base(0); dx[k1] = Base(0); dy = Forward(2, dx); // place result in return value//.........这里部分代码省略.........
开发者ID:cran,项目名称:SpeciesMix,代码行数:101,
示例10: ProcessFacestatic void ProcessFace( const Image& img, // in const char* imgpath, // in int foundface, // in const Shape& shape, // in float estyaw, // in double facedet_time, // in double asmsearch_time, // in const Shape& refshape, // in FILE* fitfile, // in const ShapeFile& sh, // in int ishape) // in: shape index in the shapefile{ double meanfit = NOFIT; // fitness measure over all shapefile points int iworst = -1; // worst fitting point in above measure of fitness double me17 = NOFIT; // fitness measure me17 double fm29 = NOFIT; // fitness measure FM29 (only for 77 point shapes) int iworst_fm29 = -1; // worst fitting point using FM29 measure if (!foundface) printf_g("no face "); else { if (trace_g) LogShape(shape, imgpath); // we will succesfully get the meanfit only if the shape can be converted to // the shapefile number of points (by ConvertShape in MeanFitOverInterEye) meanfit = MeanFitOverInterEye(iworst, shape, refshape); if (meanfit != NOFIT) // were able to get the mean fit? printf_g("meanfit %5.3f ", meanfit); // use fitness measure me17 if can convert the shape to a shape17 me17 = Me17(shape, refshape); if (me17 != NOFIT) // were able to get the me17 fit? printf_g("me17 %5.3f ", me17); // get fitness measure fm29 if the shape has 77 points if (shape.rows == 77 && refshape.rows == 77) { Fm29(fm29, iworst_fm29, shape, refshape); printf_g("fm29 %5.3f ", fm29); } if (writeimgs_g) // -i flag WriteImgs(img, imgpath, shape, refshape, meanfit, iworst, me17, fm29, iworst_fm29); } printf_g("/n"); if (trace_g) lprintf("/n"); const char* const base = Base(imgpath); const VEC pose(sh.Pose_(base)); Fprintf(fitfile, "%-*s%s " "%7.5f % 6d " "%7.5f " "%7.5f % 6d " "%8.2f %8.2f ", sh.nchar_, base, " ", meanfit, iworst, me17, fm29, iworst_fm29, InterEyeDist(refshape), EyeMouthDist(refshape)); Fprintf(fitfile, "% 5.0f " "% 6.0f % 6.0f % 6.0f %9.3f " "[%5.3f] [%5.3f]/n", estyaw, pose(0), pose(1), pose(2), pose(3), facedet_time, asmsearch_time);}
开发者ID:avtomaton,项目名称:stasm,代码行数:67,
示例11: forward_sweepsize_t forward_sweep( bool print, size_t d, size_t n, size_t numvar, player<Base> *Rec, size_t J, Base *Taylor){ CPPAD_ASSERT_UNKNOWN( J >= d + 1 ); // op code for current instruction OpCode op; // index for current instruction size_t i_op; // next variables size_t i_var;# if CPPAD_USE_FORWARD0SWEEP CPPAD_ASSERT_UNKNOWN( d > 0 );# else size_t* non_const_arg;# endif const size_t *arg = 0; size_t i; // initialize the comparision operator (ComOp) counter size_t compareCount = 0; // if this is an order zero calculation, initialize vector indices size_t *VectorInd = CPPAD_NULL; // address for each element bool *VectorVar = CPPAD_NULL; // is element a variable i = Rec->num_rec_vecad_ind(); if( i > 0 ) { VectorInd = CPPAD_TRACK_NEW_VEC(i, VectorInd); VectorVar = CPPAD_TRACK_NEW_VEC(i, VectorVar); while(i--) { VectorInd[i] = Rec->GetVecInd(i); VectorVar[i] = false; } } // check numvar argument CPPAD_ASSERT_UNKNOWN( Rec->num_rec_var() == numvar ); // length of the parameter vector (used by CppAD assert macros) const size_t num_par = Rec->num_rec_par(); // length of the text vector (used by CppAD assert macros) const size_t num_text = Rec->num_rec_text(); // pointer to the beginning of the parameter vector const Base* parameter = 0; if( num_par > 0 ) parameter = Rec->GetPar(); // pointer to the beginning of the text vector const char* text = 0; if( num_text > 0 ) text = Rec->GetTxt(0); // skip the BeginOp at the beginning of the recording Rec->start_forward(op, arg, i_op, i_var); CPPAD_ASSERT_UNKNOWN( op == BeginOp );# if CPPAD_FORWARD_SWEEP_TRACE std::cout << std::endl;# endif while(op != EndOp) { // this op Rec->next_forward(op, arg, i_op, i_var); CPPAD_ASSERT_UNKNOWN( (i_op > n) | (op == InvOp) ); CPPAD_ASSERT_UNKNOWN( (i_op <= n) | (op != InvOp) ); // action depends on the operator switch( op ) { case AbsOp: forward_abs_op(d, i_var, arg[0], J, Taylor); break; // ------------------------------------------------- case AddvvOp: forward_addvv_op(d, i_var, arg, parameter, J, Taylor); break; // ------------------------------------------------- case AddpvOp: CPPAD_ASSERT_UNKNOWN( arg[0] < num_par ); forward_addpv_op(d, i_var, arg, parameter, J, Taylor); break; // ------------------------------------------------- case AcosOp: // variables: sqrt(1 - x * x), acos(x) CPPAD_ASSERT_UNKNOWN( i_var < numvar );//.........这里部分代码省略.........
开发者ID:jnorthrup,项目名称:jmodelica,代码行数:101,
示例12: sizeofuint8ArchUART8250Omap::In8(int reg){ return *((uint8 *)Base() + reg * sizeof(uint32));}
开发者ID:looncraz,项目名称:haiku,代码行数:5,
示例13: voidArchUART8250Omap::Out8(int reg, uint8 value){ *((uint8 *)Base() + reg * sizeof(uint32)) = value;}
开发者ID:looncraz,项目名称:haiku,代码行数:5,
示例14: Baseinline AD<Base>& AD<Base>::operator=(const T &t){ return *this = Base(t); }
开发者ID:AndreasBrack,项目名称:WahlkreisSeminar,代码行数:2,
示例15: xml_unescape xml_unescape(T start) : super_t(Base(static_cast< T >(start))) {}
开发者ID:marops,项目名称:PDAL,代码行数:3,
示例16: TellMaxPut//-----------------------------------------------------------------------------// Converts a buffer from a CRLF buffer to a CR buffer (and back)// Returns false if no conversion was necessary (and outBuf is left untouched)// If the conversion occurs, outBuf will be cleared.//-----------------------------------------------------------------------------bool CUtlBufferEditor::ConvertCRLF( CUtlBufferEditor &outBuf ){ if ( !IsText() || !outBuf.IsText() ) return false; if ( ContainsCRLF() == outBuf.ContainsCRLF() ) return false; int nInCount = TellMaxPut(); outBuf.Purge(); outBuf.EnsureCapacity( nInCount ); bool bFromCRLF = ContainsCRLF(); // Start reading from the beginning int nGet = TellGet(); int nPut = TellPut(); int nGetDelta = 0; int nPutDelta = 0; const char *pBase = (const char*)Base(); int nCurrGet = 0; while ( nCurrGet < nInCount ) { const char *pCurr = &pBase[nCurrGet]; if ( bFromCRLF ) { const char *pNext = Q_strnistr( pCurr, "/r/n", nInCount - nCurrGet ); if ( !pNext ) { outBuf.Put( pCurr, nInCount - nCurrGet ); break; } int nBytes = (size_t)pNext - (size_t)pCurr; outBuf.Put( pCurr, nBytes ); outBuf.PutChar( '/n' ); nCurrGet += nBytes + 2; if ( nGet >= nCurrGet - 1 ) { --nGetDelta; } if ( nPut >= nCurrGet - 1 ) { --nPutDelta; } } else { const char *pNext = Q_strnchr( pCurr, '/n', nInCount - nCurrGet ); if ( !pNext ) { outBuf.Put( pCurr, nInCount - nCurrGet ); break; } int nBytes = (size_t)pNext - (size_t)pCurr; outBuf.Put( pCurr, nBytes ); outBuf.PutChar( '/r' ); outBuf.PutChar( '/n' ); nCurrGet += nBytes + 1; if ( nGet >= nCurrGet ) { ++nGetDelta; } if ( nPut >= nCurrGet ) { ++nPutDelta; } } } Assert( nPut + nPutDelta <= outBuf.TellMaxPut() ); outBuf.SeekGet( SEEK_HEAD, nGet + nGetDelta ); outBuf.SeekPut( SEEK_HEAD, nPut + nPutDelta ); return true;}
开发者ID:BSVino,项目名称:source-shader-editor,代码行数:85,
示例17: mainint main(){ Base()->operator=(Base());}
开发者ID:WhiZTiM,项目名称:coliru,代码行数:4,
示例18: TellPutvoid CUtlBufferEditor::WriteToBuffer( CUtlBuffer &buf ){ int size = TellPut(); buf.Put( Base(), size );}
开发者ID:BSVino,项目名称:source-shader-editor,代码行数:6,
示例19: forward2sweepvoid forward2sweep( const size_t q, const size_t r, const size_t n, const size_t numvar, player<Base>* play, const size_t J, Base* taylor, const bool* cskip_op, const pod_vector<addr_t>& var_by_load_op){ CPPAD_ASSERT_UNKNOWN( q > 0 ); CPPAD_ASSERT_UNKNOWN( J >= q + 1 ); CPPAD_ASSERT_UNKNOWN( play->num_var_rec() == numvar ); // used to avoid compiler errors until all operators are implemented size_t p = q; // op code for current instruction OpCode op; // index for current instruction size_t i_op; // next variables size_t i_var; // operation argument indices const addr_t* arg = CPPAD_NULL; // work space used by UserOp. vector<bool> user_vx; // empty vecotor vector<bool> user_vy; // empty vecotor vector<Base> user_tx_one; // argument vector Taylor coefficients vector<Base> user_tx_all; vector<Base> user_ty_one; // result vector Taylor coefficients vector<Base> user_ty_all; size_t user_index = 0; // indentifier for this atomic operation size_t user_id = 0; // user identifier for this call to operator size_t user_i = 0; // index in result vector size_t user_j = 0; // index in argument vector size_t user_m = 0; // size of result vector size_t user_n = 0; // size of arugment vector // atomic_base<Base>* user_atom = CPPAD_NULL; // user's atomic op calculator# ifndef NDEBUG bool user_ok = false; // atomic op return value# endif // // next expected operator in a UserOp sequence enum { user_start, user_arg, user_ret, user_end, user_trace } user_state = user_start; // length of the parameter vector (used by CppAD assert macros) const size_t num_par = play->num_par_rec(); // pointer to the beginning of the parameter vector const Base* parameter = CPPAD_NULL; if( num_par > 0 ) parameter = play->GetPar(); // temporary indices size_t i, j, k, ell; // number of orders for this user calculation // (not needed for order zero) const size_t user_q1 = q+1; // variable indices for results vector // (done differently for order zero). vector<size_t> user_iy; // skip the BeginOp at the beginning of the recording play->forward_start(op, arg, i_op, i_var); CPPAD_ASSERT_UNKNOWN( op == BeginOp );# if CPPAD_FORWARD2SWEEP_TRACE std::cout << std::endl; CppAD::vector<Base> Z_vec(q+1);# endif bool more_operators = true; while(more_operators) { // this op play->forward_next(op, arg, i_op, i_var); CPPAD_ASSERT_UNKNOWN( (i_op > n) | (op == InvOp) ); CPPAD_ASSERT_UNKNOWN( (i_op <= n) | (op != InvOp) ); CPPAD_ASSERT_UNKNOWN( i_op < play->num_op_rec() ); CPPAD_ASSERT_ARG_BEFORE_RESULT(op, arg, i_var); // check if we are skipping this operation while( cskip_op[i_op] ) { if( op == CSumOp ) { // CSumOp has a variable number of arguments play->forward_csum(op, arg, i_op, i_var); } CPPAD_ASSERT_UNKNOWN( op != CSkipOp ); // if( op == CSkipOp ) // { // CSkip has a variable number of arguments // play->forward_cskip(op, arg, i_op, i_var);//.........这里部分代码省略.........
开发者ID:CSCsw,项目名称:CppAD,代码行数:101,
示例20: forward1sweepvoid forward1sweep( std::ostream& s_out, const bool print, const size_t p, const size_t q, const size_t n, const size_t numvar, player<Base>* play, const size_t J, Base* taylor, bool* cskip_op, pod_vector<addr_t>& var_by_load_op, size_t compare_change_count, size_t& compare_change_number, size_t& compare_change_op_index){ // number of directions const size_t r = 1; CPPAD_ASSERT_UNKNOWN( p <= q ); CPPAD_ASSERT_UNKNOWN( J >= q + 1 ); CPPAD_ASSERT_UNKNOWN( play->num_var_rec() == numvar ); /* <!-- replace forward0sweep_code_define --> */ // op code for current instruction OpCode op; // index for current instruction size_t i_op; // next variables size_t i_var; // operation argument indices const addr_t* arg = CPPAD_NULL; // initialize the comparision operator counter if( p == 0 ) { compare_change_number = 0; compare_change_op_index = 0; } // If this includes a zero calculation, initialize this information pod_vector<bool> isvar_by_ind; pod_vector<size_t> index_by_ind; if( p == 0 ) { size_t i; // this includes order zero calculation, initialize vector indices size_t num = play->num_vec_ind_rec(); if( num > 0 ) { isvar_by_ind.extend(num); index_by_ind.extend(num); for(i = 0; i < num; i++) { index_by_ind[i] = play->GetVecInd(i); isvar_by_ind[i] = false; } } // includes zero order, so initialize conditional skip flags num = play->num_op_rec(); for(i = 0; i < num; i++) cskip_op[i] = false; } // work space used by UserOp. vector<bool> user_vx; // empty vecotor vector<bool> user_vy; // empty vecotor vector<Base> user_tx; // argument vector Taylor coefficients vector<Base> user_ty; // result vector Taylor coefficients size_t user_index = 0; // indentifier for this atomic operation size_t user_id = 0; // user identifier for this call to operator size_t user_i = 0; // index in result vector size_t user_j = 0; // index in argument vector size_t user_m = 0; // size of result vector size_t user_n = 0; // size of arugment vector // atomic_base<Base>* user_atom = CPPAD_NULL; // user's atomic op calculator# ifndef NDEBUG bool user_ok = false; // atomic op return value# endif // // next expected operator in a UserOp sequence enum { user_start, user_arg, user_ret, user_end, user_trace } user_state = user_start; // length of the parameter vector (used by CppAD assert macros) const size_t num_par = play->num_par_rec(); // pointer to the beginning of the parameter vector const Base* parameter = CPPAD_NULL; if( num_par > 0 ) parameter = play->GetPar(); // length of the text vector (used by CppAD assert macros) const size_t num_text = play->num_text_rec(); // pointer to the beginning of the text vector//.........这里部分代码省略.........
开发者ID:GodinA,项目名称:adcomp,代码行数:101,
示例21: GetPreviewBackgroundColorvoid FCascadeEdPreviewViewportClient::Draw(FViewport* Viewport, FCanvas* Canvas){ if (!CascadePtr.IsValid()) { return; } Canvas->Clear( GetPreviewBackgroundColor()); // Clear out the lines from the previous frame CascadePreviewScene.ClearLineBatcher(); ULineBatchComponent* LineBatcher = CascadePreviewScene.GetLineBatcher(); CascadePreviewScene.RemoveComponent(LineBatcher); const FVector XAxis(1,0,0); const FVector YAxis(0,1,0); const FVector ZAxis(0,0,1); if (GetDrawElement(OriginAxis)) { FMatrix ArrowMatrix = FMatrix(XAxis, YAxis, ZAxis, FVector::ZeroVector); LineBatcher->DrawDirectionalArrow(ArrowMatrix, FColorList::Red, 10.f, 1.0f, SDPG_World); ArrowMatrix = FMatrix(YAxis, ZAxis, XAxis, FVector::ZeroVector); LineBatcher->DrawDirectionalArrow(ArrowMatrix, FColorList::Green, 10.f, 1.0f, SDPG_World); ArrowMatrix = FMatrix(ZAxis, XAxis, YAxis, FVector::ZeroVector); LineBatcher->DrawDirectionalArrow(ArrowMatrix, FColorList::Blue, 10.f, 1.0f, SDPG_World); } if (GetDrawElement(WireSphere)) { FVector Base(0.f); FColor WireColor = FColor::Red; const int32 NumRings = 16; const float RotatorMultiplier = 360.f / NumRings; const int32 NumSides = 32; for (int32 i = 0; i < NumRings; i++) { FVector RotXAxis; FVector RotYAxis; FVector RotZAxis; FRotationMatrix RotMatrix(FRotator(i * RotatorMultiplier, 0, 0)); RotXAxis = RotMatrix.TransformPosition(XAxis); RotYAxis = RotMatrix.TransformPosition(YAxis); RotZAxis = RotMatrix.TransformPosition(ZAxis); LineBatcher->DrawCircle(Base, RotXAxis, RotYAxis, WireColor, WireSphereRadius, NumSides, SDPG_World); LineBatcher->DrawCircle(Base, RotXAxis, RotZAxis, WireColor, WireSphereRadius, NumSides, SDPG_World); LineBatcher->DrawCircle(Base, RotYAxis, RotZAxis, WireColor, WireSphereRadius, NumSides, SDPG_World); RotMatrix = FRotationMatrix(FRotator(0, i * RotatorMultiplier, 0)); RotXAxis = RotMatrix.TransformPosition(XAxis); RotYAxis = RotMatrix.TransformPosition(YAxis); RotZAxis = RotMatrix.TransformPosition(ZAxis); LineBatcher->DrawCircle(Base, RotXAxis, RotYAxis, WireColor, WireSphereRadius, NumSides, SDPG_World); LineBatcher->DrawCircle(Base, RotXAxis, RotZAxis, WireColor, WireSphereRadius, NumSides, SDPG_World); LineBatcher->DrawCircle(Base, RotYAxis, RotZAxis, WireColor, WireSphereRadius, NumSides, SDPG_World); } } FEngineShowFlags SavedEngineShowFlags = EngineShowFlags; if (GetDrawElement(Bounds)) { EngineShowFlags.SetBounds(true); EngineShowFlags.Game = 1; } EngineShowFlags.SetVectorFields(GetDrawElement(VectorFields)); CascadePreviewScene.AddComponent(LineBatcher,FTransform::Identity); FEditorViewportClient::Draw(Viewport, Canvas); EngineShowFlags = SavedEngineShowFlags; FCanvasTextItem TextItem( FVector2D::ZeroVector, FText::GetEmpty(), GEngine->GetTinyFont(), FLinearColor::White ); if (GetDrawElement(ParticleCounts) || GetDrawElement(ParticleTimes) || GetDrawElement(ParticleEvents) || GetDrawElement(ParticleMemory) || GetDrawElement(ParticleSystemCompleted)) { // 'Up' from the lower left... FString strOutput; const int32 XPosition = Viewport->GetSizeXY().X - 5; int32 YPosition = Viewport->GetSizeXY().Y - (GetDrawElement(ParticleMemory) ? 15 : 5); UParticleSystemComponent* PartComp = CascadePtr.Pin()->GetParticleSystemComponent(); int32 iWidth, iHeight; if (PartComp->EmitterInstances.Num()) { for (int32 i = 0; i < PartComp->EmitterInstances.Num(); i++) { FParticleEmitterInstance* Instance = PartComp->EmitterInstances[i]; if (!Instance || !Instance->SpriteTemplate) { continue; } UParticleLODLevel* LODLevel = Instance->SpriteTemplate->GetCurrentLODLevel(Instance);//.........这里部分代码省略.........
开发者ID:JustDo1989,项目名称:UnrealEngine4.11-HairWorks,代码行数:101,
示例22: CGAL_assertion_msgLine_d<R> Segment_d<R>::supporting_line() const{ CGAL_assertion_msg((!is_degenerate()), "Segment_d::supporting_line(): degenerate segment cannot be converted."); return Line_d<R>(Base(*this));}
开发者ID:gitrider,项目名称:wxsj2,代码行数:5,
示例23: head_iterator head_iterator(Predicate f, T start) : super_t(Base(start)), m_predicate(f), m_end(false) {}
开发者ID:AndresGalaviz,项目名称:NAO,代码行数:5,
示例24: TDerived开发者ID:GameFusion,项目名称:clang-tools-extra,代码行数:1,
示例25: binary_from_base64 // intel 7.1 doesn't like default copy constructor binary_from_base64(const binary_from_base64 & rhs) : super_t( Base(rhs.base_reference()), detail::to_6_bit<CharType>() ) {}
开发者ID:ANCL,项目名称:autopilot,代码行数:7,
示例26: reverse_acosh_opinline void reverse_acosh_op( size_t d , size_t i_z , size_t i_x , size_t cap_order , const Base* taylor , size_t nc_partial , Base* partial ){ // check assumptions CPPAD_ASSERT_UNKNOWN( NumArg(AcoshOp) == 1 ); CPPAD_ASSERT_UNKNOWN( NumRes(AcoshOp) == 2 ); CPPAD_ASSERT_UNKNOWN( d < cap_order ); CPPAD_ASSERT_UNKNOWN( d < nc_partial ); // Taylor coefficients and partials corresponding to argument const Base* x = taylor + i_x * cap_order; Base* px = partial + i_x * nc_partial; // Taylor coefficients and partials corresponding to first result const Base* z = taylor + i_z * cap_order; Base* pz = partial + i_z * nc_partial; // Taylor coefficients and partials corresponding to auxillary result const Base* b = z - cap_order; // called y in documentation Base* pb = pz - nc_partial; Base inv_b0 = Base(1) / b[0]; // number of indices to access size_t j = d; size_t k; while(j) { // scale partials w.r.t b[j] by 1 / b[0] pb[j] = azmul(pb[j], inv_b0); // scale partials w.r.t z[j] by 1 / b[0] pz[j] = azmul(pz[j], inv_b0); // update partials w.r.t b^0 pb[0] -= azmul(pz[j], z[j]) + azmul(pb[j], b[j]); // update partial w.r.t. x^0 px[0] += azmul(pb[j], x[j]); // update partial w.r.t. x^j px[j] += pz[j] + azmul(pb[j], x[0]); // further scale partial w.r.t. z[j] by 1 / j pz[j] /= Base(j); for(k = 1; k < j; k++) { // update partials w.r.t b^(j-k) pb[j-k] -= Base(k) * azmul(pz[j], z[k]) + azmul(pb[j], b[k]); // update partials w.r.t. x^k px[k] += azmul(pb[j], x[j-k]); // update partials w.r.t. z^k pz[k] -= Base(k) * azmul(pz[j], b[j-k]); } --j; } // j == 0 case px[0] += azmul(pz[0] + azmul(pb[0], x[0]), inv_b0);}
开发者ID:fduffy,项目名称:CppAD,代码行数:68,
示例27: VectorCd<FT,LA> PointCd<FT,LA>::operator-(const Origin&) const { return VectorCd<FT,LA>(Base(*this)); }
开发者ID:dodong471520,项目名称:pap,代码行数:2,
示例28: mb_from_wchar m_bnext = 0; ++(this->base_reference()); m_full = false; } // buffer to handle pending characters int m_bend; int m_bnext; char m_buffer[9]; bool m_full;public: // make composible buy using templated constructor template<class T> mb_from_wchar(BOOST_PFTO_WRAPPER(T) start) : super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))), m_bend(0), m_bnext(0), m_full(false) {} // intel 7.1 doesn't like default copy constructor mb_from_wchar(const mb_from_wchar & rhs) : super_t(rhs.base_reference()), m_bend(rhs.m_bend), m_bnext(rhs.m_bnext), m_full(rhs.m_full) {}};} // namespace iterators} // namespace archive
开发者ID:ALuehmann,项目名称:labstreaminglayer,代码行数:31,
示例29: DomainVectorBase ADFun<Base>::RevTwo( const VectorBase &x, const VectorSize_t &i, const VectorSize_t &j){ size_t i1; size_t j1; size_t k; size_t l; size_t n = Domain(); size_t m = Range(); size_t p = i.size(); // check VectorBase is Simple Vector class with Base elements CheckSimpleVector<Base, VectorBase>(); // check VectorSize_t is Simple Vector class with size_t elements CheckSimpleVector<size_t, VectorSize_t>(); CPPAD_ASSERT_KNOWN( x.size() == n, "RevTwo: Length of x not equal domain dimension for f." ); CPPAD_ASSERT_KNOWN( i.size() == j.size(), "RevTwo: Lenght of the i and j vectors are not equal." ); // point at which we are evaluating the second partials Forward(0, x); // dimension the return value VectorBase ddw(n * p); // direction vector in argument space VectorBase dx(n); for(j1 = 0; j1 < n; j1++) dx[j1] = Base(0); // direction vector in range space VectorBase w(m); for(i1 = 0; i1 < m; i1++) w[i1] = Base(0); // place to hold the results of a reverse calculation VectorBase r(n * 2); // check the indices in i and j for(l = 0; l < p; l++) { i1 = i[l]; j1 = j[l]; CPPAD_ASSERT_KNOWN( i1 < m, "RevTwo: an eleemnt of i not less than range dimension for f." ); CPPAD_ASSERT_KNOWN( j1 < n, "RevTwo: an element of j not less than domain dimension for f." ); } // loop over all forward directions for(j1 = 0; j1 < n; j1++) { // first order forward mode calculation done bool first_done = false; for(l = 0; l < p; l++) if( j[l] == j1 ) { if( ! first_done ) { first_done = true; // first order forward mode in j1 direction dx[j1] = Base(1); Forward(1, dx); dx[j1] = Base(0); } // execute a reverse in this component direction i1 = i[l]; w[i1] = Base(1); r = Reverse(2, w); w[i1] = Base(0); // place the reverse result in return value for(k = 0; k < n; k++) ddw[k * p + l] = r[k * 2 + 1]; } } return ddw;}
开发者ID:barak,项目名称:CppAD-1,代码行数:86,
注:本文中的Base函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ Base64Encode函数代码示例 C++ BarUiMsg函数代码示例 |