diff --git a/pub/src/.deps/curve.Tpo b/pub/src/.deps/curve.Tpo new file mode 100644 index 0000000000000000000000000000000000000000..94f2aeb8f4465f6674e79341052e4a8c4ea809f3 --- /dev/null +++ b/pub/src/.deps/curve.Tpo @@ -0,0 +1,540 @@ +curve.o: curve.cpp /usr/include/c++/4.3/iostream \ + /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.3/ostream /usr/include/c++/4.3/ios \ + /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \ + /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \ + /usr/include/c++/4.3/cstddef \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h /usr/include/wchar.h \ + /usr/include/stdio.h /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/xlocale.h /usr/include/stdint.h \ + /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/char_traits.h \ + /usr/include/c++/4.3/bits/stl_algobase.h \ + /usr/include/c++/4.3/bits/functexcept.h \ + /usr/include/c++/4.3/exception_defines.h \ + /usr/include/c++/4.3/bits/cpp_type_traits.h \ + /usr/include/c++/4.3/ext/type_traits.h \ + /usr/include/c++/4.3/ext/numeric_traits.h \ + /usr/include/c++/4.3/bits/stl_pair.h \ + /usr/include/c++/4.3/bits/stl_move.h \ + /usr/include/c++/4.3/bits/concept_check.h \ + /usr/include/c++/4.3/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.3/bits/stl_iterator.h \ + /usr/include/c++/4.3/debug/debug.h /usr/include/c++/4.3/cstdio \ + /usr/include/stdio.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \ + /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.3/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \ + /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/c++/4.3/bits/ios_base.h \ + /usr/include/c++/4.3/ext/atomicity.h \ + /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/signal.h /usr/include/bits/sigset.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h \ + /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \ + /usr/include/c++/4.3/bits/allocator.h \ + /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \ + /usr/include/c++/4.3/bits/ostream_insert.h \ + /usr/include/c++/4.3/cxxabi-forced.h \ + /usr/include/c++/4.3/bits/stl_function.h \ + /usr/include/c++/4.3/backward/binders.h \ + /usr/include/c++/4.3/bits/basic_string.h \ + /usr/include/c++/4.3/bits/basic_string.tcc \ + /usr/include/c++/4.3/bits/locale_classes.tcc \ + /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \ + /usr/include/c++/4.3/bits/basic_ios.h \ + /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.3/bits/streambuf_iterator.h \ + /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.3/bits/locale_facets.tcc \ + /usr/include/c++/4.3/bits/basic_ios.tcc \ + /usr/include/c++/4.3/bits/ostream.tcc /usr/include/c++/4.3/istream \ + /usr/include/c++/4.3/bits/istream.tcc /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/sys/types.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/sys/sysmacros.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \ + /usr/include/bits/inf.h /usr/include/bits/nan.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/local/include/lmmin.h mystd.h \ + /usr/include/c++/4.3/fstream /usr/include/c++/4.3/bits/codecvt.h \ + /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \ + /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/vector \ + /usr/include/c++/4.3/bits/stl_construct.h \ + /usr/include/c++/4.3/bits/stl_uninitialized.h \ + /usr/include/c++/4.3/bits/stl_vector.h \ + /usr/include/c++/4.3/bits/stl_bvector.h \ + /usr/include/c++/4.3/bits/vector.tcc olm.h boost/shared_ptr.hpp \ + /usr/include/boost/config.hpp /usr/include/boost/config/user.hpp \ + /usr/include/boost/config/select_compiler_config.hpp \ + /usr/include/boost/config/compiler/gcc.hpp \ + /usr/include/boost/config/select_stdlib_config.hpp \ + /usr/include/boost/config/no_tr1/utility.hpp \ + /usr/include/c++/4.3/utility /usr/include/c++/4.3/bits/stl_relops.h \ + /usr/include/boost/config/stdlib/libstdcpp3.hpp \ + /usr/include/boost/config/select_platform_config.hpp \ + /usr/include/boost/config/platform/linux.hpp \ + /usr/include/c++/4.3/cstdlib /usr/include/stdlib.h \ + /usr/include/boost/config/posix_features.hpp \ + /usr/include/boost/config/suffix.hpp /usr/include/c++/4.3/memory \ + /usr/include/c++/4.3/bits/stl_tempbuf.h \ + /usr/include/c++/4.3/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.3/backward/auto_ptr.h /usr/include/boost/assert.hpp \ + /usr/include/assert.h /usr/include/boost/checked_delete.hpp \ + /usr/include/boost/throw_exception.hpp \ + /usr/include/boost/detail/shared_count.hpp \ + /usr/include/boost/detail/bad_weak_ptr.hpp \ + /usr/include/boost/detail/sp_counted_base.hpp \ + /usr/include/boost/detail/sp_counted_base_gcc_x86.hpp \ + /usr/include/c++/4.3/typeinfo \ + /usr/include/boost/detail/sp_counted_impl.hpp \ + /usr/include/c++/4.3/functional \ + /usr/include/boost/detail/workaround.hpp /usr/include/c++/4.3/algorithm \ + /usr/include/c++/4.3/bits/stl_algo.h \ + /usr/include/c++/4.3/bits/algorithmfwd.h \ + /usr/include/c++/4.3/bits/stl_heap.h list.h coord.h scan.h curve.h \ + func.h expr.h readln.h asi.h xax_lex.h /usr/include/gsl/gsl_errno.h \ + /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/gsl/gsl_types.h /usr/include/gsl/gsl_math.h \ + /usr/include/gsl/gsl_sys.h /usr/include/gsl/gsl_machine.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include-fixed/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/float.h \ + /usr/include/gsl/gsl_precision.h /usr/include/gsl/gsl_nan.h \ + /usr/include/gsl/gsl_pow_int.h /usr/include/gsl/gsl_roots.h + +/usr/include/c++/4.3/iostream: + +/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.3/ostream: + +/usr/include/c++/4.3/ios: + +/usr/include/c++/4.3/iosfwd: + +/usr/include/c++/4.3/bits/stringfwd.h: + +/usr/include/c++/4.3/bits/postypes.h: + +/usr/include/c++/4.3/cwchar: + +/usr/include/c++/4.3/cstddef: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/stdint.h: + +/usr/include/c++/4.3/exception: + +/usr/include/c++/4.3/bits/char_traits.h: + +/usr/include/c++/4.3/bits/stl_algobase.h: + +/usr/include/c++/4.3/bits/functexcept.h: + +/usr/include/c++/4.3/exception_defines.h: + +/usr/include/c++/4.3/bits/cpp_type_traits.h: + +/usr/include/c++/4.3/ext/type_traits.h: + +/usr/include/c++/4.3/ext/numeric_traits.h: + +/usr/include/c++/4.3/bits/stl_pair.h: + +/usr/include/c++/4.3/bits/stl_move.h: + +/usr/include/c++/4.3/bits/concept_check.h: + +/usr/include/c++/4.3/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.3/bits/stl_iterator.h: + +/usr/include/c++/4.3/debug/debug.h: + +/usr/include/c++/4.3/cstdio: + +/usr/include/stdio.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/c++/4.3/bits/localefwd.h: + +/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.3/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.3/cctype: + +/usr/include/ctype.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/c++/4.3/bits/ios_base.h: + +/usr/include/c++/4.3/ext/atomicity.h: + +/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/signal.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.3/bits/locale_classes.h: + +/usr/include/c++/4.3/string: + +/usr/include/c++/4.3/bits/allocator.h: + +/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.3/ext/new_allocator.h: + +/usr/include/c++/4.3/new: + +/usr/include/c++/4.3/bits/ostream_insert.h: + +/usr/include/c++/4.3/cxxabi-forced.h: + +/usr/include/c++/4.3/bits/stl_function.h: + +/usr/include/c++/4.3/backward/binders.h: + +/usr/include/c++/4.3/bits/basic_string.h: + +/usr/include/c++/4.3/bits/basic_string.tcc: + +/usr/include/c++/4.3/bits/locale_classes.tcc: + +/usr/include/c++/4.3/streambuf: + +/usr/include/c++/4.3/bits/streambuf.tcc: + +/usr/include/c++/4.3/bits/basic_ios.h: + +/usr/include/c++/4.3/bits/locale_facets.h: + +/usr/include/c++/4.3/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.3/bits/streambuf_iterator.h: + +/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.3/bits/locale_facets.tcc: + +/usr/include/c++/4.3/bits/basic_ios.tcc: + +/usr/include/c++/4.3/bits/ostream.tcc: + +/usr/include/c++/4.3/istream: + +/usr/include/c++/4.3/bits/istream.tcc: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/huge_valf.h: + +/usr/include/bits/huge_vall.h: + +/usr/include/bits/inf.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/local/include/lmmin.h: + +mystd.h: + +/usr/include/c++/4.3/fstream: + +/usr/include/c++/4.3/bits/codecvt.h: + +/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h: + +/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.3/bits/fstream.tcc: + +/usr/include/c++/4.3/vector: + +/usr/include/c++/4.3/bits/stl_construct.h: + +/usr/include/c++/4.3/bits/stl_uninitialized.h: + +/usr/include/c++/4.3/bits/stl_vector.h: + +/usr/include/c++/4.3/bits/stl_bvector.h: + +/usr/include/c++/4.3/bits/vector.tcc: + +olm.h: + +boost/shared_ptr.hpp: + +/usr/include/boost/config.hpp: + +/usr/include/boost/config/user.hpp: + +/usr/include/boost/config/select_compiler_config.hpp: + +/usr/include/boost/config/compiler/gcc.hpp: + +/usr/include/boost/config/select_stdlib_config.hpp: + +/usr/include/boost/config/no_tr1/utility.hpp: + +/usr/include/c++/4.3/utility: + +/usr/include/c++/4.3/bits/stl_relops.h: + +/usr/include/boost/config/stdlib/libstdcpp3.hpp: + +/usr/include/boost/config/select_platform_config.hpp: + +/usr/include/boost/config/platform/linux.hpp: + +/usr/include/c++/4.3/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/boost/config/posix_features.hpp: + +/usr/include/boost/config/suffix.hpp: + +/usr/include/c++/4.3/memory: + +/usr/include/c++/4.3/bits/stl_tempbuf.h: + +/usr/include/c++/4.3/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.3/backward/auto_ptr.h: + +/usr/include/boost/assert.hpp: + +/usr/include/assert.h: + +/usr/include/boost/checked_delete.hpp: + +/usr/include/boost/throw_exception.hpp: + +/usr/include/boost/detail/shared_count.hpp: + +/usr/include/boost/detail/bad_weak_ptr.hpp: + +/usr/include/boost/detail/sp_counted_base.hpp: + +/usr/include/boost/detail/sp_counted_base_gcc_x86.hpp: + +/usr/include/c++/4.3/typeinfo: + +/usr/include/boost/detail/sp_counted_impl.hpp: + +/usr/include/c++/4.3/functional: + +/usr/include/boost/detail/workaround.hpp: + +/usr/include/c++/4.3/algorithm: + +/usr/include/c++/4.3/bits/stl_algo.h: + +/usr/include/c++/4.3/bits/algorithmfwd.h: + +/usr/include/c++/4.3/bits/stl_heap.h: + +list.h: + +coord.h: + +scan.h: + +curve.h: + +func.h: + +expr.h: + +readln.h: + +asi.h: + +xax_lex.h: + +/usr/include/gsl/gsl_errno.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/gsl/gsl_types.h: + +/usr/include/gsl/gsl_math.h: + +/usr/include/gsl/gsl_sys.h: + +/usr/include/gsl/gsl_machine.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include-fixed/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/float.h: + +/usr/include/gsl/gsl_precision.h: + +/usr/include/gsl/gsl_nan.h: + +/usr/include/gsl/gsl_pow_int.h: + +/usr/include/gsl/gsl_roots.h: diff --git a/pub/src/curve.cpp b/pub/src/curve.cpp index a6c39e90c390ec690fcfb2697529aa4ae3a0b2a3..6fa443dec6226aaf27e2916dc72ac2dc1db3946b 100644 --- a/pub/src/curve.cpp +++ b/pub/src/curve.cpp @@ -134,7 +134,7 @@ void NCurveFile::setFunction( void* _f, const string& expr ) size_t np = T->npar(); for( size_t ip=0; ip<np; ip++ ){ f->PCo.push_back( CCoord("p" + strg(ip), "") ); - f->Fixed.push_back( 0 ); + f->Fixed.push_back( CList() ); } f->weight_y_log = false; f->cv_intmod = NCurveFile::numint_cvmode; @@ -175,8 +175,7 @@ vector<string> COlc::pInfo() const lin += wrd; } for ( uint ip=0; ip<nPar(); ip++ ) { - snprintf( wrd, PINFO_WRD_SIZ, "p%02d %s ", ip, - Fixed[ip] ? "fix" : " " ); + snprintf( wrd, PINFO_WRD_SIZ, "p%02d ", ip ); lin += wrd; } ret.push_back( lin ); @@ -190,7 +189,8 @@ vector<string> COlc::pInfo() const lin += wrd; } for ( uint ip=0; ip<nPar(); ip++ ) { - snprintf( wrd, PINFO_WRD_SIZ, "%-12.7g ", VC[j].P[ip] ); + snprintf( wrd, PINFO_WRD_SIZ, "%c%-12.7g ", + Fixed[ip].contained(j), VC[j].P[ip] ); lin += wrd; } ret.push_back( lin ); @@ -240,9 +240,12 @@ void NCurveFile::OprPar(string llabel) //! Fix or unfix curve parameters. -void NCurveFile::SetFixed(string how) +void NCurveFile::SetFixed() { + string lin = sask( "Change fix status: { <ip>+ | <ip>- | <ip>=<j-list> }" ); + while( true ) { + mystd::string_extract_word( lin, const char *how_opts[] = { "", "+", "-" }; int ihow; for ( ihow=0; ihow<=2; ++ihow ) @@ -378,11 +381,11 @@ void globalEvaluate( double* par, int m_dat, double* fvec, mydata = (FitDatTyp*) data; COlc *fc = mydata->fc; const COld *fd = mydata->fd; - CCurve *c = &(fc->VC[ mydata-> j ]); + CCurve *c = &(fc->VC[ mydata->j ]); uint ip = 0; for( uint i=0; i<fc->nPar(); ++i ) - if ( !(fc->Fixed[i]) ) + if ( !(fc->Fixed[i].contained( mydata->j )) ) c->P[i] = par[ip++]; const CScan *s = &(fd->VS[mydata->j]); @@ -511,15 +514,6 @@ void NCurveFile::Fit( bool _allow_slow_conv ) data.fd = fd; uint np = fc->T->npar(); - - // determine number of free parameters - uint npfree = 0; - for ( uint ip=0; ip<np; ++ip ) - if( !fc->Fixed[ip] ) - ++npfree; - if (npfree<=0) - throw string( "function must depend on some free p-parameters" ); - Par.resize(npfree); lm_initialize_control( &control ); control.epsilon = NFitTune::Epsilon; @@ -531,9 +525,18 @@ void NCurveFile::Fit( bool _allow_slow_conv ) printf("%3d", j); D = &(fd->VS[j]); C = &(fc->VC[j]); + + // determine number of free parameters + uint npfree = 0; + for ( uint ip=0; ip<np; ++ip ) + if( !fc->Fixed[ip].contained(j) ) + ++npfree; + if (npfree<=0) + continue; + Par.resize(npfree); uint ipf=0; for ( uint ip=0; ip<np; ip++ ) { - if ( !fc->Fixed[ip] ) + if ( !fc->Fixed[ip].contained(j) ) Par[ipf++] = C->P[ip]; } diff --git a/pub/src/curve.h b/pub/src/curve.h index 9a4ccfbf5dca7975226273038efedaa4ff2a900e..abbdeb8151e1cdd157a5ac590ed8d7453a9b6dce 100644 --- a/pub/src/curve.h +++ b/pub/src/curve.h @@ -26,7 +26,7 @@ namespace NCurveFile { void ShowPar( void ); void EditPar( void ); void OprPar( string llabel ); - void SetFixed( string how ); + void SetFixed(); void SetFitTuningPars( string which ); void Fit( bool _allow_slow_conv ); diff --git a/pub/src/frida2.cpp b/pub/src/frida2.cpp index 5f494ceaacb0977c574bb72e9d5ce1a49d73a825..9d1985057db5dc168c71624bd93efc1010f42ad7 100644 --- a/pub/src/frida2.cpp +++ b/pub/src/frida2.cpp @@ -158,8 +158,8 @@ int main() NCurveFile::Fit( false ); } else if (cmd == "cfs") { NCurveFile::Fit( true ); - } else if (cmd.substr(0,2) == "cx") { - NCurveFile::SetFixed(cmd.substr(2)); + } else if (cmd == "cx") { + NCurveFile::SetFixed(); } else if (cmd == "cyli") { NCurveFile::SetProperties("yli"); } else if (cmd == "cylg") { diff --git a/pub/src/olm.h b/pub/src/olm.h index 2825dc1fac820e8cc62c4a16c4beeac33b6ac0fb..be7fa7be9c91f2696408ab208435d29a6a5fbc09 100644 --- a/pub/src/olm.h +++ b/pub/src/olm.h @@ -6,7 +6,9 @@ #include "curve.h" #include "func.h" -class COlo { // on-line object (virtual base class for COld, COlc) +//! Online object: virtual base class for COld, COlc. + +class COlo { public: string name; vector<string> lDoc; @@ -26,7 +28,9 @@ class COlo { // on-line object (virtual base class for COld, COlc) inline uint nZ() const { return ZCo.size(); }; }; -class COld : public COlo { // on-line data file +//! Online data file. + +class COld : public COlo { public: vector<CScan> VS; @@ -46,14 +50,16 @@ class COld : public COlo { // on-line data file uint nPts() const; // 0 unless all spectra j have same nPts(j) }; -class COlc : public COlo { // on-line curves +//! Online curve file. + +class COlc : public COlo { public: string expr; boost::shared_ptr<class CTree> T; uint kd; // internal number of data file to be fitted vector<CCoord> PCo; - vector<int> Fixed; // should be vector<bool>, but trouble with IListV + vector<CList> Fixed; vector<CCurve> VC; bool weight_y_log; uint kconv; @@ -77,7 +83,8 @@ class COlc : public COlo { // on-line curves string pInfoCat() const; }; -// the following is needed to pack (pointers to) COld and COlc into ONE vector : +//! Element of online memory: pointer to COlo. + class CEle { enum eleTyp { DATA, CURVE }; eleTyp Typ; @@ -142,8 +149,9 @@ class CEle { }; }; - -namespace NOlm { // on-line memory +//! The online memory. + +namespace NOlm { // the data: extern vector<CEle> MOM; // the mother of all on-line data @@ -206,6 +214,8 @@ namespace NOlm { // on-line memory }; }; +//! Chunks of frequently used code. + #define OUT_TO_IN( overwrite, fin, ftmp, fout ) \ if (overwrite) { \ fout = fin; \