diff --git a/pub/src/.deps/curve.Tpo b/pub/src/.deps/curve.Tpo deleted file mode 100644 index 94f2aeb8f4465f6674e79341052e4a8c4ea809f3..0000000000000000000000000000000000000000 --- a/pub/src/.deps/curve.Tpo +++ /dev/null @@ -1,540 +0,0 @@ -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/asi.cpp b/pub/src/asi.cpp index ccc43218184249652fa4690b0ab5829de8a02a2a..d6e728016ded3865c8a3dd4f3e091521bc6d711e 100644 --- a/pub/src/asi.cpp +++ b/pub/src/asi.cpp @@ -43,7 +43,7 @@ char dask_decode( const string& resp, double *rval ) { if ( resp=="" ) { return 'd'; - } else if ( !mystd::any2dbl( resp, rval) ) { + } else if ( mystd::any2dbl( resp, rval) ) { return 'v'; } else return 'h'; diff --git a/pub/src/coord.cpp b/pub/src/coord.cpp index eecec876abac458628ce75a936ca47b1bd426446..fd650ddb8d264990aff9901dcc1541791992650e 100644 --- a/pub/src/coord.cpp +++ b/pub/src/coord.cpp @@ -114,16 +114,6 @@ ostream& operator<< (ostream &s, CCoord C) // class CParam // //**************************************************************************// -int CParam::init_from_a01( const string in ) -{ - int ji = in.find_first_not_of(" \t"); - int ret=-9; - if( ji>=20 || ( ret = mystd::any2dbl( in.substr(ji,20), &val ) ) ) - return ret; - Co.load_a01( in.substr(21) ); - return 0; -} - string CParam::str() const { return strg(val) + string(" ") + Co.str(); diff --git a/pub/src/coord.h b/pub/src/coord.h index cdd83421d53294c52af8b03bc3782f0c6ec0eb64..60ab6a09ef3ee9e55249da1d5b901524902bb5f1 100644 --- a/pub/src/coord.h +++ b/pub/src/coord.h @@ -38,6 +38,5 @@ class CParam { { Co = CCoord(_name, _unit); val = vin; }; string str(void) const; - int init_from_a01( const string in ); }; diff --git a/pub/src/curve.cpp b/pub/src/curve.cpp index 6fa443dec6226aaf27e2916dc72ac2dc1db3946b..75327c5449601106ac678fb67115939f30295141 100644 --- a/pub/src/curve.cpp +++ b/pub/src/curve.cpp @@ -6,6 +6,7 @@ //**************************************************************************// #include <iostream> +#include <boost/regex.hpp> #include <stdlib.h> #include <math.h> #include <lmmin.h> @@ -242,8 +243,44 @@ void NCurveFile::OprPar(string llabel) void NCurveFile::SetFixed() { - string lin = sask( "Change fix status: { <ip>+ | <ip>- | <ip>=<j-list> }" ); + // Everything is driven by one input string + string lin; + while ( true ) { + lin = sask( "Change fix status", "help" ); + if ( lin=="h" || lin=="help" ) { + cout << + "cx input:\n" + " blank separated list of instructions\n" + "instruction:\n" + " <ip>+ # to make parameter number ip fixed\n" + " <ip>- # to release the fixation\n" + " <ip>=<j-list> # to fix the parameter for scans in j-list\n"; + continue; + } else if ( lin=="q" ) + return; + break; + } + boost::sregex_token_iterator eos; + boost::regex re1( "\\s+" ); + boost::regex re2( "(\\d+)(\\+|\\-|\\=)(.*)" ); + + // Split input string in words + boost::sregex_token_iterator _wrd( lin.begin(), lin.end(), re1, -1 ); + while ( _wrd!=eos ) { + string wrd = *_wrd++; + boost::smatch tokens; + if( !boost::regex_match( wrd, tokens, re2 ) ) + throw "invalid instruction "+wrd; + if ( tokens[2] == "+" ) + cout << "+!!!\n"; + else if ( tokens[2] == "-" ) + cout << "-!!!\n"; + else if ( tokens[2] == "=" ) + cout << "=!!!\n"; + } + +/* while( true ) { mystd::string_extract_word( lin, const char *how_opts[] = { "", "+", "-" }; @@ -273,6 +310,7 @@ void NCurveFile::SetFixed() } } } +*/ } diff --git a/pub/src/dualplot.cpp b/pub/src/dualplot.cpp index 6fa576afe32bf69fc7e607b6b54e40ca2af4bdcf..b9f10a2b22725a6cc7975a2111f35612c657fe9b 100644 --- a/pub/src/dualplot.cpp +++ b/pub/src/dualplot.cpp @@ -63,9 +63,9 @@ void CAxis::set_from_string( const string& in ) } string s1, s2; mystd::string_extract_word( in, &s1, &s2 ); - if ( mystd::any2dbl(s1,&inf) ) + if ( !mystd::any2dbl(s1,&inf) ) throw string( "invalid lower bound, expecting real number" ); - if ( mystd::any2dbl(s2,&sup) ) + if ( !mystd::any2dbl(s2,&sup) ) throw string( "invalid upper bound, expecting real number" ); } diff --git a/pub/src/edif.cpp b/pub/src/edif.cpp index c75fd6c11f2299fb94104f7948f0fe04c35006ff..4750c16cb7ba5ee45dda70de599c55d24762825d 100644 --- a/pub/src/edif.cpp +++ b/pub/src/edif.cpp @@ -782,7 +782,7 @@ void NEdif::ReadTab( string qualif ) ++n_in; if( lin.substr(0,4)=="#rpa" ){ mystd::string_extract_word( lin.substr(4), &s1, &s2 ); - if( mystd::any2dbl( s2, &val ) ) + if( !mystd::any2dbl( s2, &val ) ) printf( "invalid parameter line [%s]\n", lin.c_str() ); else olf.RPar.push_back( CParam( s2, "", val) ); diff --git a/pub/src/file_in.cpp b/pub/src/file_in.cpp index 80633aa151af61099415f5ed064d5d60353dfd3a..14745813a7006e44bbdb511801ac08cf16f493c1 100644 --- a/pub/src/file_in.cpp +++ b/pub/src/file_in.cpp @@ -138,7 +138,7 @@ void NFileIn::Load_08( FILE *F_in, string flong ) co.unit = y.getscalar( "param(" + co.name + ").unit" ); y.checkvalue( "value" ); val = y.getscalar( "param(" + co.name + ").value" ); - if( mystd::any2dbl( val, &num ) ) + if( !mystd::any2dbl( val, &num ) ) throw string( "param(" ) + co.name + "): invalid value " + val; olo->RPar.push_back( CParam( co, num ) ); y.checktype( YAML_MAPPING_END_EVENT, @@ -169,7 +169,7 @@ void NFileIn::Load_08( FILE *F_in, string flong ) for( iz=0; iz<olo->ZCo.size(); ++iz ){ y.checkvalue( "z" + strg(iz) ); val = y.getscalar( "z" + strg(iz) + ".value" ); - if( mystd::any2dbl( val, &num ) ) + if( !mystd::any2dbl( val, &num ) ) throw "z" + strg(iz) + ": invalid value " + val; z.push_back( num ); } @@ -195,7 +195,7 @@ void NFileIn::Load_08( FILE *F_in, string flong ) for( size_t ip=0; ip<((COlc*)olo)->nPar(); ++ip ){ y.checkvalue( "p" + strg(ip) ); val = y.getscalar( "p" + strg(ip) + ".value" ); - if( mystd::any2dbl( val, &num ) ) + if( !mystd::any2dbl( val, &num ) ) throw "p" + strg(ip) + ": invalid value " + val; cout.P.push_back( num ); } @@ -282,9 +282,13 @@ void NFileIn::Load_01( FILE *F_in, string flong ) co.load_a01(val); old.ZCo.push_back(co); } else if (lin.substr(0,4)=="rpa ") { - old.RPar.push_back( CParam() ); - if( old.RPar.back().init_from_a01( lin.substr(4) ) ) + string in = lin.substr(4); + int ji = in.find_first_not_of(" \t"); + double dval; + if( ji>=20 || !mystd::any2dbl( in.substr(ji,20), &dval ) ) throw string( "invalid rpa line\n" ); + old.RPar.push_back( CParam( CCoord(), dval ) ); + throw string( "a01 file contains rpa section. Check the source code preceeding this error message. It is possibly broken. If not, remove this exception.\n" ); } else if (key=="#j ") { if ( sscanf(val.c_str(), "%u", &nj)!=1 ) throw string( "after key #j no no. of scans\n"); diff --git a/pub/src/mystd.cpp b/pub/src/mystd.cpp index 677816305b40a08a80d14fa7500f0c04beff965f..1c81762094fb342eeab179de98f3e4c6b447cb50 100644 --- a/pub/src/mystd.cpp +++ b/pub/src/mystd.cpp @@ -173,50 +173,50 @@ int mystd::str2vec(string inp, vector<double> *V, uint nmax, bool force) return 0; } -int mystd::any2dbl( const string inp, double *val ) +bool mystd::any2dbl( const string inp, double *val ) { if(!inp.size()) { cout << "expecting double, found empty input\n"; - return -1; + return false; } if( inp=="-inf" || inp=="-oo" ){ *val = -INFINITY; - return 0; + return false; } if( inp=="inf" || inp=="oo" || inp=="+inf" || inp=="+oo" ){ *val = INFINITY; - return 0; + return false; } if(!strchr("+-0123456789.", inp[0])) { cout << "expecting double, found bad char[0] in [" << inp << "]\n"; - return -2; + return false; } double mant; int expt; if (sscanf(inp.c_str(), "%lgm%d", &mant, &expt)==2) { *val = mant * pow(10.e0, (double)(-expt)); - return 0; + return true; } if (sscanf(inp.c_str(), "%lg", val)==1) - return 0; + return true; cout << "expecting double, sscanf failed\n"; - return -9; + return false; } -int mystd::any2int(const string inp, int *val) +bool mystd::any2int(const string inp, int *val) { if(!inp.size()) { cout << "expecting integer, found empty input\n"; - return -1; + return false; } if(!strchr("+-0123456789", inp[0])) { cout << "expecting integer, found bad char[0] in [" << inp << "]\n"; - return -2; + return false; } - if (sscanf(inp.c_str(), "%d", val)==1) return 0; + if (sscanf(inp.c_str(), "%d", val)==1) return true; cout << "expecting integer, sscanf failed\n"; - return -9; + return false; } void mystd::string_extract_word( const string in, string *out1, string *out2 ) diff --git a/pub/src/mystd.h b/pub/src/mystd.h index c04e31671f3b4bb3d7345cf77bdb8ae355e512b5..d29125cad6f0f7fc50a05ae20eb09cc671c50abd 100644 --- a/pub/src/mystd.h +++ b/pub/src/mystd.h @@ -28,8 +28,8 @@ namespace mystd { //! convert from string int str2vec( string inp, vector<double> *V, uint nmax=0, bool force=true ); - int any2dbl( const string inp, double *val ); - int any2int( const string inp, int *val ); + bool any2dbl( const string inp, double *val ); + bool any2int( const string inp, int *val ); void string_extract_word( const string in, string *out1, string *out2 ); void string_extract_line( const string in, string *out1, string *out2 ); diff --git a/pub/src/rssm.cpp b/pub/src/rssm.cpp index 99a279137bf81ebdf37b88abe95ed235c520938c..24666dff3540c90443dd549d58884298e07c2dd9 100644 --- a/pub/src/rssm.cpp +++ b/pub/src/rssm.cpp @@ -86,7 +86,7 @@ void RssmRawFile::RdRawYam( FILE *F_in ) strptime( date_string, "%F %A %H:%M:%S", &date_broken ); measured_until = mktime( &date_broken ); } else if ( key=="ndet" ){ - if( mystd::any2int( val, &ndet ) ) + if( !mystd::any2int( val, &ndet ) ) throw string( "invalid ndet" ); } else if ( key=="daq_time_step" ){ mystd::string_extract_word( val, &bla, &blub ); @@ -112,7 +112,7 @@ void RssmRawFile::RdRawYam( FILE *F_in ) throw string( "invalid Det angle entry" ); if( key != "angle" ) throw string ( "missing angle" ); - if( mystd::any2dbl( val, &num ) ){ + if( !mystd::any2dbl( val, &num ) ){ num = 0; printf( "warning: invalid angle %s\n", val.c_str() ); } @@ -140,7 +140,7 @@ void RssmRawFile::RdRawYam( FILE *F_in ) throw string ( "E-Hist: seq: no seq" ); y.done(); val = y.getscalar( "x-value" ); - if( mystd::any2dbl( val, &num ) ) + if( !mystd::any2dbl( val, &num ) ) throw string( "E-Hist: invalid x-value " ) + val; for( int i=0; i<4; ++i ) rawdata[i].push_back( num ); @@ -174,7 +174,7 @@ void RssmRawFile::RdRawYam( FILE *F_in ) throw string ( "C-Hist: seq: no seq" ); y.done(); val = y.getscalar( "x-value" ); - if( mystd::any2dbl( val, &num ) ) + if( !mystd::any2dbl( val, &num ) ) throw string( "C-Hist: invalid x-value " ) + val; for( int i=4; i<6; ++i ) rawdata[i].push_back( num );