passenger 4.0.20 → 4.0.21
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +8 -8
- checksums.yaml.gz.asc +7 -7
- data.tar.gz.asc +7 -7
- data/.gitignore +1 -0
- data/.travis.yml +1 -1
- data/NEWS +15 -0
- data/README.md +5 -3
- data/Rakefile +1 -0
- data/bin/passenger-config +1 -5
- data/bin/passenger-install-apache2-module +53 -5
- data/bin/passenger-install-nginx-module +19 -6
- data/bin/passenger-memory-stats +3 -3
- data/build/agents.rb +11 -8
- data/build/apache2.rb +9 -5
- data/build/basics.rb +15 -21
- data/build/common_library.rb +16 -6
- data/build/cplusplus_support.rb +5 -5
- data/build/cxx_tests.rb +3 -3
- data/build/documentation.rb +1 -1
- data/build/misc.rb +4 -37
- data/build/node_tests.rb +29 -0
- data/build/oxt_tests.rb +1 -1
- data/build/packaging.rb +29 -10
- data/build/preprocessor.rb +2 -1
- data/build/test_basics.rb +15 -6
- data/debian.template/locations.ini.template +1 -0
- data/debian.template/passenger.install.template +1 -0
- data/dev/copy_boost_headers.rb +7 -3
- data/dev/run_travis.sh +32 -16
- data/doc/Users guide Apache.idmap.txt +22 -34
- data/doc/Users guide Apache.txt +20 -234
- data/doc/Users guide Nginx.idmap.txt +84 -66
- data/doc/Users guide Nginx.txt +50 -1
- data/doc/Users guide Standalone.idmap.txt +74 -0
- data/doc/Users guide Standalone.txt +22 -9
- data/doc/Users guide.txt +51 -0
- data/doc/users_guide_snippets/environment_variables.txt +0 -3
- data/doc/users_guide_snippets/installation.txt +337 -380
- data/doc/users_guide_snippets/installation/run_installer.txt +58 -0
- data/doc/users_guide_snippets/installation/verify_running_epilogue.txt +6 -0
- data/doc/users_guide_snippets/support_information.txt +2 -9
- data/doc/users_guide_snippets/troubleshooting/default.txt +112 -0
- data/doc/users_guide_snippets/troubleshooting/rails.txt +56 -0
- data/doc/users_guide_snippets/where_to_get_support.txt +9 -0
- data/ext/apache2/Bucket.h +1 -1
- data/ext/apache2/Configuration.hpp +0 -44
- data/ext/apache2/CreateDirConfig.cpp +1 -1
- data/ext/apache2/CreateDirConfig.cpp.erb +1 -1
- data/ext/apache2/Hooks.cpp +28 -21
- data/ext/apache2/MergeDirConfig.cpp +1 -0
- data/ext/apache2/MergeDirConfig.cpp.erb +1 -1
- data/ext/apache2/SetHeaders.cpp +73 -0
- data/ext/apache2/SetHeaders.cpp.erb +88 -0
- data/ext/boost/algorithm/string/detail/find_format.hpp +5 -5
- data/ext/boost/algorithm/string/detail/find_format_all.hpp +5 -5
- data/ext/boost/algorithm/string/detail/finder.hpp +1 -1
- data/ext/boost/algorithm/string/formatter.hpp +2 -2
- data/ext/boost/assert.hpp +6 -1
- data/ext/boost/atomic.hpp +18 -0
- data/ext/boost/atomic/atomic.hpp +241 -0
- data/ext/boost/atomic/detail/base.hpp +585 -0
- data/ext/boost/atomic/detail/cas32strong.hpp +885 -0
- data/ext/boost/atomic/detail/cas32weak.hpp +947 -0
- data/ext/boost/atomic/detail/cas64strong.hpp +443 -0
- data/ext/boost/atomic/detail/config.hpp +54 -0
- data/ext/boost/atomic/detail/gcc-alpha.hpp +368 -0
- data/ext/boost/atomic/detail/gcc-armv6plus.hpp +252 -0
- data/ext/boost/atomic/detail/gcc-cas.hpp +157 -0
- data/ext/boost/atomic/detail/gcc-ppc.hpp +2850 -0
- data/ext/boost/atomic/detail/gcc-sparcv9.hpp +1259 -0
- data/ext/boost/atomic/detail/gcc-x86.hpp +1766 -0
- data/ext/boost/atomic/detail/generic-cas.hpp +206 -0
- data/ext/boost/atomic/detail/interlocked.hpp +200 -0
- data/ext/boost/atomic/detail/linux-arm.hpp +189 -0
- data/ext/boost/atomic/detail/lockpool.hpp +97 -0
- data/ext/boost/atomic/detail/platform.hpp +62 -0
- data/ext/boost/atomic/detail/type-classification.hpp +45 -0
- data/ext/boost/chrono/config.hpp +8 -3
- data/ext/boost/chrono/duration.hpp +9 -10
- data/ext/boost/chrono/system_clocks.hpp +1 -1
- data/ext/boost/chrono/time_point.hpp +4 -3
- data/ext/boost/config/auto_link.hpp +53 -52
- data/ext/boost/config/compiler/borland.hpp +1 -0
- data/ext/boost/config/compiler/clang.hpp +24 -1
- data/ext/boost/config/compiler/codegear.hpp +1 -0
- data/ext/boost/config/compiler/common_edg.hpp +1 -0
- data/ext/boost/config/compiler/cray.hpp +1 -0
- data/ext/boost/config/compiler/digitalmars.hpp +1 -0
- data/ext/boost/config/compiler/gcc.hpp +29 -3
- data/ext/boost/config/compiler/gcc_xml.hpp +2 -1
- data/ext/boost/config/compiler/hp_acc.hpp +1 -0
- data/ext/boost/config/compiler/intel.hpp +1 -1
- data/ext/boost/config/compiler/metrowerks.hpp +1 -0
- data/ext/boost/config/compiler/mpw.hpp +1 -0
- data/ext/boost/config/compiler/pathscale.hpp +1 -0
- data/ext/boost/config/compiler/pgi.hpp +1 -0
- data/ext/boost/config/compiler/sunpro_cc.hpp +1 -0
- data/ext/boost/config/compiler/vacpp.hpp +3 -2
- data/ext/boost/config/compiler/visualc.hpp +25 -11
- data/ext/boost/config/platform/vxworks.hpp +353 -15
- data/ext/boost/config/select_compiler_config.hpp +4 -4
- data/ext/boost/config/stdlib/dinkumware.hpp +10 -3
- data/ext/boost/config/stdlib/libstdcpp3.hpp +2 -1
- data/ext/boost/config/suffix.hpp +45 -19
- data/ext/boost/date_time/format_date_parser.hpp +1 -11
- data/ext/boost/date_time/strings_from_facet.hpp +5 -3
- data/ext/boost/detail/atomic_redef_macros.hpp +19 -0
- data/ext/boost/detail/atomic_undef_macros.hpp +39 -0
- data/ext/boost/detail/endian.hpp +52 -4
- data/ext/boost/detail/scoped_enum_emulation.hpp +10 -10
- data/ext/boost/detail/select_type.hpp +36 -0
- data/ext/boost/exception/current_exception_cast.hpp +1 -1
- data/ext/boost/exception/detail/error_info_impl.hpp +3 -5
- data/ext/boost/exception/detail/exception_ptr.hpp +3 -3
- data/ext/boost/exception/detail/is_output_streamable.hpp +1 -1
- data/ext/boost/exception/detail/object_hex_dump.hpp +1 -1
- data/ext/boost/exception/detail/type_info.hpp +1 -1
- data/ext/boost/exception/diagnostic_information.hpp +15 -14
- data/ext/boost/exception/exception.hpp +1 -1
- data/ext/boost/exception/get_error_info.hpp +1 -1
- data/ext/boost/exception/info.hpp +12 -13
- data/ext/boost/exception/to_string.hpp +6 -1
- data/ext/boost/exception/to_string_stub.hpp +9 -1
- data/ext/boost/foreach.hpp +5 -5
- data/ext/boost/function/function_template.hpp +6 -6
- data/ext/boost/functional/hash/detail/float_functions.hpp +90 -0
- data/ext/boost/functional/hash/detail/hash_float.hpp +11 -2
- data/ext/boost/functional/hash/extensions.hpp +14 -2
- data/ext/boost/functional/hash/hash.hpp +26 -5
- data/ext/boost/get_pointer.hpp +17 -2
- data/ext/boost/integer_traits.hpp +1 -1
- data/ext/boost/lexical_cast.hpp +615 -395
- data/ext/boost/libs/atomic/lockpool.cpp +24 -0
- data/ext/boost/libs/system/src/error_code.cpp +25 -18
- data/ext/boost/libs/thread/src/future.cpp +7 -5
- data/ext/boost/libs/thread/src/pthread/once.cpp +9 -3
- data/ext/boost/libs/thread/src/pthread/once_atomic.cpp +90 -0
- data/ext/boost/libs/thread/src/pthread/thread.cpp +129 -95
- data/ext/boost/libs/thread/src/pthread/timeconv.inl +20 -1
- data/ext/boost/limits.hpp +1 -1
- data/ext/boost/math/policies/policy.hpp +10 -0
- data/ext/boost/math/special_functions/detail/round_fwd.hpp +17 -4
- data/ext/boost/math/special_functions/fpclassify.hpp +114 -45
- data/ext/boost/math/special_functions/math_fwd.hpp +195 -83
- data/ext/boost/math/special_functions/sign.hpp +13 -8
- data/ext/boost/math/tools/config.hpp +38 -16
- data/ext/boost/move/algorithm.hpp +275 -0
- data/ext/boost/move/core.hpp +332 -0
- data/ext/boost/move/detail/config_begin.hpp +23 -0
- data/ext/boost/move/detail/config_end.hpp +20 -0
- data/ext/boost/move/detail/meta_utils.hpp +158 -0
- data/ext/boost/move/iterator.hpp +298 -0
- data/ext/boost/move/move.hpp +10 -1256
- data/ext/boost/move/traits.hpp +142 -0
- data/ext/boost/move/utility.hpp +194 -0
- data/ext/boost/mpl/assert.hpp +72 -4
- data/ext/boost/noncopyable.hpp +15 -3
- data/ext/boost/pointer_to_other.hpp +55 -0
- data/ext/boost/range/concepts.hpp +4 -4
- data/ext/boost/range/detail/extract_optional_type.hpp +1 -1
- data/ext/boost/range/empty.hpp +1 -1
- data/ext/boost/range/iterator_range_core.hpp +4 -1
- data/ext/boost/range/iterator_range_io.hpp +2 -2
- data/ext/boost/ratio/config.hpp +6 -0
- data/ext/boost/ratio/detail/overflow_helpers.hpp +2 -2
- data/ext/boost/smart_ptr/allocate_shared_array.hpp +250 -0
- data/ext/boost/smart_ptr/detail/allocate_array_helper.hpp +169 -0
- data/ext/boost/smart_ptr/detail/array_deleter.hpp +124 -0
- data/ext/boost/smart_ptr/detail/array_traits.hpp +53 -0
- data/ext/boost/smart_ptr/detail/array_utility.hpp +178 -0
- data/ext/boost/smart_ptr/detail/make_array_helper.hpp +157 -0
- data/ext/boost/smart_ptr/detail/operator_bool.hpp +16 -9
- data/ext/boost/smart_ptr/detail/shared_count.hpp +78 -7
- data/ext/boost/smart_ptr/detail/sp_convertible.hpp +15 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base.hpp +12 -6
- data/ext/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_aix.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_nt.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_pt.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +162 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_spin.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_sync.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_impl.hpp +15 -0
- data/ext/boost/smart_ptr/detail/sp_forward.hpp +39 -0
- data/ext/boost/smart_ptr/detail/sp_has_sync.hpp +19 -3
- data/ext/boost/smart_ptr/detail/sp_if_array.hpp +31 -0
- data/ext/boost/smart_ptr/detail/sp_nullptr_t.hpp +45 -0
- data/ext/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +5 -12
- data/ext/boost/smart_ptr/enable_shared_from_this.hpp +4 -4
- data/ext/boost/smart_ptr/make_shared.hpp +5 -1060
- data/ext/boost/smart_ptr/make_shared_array.hpp +247 -0
- data/ext/boost/smart_ptr/make_shared_object.hpp +1128 -0
- data/ext/boost/smart_ptr/scoped_array.hpp +32 -7
- data/ext/boost/smart_ptr/scoped_ptr.hpp +31 -5
- data/ext/boost/smart_ptr/shared_array.hpp +135 -20
- data/ext/boost/smart_ptr/shared_ptr.hpp +444 -126
- data/ext/boost/smart_ptr/weak_ptr.hpp +39 -28
- data/ext/boost/static_assert.hpp +74 -17
- data/ext/boost/system/error_code.hpp +76 -68
- data/ext/boost/system/system_error.hpp +5 -1
- data/ext/boost/thread/barrier.hpp +6 -2
- data/ext/boost/thread/completion_latch.hpp +233 -0
- data/ext/boost/thread/condition.hpp +6 -1
- data/ext/boost/thread/detail/async_func.hpp +571 -0
- data/ext/boost/thread/detail/config.hpp +248 -40
- data/ext/boost/thread/detail/counter.hpp +93 -0
- data/ext/boost/thread/detail/delete.hpp +12 -0
- data/ext/boost/thread/detail/invoke.hpp +1351 -0
- data/ext/boost/thread/detail/is_convertible.hpp +48 -0
- data/ext/boost/thread/detail/lockable_wrapper.hpp +45 -0
- data/ext/boost/thread/detail/log.hpp +83 -0
- data/ext/boost/thread/detail/make_tuple_indices.hpp +224 -0
- data/ext/boost/thread/detail/move.hpp +32 -16
- data/ext/boost/thread/detail/thread.hpp +236 -41
- data/ext/boost/thread/detail/thread_group.hpp +55 -9
- data/ext/boost/thread/detail/thread_interruption.hpp +4 -1
- data/ext/boost/thread/exceptions.hpp +2 -0
- data/ext/boost/thread/externally_locked.hpp +351 -0
- data/ext/boost/thread/externally_locked_stream.hpp +170 -0
- data/ext/boost/thread/future.hpp +2517 -455
- data/ext/boost/thread/future_error_code.hpp +61 -0
- data/ext/boost/thread/is_locked_by_this_thread.hpp +39 -0
- data/ext/boost/thread/latch.hpp +142 -0
- data/ext/boost/thread/lock_algorithms.hpp +468 -0
- data/ext/boost/thread/lock_concepts.hpp +197 -0
- data/ext/boost/thread/lock_factories.hpp +78 -0
- data/ext/boost/thread/lock_guard.hpp +88 -0
- data/ext/boost/thread/lock_options.hpp +31 -0
- data/ext/boost/thread/lock_traits.hpp +45 -0
- data/ext/boost/thread/lock_types.hpp +1226 -0
- data/ext/boost/thread/lockable_adapter.hpp +226 -0
- data/ext/boost/thread/lockable_concepts.hpp +157 -0
- data/ext/boost/thread/lockable_traits.hpp +207 -0
- data/ext/boost/thread/locks.hpp +5 -1816
- data/ext/boost/thread/mutex.hpp +33 -1
- data/ext/boost/thread/null_mutex.hpp +243 -0
- data/ext/boost/thread/once.hpp +10 -1
- data/ext/boost/thread/poly_lockable.hpp +68 -0
- data/ext/boost/thread/poly_lockable_adapter.hpp +89 -0
- data/ext/boost/thread/poly_shared_lockable.hpp +135 -0
- data/ext/boost/thread/poly_shared_lockable_adapter.hpp +170 -0
- data/ext/boost/thread/pthread/condition_variable.hpp +74 -26
- data/ext/boost/thread/pthread/condition_variable_fwd.hpp +54 -27
- data/ext/boost/thread/pthread/mutex.hpp +101 -38
- data/ext/boost/thread/pthread/once.hpp +459 -44
- data/ext/boost/thread/pthread/once_atomic.hpp +313 -0
- data/ext/boost/thread/pthread/recursive_mutex.hpp +19 -10
- data/ext/boost/thread/pthread/shared_mutex.hpp +226 -61
- data/ext/boost/thread/pthread/shared_mutex_assert.hpp +724 -0
- data/ext/boost/thread/pthread/thread_data.hpp +53 -50
- data/ext/boost/thread/pthread/timespec.hpp +96 -12
- data/ext/boost/thread/recursive_mutex.hpp +44 -1
- data/ext/boost/thread/reverse_lock.hpp +3 -2
- data/ext/boost/thread/scoped_thread.hpp +285 -0
- data/ext/boost/thread/shared_lock_guard.hpp +2 -1
- data/ext/boost/thread/shared_mutex.hpp +23 -0
- data/ext/boost/thread/strict_lock.hpp +235 -0
- data/ext/boost/thread/sync_bounded_queue.hpp +594 -0
- data/ext/boost/thread/sync_queue.hpp +516 -0
- data/ext/boost/thread/synchronized_value.hpp +1001 -0
- data/ext/boost/thread/testable_mutex.hpp +148 -0
- data/ext/boost/thread/thread.hpp +1 -13
- data/ext/boost/thread/thread_functors.hpp +57 -0
- data/ext/boost/thread/thread_guard.hpp +46 -0
- data/ext/boost/thread/thread_only.hpp +29 -0
- data/ext/boost/thread/v2/shared_mutex.hpp +1062 -0
- data/ext/boost/thread/v2/thread.hpp +37 -10
- data/ext/boost/thread/xtime.hpp +2 -1
- data/ext/boost/token_functions.hpp +16 -16
- data/ext/boost/type_traits/add_lvalue_reference.hpp +26 -0
- data/ext/boost/type_traits/add_reference.hpp +1 -1
- data/ext/boost/type_traits/add_rvalue_reference.hpp +4 -4
- data/ext/boost/type_traits/aligned_storage.hpp +13 -0
- data/ext/boost/type_traits/common_type.hpp +11 -12
- data/ext/boost/type_traits/config.hpp +1 -1
- data/ext/boost/type_traits/detail/common_type_imp.hpp +1 -1
- data/ext/boost/type_traits/detail/has_binary_operator.hpp +1 -1
- data/ext/boost/type_traits/detail/is_function_ptr_tester.hpp +1 -1
- data/ext/boost/type_traits/has_left_shift.hpp +49 -0
- data/ext/boost/type_traits/has_right_shift.hpp +49 -0
- data/ext/boost/type_traits/has_trivial_move_assign.hpp +57 -0
- data/ext/boost/type_traits/has_trivial_move_constructor.hpp +57 -0
- data/ext/boost/type_traits/intrinsics.hpp +18 -2
- data/ext/boost/type_traits/is_abstract.hpp +1 -1
- data/ext/boost/type_traits/is_array.hpp +1 -1
- data/ext/boost/type_traits/is_const.hpp +1 -1
- data/ext/boost/type_traits/is_convertible.hpp +78 -17
- data/ext/boost/type_traits/is_function.hpp +6 -1
- data/ext/boost/type_traits/is_integral.hpp +6 -1
- data/ext/boost/type_traits/is_nothrow_move_assignable.hpp +84 -0
- data/ext/boost/type_traits/is_nothrow_move_constructible.hpp +84 -0
- data/ext/boost/type_traits/is_pod.hpp +3 -1
- data/ext/boost/type_traits/is_rvalue_reference.hpp +1 -1
- data/ext/boost/type_traits/is_volatile.hpp +1 -1
- data/ext/boost/type_traits/make_signed.hpp +153 -0
- data/ext/boost/type_traits/make_unsigned.hpp +16 -0
- data/ext/boost/type_traits/remove_const.hpp +1 -1
- data/ext/boost/type_traits/remove_cv.hpp +1 -1
- data/ext/boost/type_traits/remove_reference.hpp +1 -1
- data/ext/boost/type_traits/remove_volatile.hpp +1 -1
- data/ext/boost/unordered/detail/allocate.hpp +1120 -0
- data/ext/boost/unordered/detail/buckets.hpp +876 -0
- data/ext/boost/unordered/detail/equivalent.hpp +680 -0
- data/ext/boost/unordered/detail/extract_key.hpp +183 -0
- data/ext/boost/unordered/detail/fwd.hpp +23 -0
- data/ext/boost/unordered/detail/table.hpp +861 -0
- data/ext/boost/unordered/detail/unique.hpp +622 -0
- data/ext/boost/unordered/detail/util.hpp +260 -0
- data/ext/boost/unordered/unordered_map.hpp +1652 -0
- data/ext/boost/unordered/unordered_map_fwd.hpp +65 -0
- data/ext/boost/unordered/unordered_set.hpp +1549 -0
- data/ext/boost/unordered/unordered_set_fwd.hpp +63 -0
- data/ext/boost/unordered_map.hpp +18 -0
- data/ext/boost/unordered_set.hpp +18 -0
- data/ext/boost/utility/addressof.hpp +2 -2
- data/ext/boost/utility/result_of.hpp +8 -1
- data/ext/boost/version.hpp +2 -2
- data/ext/common/Account.h +1 -1
- data/ext/common/AccountsDatabase.h +1 -1
- data/ext/common/AgentsStarter.cpp +3 -1
- data/ext/common/AgentsStarter.h +2 -2
- data/ext/common/ApplicationPool2/AppTypes.cpp +24 -6
- data/ext/common/ApplicationPool2/AppTypes.h +17 -8
- data/ext/common/ApplicationPool2/Common.h +12 -12
- data/ext/common/ApplicationPool2/DirectSpawner.h +2 -2
- data/ext/common/ApplicationPool2/DummySpawner.h +3 -3
- data/ext/common/ApplicationPool2/Group.h +6 -6
- data/ext/common/ApplicationPool2/Implementation.cpp +19 -19
- data/ext/common/ApplicationPool2/PipeWatcher.h +5 -5
- data/ext/common/ApplicationPool2/Pool.h +21 -21
- data/ext/common/ApplicationPool2/Process.h +6 -6
- data/ext/common/ApplicationPool2/Session.h +1 -1
- data/ext/common/ApplicationPool2/SmartSpawner.h +24 -12
- data/ext/common/ApplicationPool2/Socket.h +2 -2
- data/ext/common/ApplicationPool2/Spawner.h +64 -14
- data/ext/common/ApplicationPool2/SpawnerFactory.h +7 -7
- data/ext/common/ApplicationPool2/SuperGroup.h +5 -5
- data/ext/common/BackgroundEventLoop.cpp +4 -4
- data/ext/common/BackgroundEventLoop.h +1 -1
- data/ext/common/Constants.h +13 -1
- data/ext/common/EventedBufferedInput.h +8 -8
- data/ext/common/Exceptions.cpp +71 -0
- data/ext/common/Exceptions.h +60 -7
- data/ext/common/FileDescriptor.h +4 -4
- data/ext/common/MessageClient.h +1 -1
- data/ext/common/MessageServer.h +5 -5
- data/ext/common/MultiLibeio.cpp +3 -3
- data/ext/common/MultiLibeio.h +2 -2
- data/ext/common/RandomGenerator.h +11 -11
- data/ext/common/ResourceLocator.h +8 -1
- data/ext/common/SafeLibev.h +12 -12
- data/ext/common/ServerInstanceDir.h +11 -3
- data/ext/common/UnionStation.h +10 -10
- data/ext/common/Utils.cpp +11 -13
- data/ext/common/Utils.h +9 -9
- data/ext/common/Utils/BlockingQueue.h +10 -10
- data/ext/common/Utils/BufferedIO.h +1 -1
- data/ext/common/Utils/CachedFileStat.hpp +2 -2
- data/ext/common/Utils/FileChangeChecker.h +1 -1
- data/ext/common/Utils/HashMap.h +13 -4
- data/ext/common/Utils/IOUtils.cpp +33 -10
- data/ext/common/Utils/IniFile.h +3 -3
- data/ext/common/Utils/Lock.h +2 -2
- data/ext/common/Utils/MessagePassing.h +10 -10
- data/ext/common/Utils/ProcessMetricsCollector.h +24 -6
- data/ext/common/Utils/ScopeGuard.h +5 -5
- data/ext/common/Utils/jsoncpp.cpp +2 -0
- data/ext/common/agents/HelperAgent/FileBackedPipe.h +26 -26
- data/ext/common/agents/HelperAgent/Main.cpp +18 -18
- data/ext/common/agents/HelperAgent/RequestHandler.cpp +4 -4
- data/ext/common/agents/HelperAgent/RequestHandler.h +30 -21
- data/ext/common/agents/LoggingAgent/AdminController.h +1 -1
- data/ext/common/agents/LoggingAgent/FilterSupport.h +13 -11
- data/ext/common/agents/LoggingAgent/LoggingServer.h +11 -11
- data/ext/common/agents/LoggingAgent/Main.cpp +9 -9
- data/ext/common/agents/LoggingAgent/RemoteSender.h +3 -3
- data/ext/common/agents/SpawnPreparer.cpp +1 -0
- data/ext/common/agents/Watchdog/AgentWatcher.cpp +8 -7
- data/ext/common/agents/Watchdog/Main.cpp +81 -73
- data/ext/common/agents/Watchdog/ServerInstanceDirToucher.cpp +1 -1
- data/ext/libev/Changes +57 -0
- data/ext/libev/LICENSE +2 -1
- data/ext/libev/Makefile.in +110 -50
- data/ext/libev/README +8 -8
- data/ext/libev/aclocal.m4 +1503 -861
- data/ext/libev/config.guess +290 -304
- data/ext/libev/config.sub +77 -198
- data/ext/libev/configure +1735 -890
- data/ext/libev/configure.ac +3 -2
- data/ext/libev/ev++.h +6 -6
- data/ext/libev/ev.c +541 -214
- data/ext/libev/ev.h +106 -100
- data/ext/libev/ev_epoll.c +1 -1
- data/ext/libev/ev_kqueue.c +20 -4
- data/ext/libev/ev_vars.h +15 -16
- data/ext/libev/ev_win32.c +12 -2
- data/ext/libev/ev_wrap.h +162 -160
- data/ext/libev/event.c +29 -6
- data/ext/libev/event.h +9 -2
- data/ext/libev/ltmain.sh +2632 -1384
- data/ext/nginx/ConfigurationCommands.c +1 -1
- data/ext/nginx/ConfigurationCommands.c.erb +3 -1
- data/ext/nginx/ContentHandler.c +25 -2
- data/ext/nginx/CreateLocationConfig.c +1 -0
- data/ext/nginx/CreateLocationConfig.c.erb +1 -1
- data/ext/nginx/MergeLocationConfig.c +1 -0
- data/ext/nginx/MergeLocationConfig.c.erb +1 -1
- data/ext/nginx/config +12 -0
- data/ext/oxt/dynamic_thread_group.hpp +7 -4
- data/ext/oxt/system_calls.cpp +5 -1
- data/ext/oxt/system_calls.hpp +3 -0
- data/helper-scripts/node-loader.js +117 -249
- data/lib/phusion_passenger.rb +27 -5
- data/lib/phusion_passenger/abstract_installer.rb +104 -9
- data/lib/phusion_passenger/admin_tools/memory_stats.rb +10 -9
- data/lib/phusion_passenger/apache2/config_options.rb +6 -3
- data/lib/phusion_passenger/common_library.rb +7 -1
- data/lib/phusion_passenger/constants.rb +6 -0
- data/lib/phusion_passenger/loader_shared_helpers.rb +7 -4
- data/lib/phusion_passenger/nginx/config_options.rb +2 -1
- data/lib/phusion_passenger/packaging.rb +3 -0
- data/lib/phusion_passenger/platform_info/apache.rb +43 -6
- data/lib/phusion_passenger/platform_info/apache_detector.rb +15 -5
- data/lib/phusion_passenger/platform_info/compiler.rb +167 -32
- data/lib/phusion_passenger/platform_info/cxx_portability.rb +133 -77
- data/lib/phusion_passenger/platform_info/depcheck.rb +17 -7
- data/lib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +3 -3
- data/lib/phusion_passenger/platform_info/depcheck_specs/compiler_toolchain.rb +4 -4
- data/lib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +5 -6
- data/lib/phusion_passenger/platform_info/linux.rb +2 -1
- data/lib/phusion_passenger/platform_info/operating_system.rb +1 -1
- data/lib/phusion_passenger/platform_info/ruby.rb +18 -3
- data/lib/phusion_passenger/standalone/runtime_installer.rb +6 -2
- data/lib/phusion_passenger/standalone/start_command.rb +8 -2
- data/lib/phusion_passenger/utils/ansi_colors.rb +9 -0
- data/lib/phusion_passenger/utils/hosts_file_parser.rb +4 -2
- data/node_lib/phusion_passenger/httplib_emulation.js +141 -0
- data/node_lib/phusion_passenger/line_reader.js +154 -0
- data/node_lib/phusion_passenger/request_handler.js +65 -0
- data/node_lib/phusion_passenger/session_protocol_parser.js +113 -0
- data/resources/templates/apache2/deployment_example.txt.erb +2 -1
- data/resources/templates/apache2/installing_against_a_different_apache.txt.erb +14 -0
- data/resources/templates/apache2/multiple_apache_installations_detected.txt.erb +15 -0
- data/resources/templates/apache2/possible_solutions_for_compilation_and_installation_problems.txt.erb +4 -5
- data/resources/templates/general_error_with_html.html.template +1 -1
- data/resources/templates/installer_common/gem_install_permission_problems.txt.erb +17 -0
- data/resources/templates/installer_common/low_amount_of_memory_warning.txt.erb +6 -4
- data/resources/templates/installer_common/world_inaccessible_directories.txt.erb +16 -0
- data/resources/templates/nginx/deployment_example.txt.erb +2 -1
- data/resources/templates/nginx/possible_solutions_for_compilation_and_installation_problems.txt.erb +4 -5
- data/resources/templates/standalone/config.erb +1 -0
- data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +3 -3
- data/test/cxx/ApplicationPool2/PoolTest.cpp +4 -4
- data/test/cxx/ApplicationPool2/ProcessTest.cpp +5 -5
- data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +5 -5
- data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +1 -1
- data/test/cxx/EventedBufferedInputTest.cpp +6 -6
- data/test/cxx/FileBackedPipeTest.cpp +1 -1
- data/test/cxx/MessagePassingTest.cpp +1 -1
- data/test/cxx/MessageServerTest.cpp +4 -4
- data/test/cxx/RequestHandlerTest.cpp +7 -7
- data/test/cxx/UnionStationTest.cpp +2 -2
- data/test/node/line_reader_spec.js +338 -0
- data/test/node/spec_helper.js +27 -0
- data/test/ruby/standalone/runtime_installer_spec.rb +2 -1
- metadata +131 -22
- metadata.gz.asc +7 -7
- data/ext/boost/functional/hash/detail/container_fwd_0x.hpp +0 -29
- data/ext/boost/lambda/core.hpp +0 -79
- data/ext/boost/lambda/detail/actions.hpp +0 -174
- data/ext/boost/lambda/detail/arity_code.hpp +0 -110
- data/ext/boost/lambda/detail/function_adaptors.hpp +0 -789
- data/ext/boost/lambda/detail/is_instance_of.hpp +0 -104
- data/ext/boost/lambda/detail/lambda_config.hpp +0 -48
- data/ext/boost/lambda/detail/lambda_functor_base.hpp +0 -615
- data/ext/boost/lambda/detail/lambda_functors.hpp +0 -324
- data/ext/boost/lambda/detail/lambda_fwd.hpp +0 -74
- data/ext/boost/lambda/detail/lambda_traits.hpp +0 -578
- data/ext/boost/lambda/detail/member_ptr.hpp +0 -737
- data/ext/boost/lambda/detail/operator_actions.hpp +0 -139
- data/ext/boost/lambda/detail/operator_lambda_func_base.hpp +0 -271
- data/ext/boost/lambda/detail/operator_return_type_traits.hpp +0 -917
- data/ext/boost/lambda/detail/operators.hpp +0 -370
- data/ext/boost/lambda/detail/ret.hpp +0 -325
- data/ext/boost/lambda/detail/return_type_traits.hpp +0 -282
- data/ext/boost/lambda/detail/select_functions.hpp +0 -74
- data/ext/boost/lambda/lambda.hpp +0 -34
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
// IT = Integer type.
|
16
16
|
// RT = Real type (built-in floating-point types, float, double, long double) & User Defined Types
|
17
|
-
// AT = Integer or Real type
|
17
|
+
// AT = Integer or Real type
|
18
18
|
|
19
19
|
#ifndef BOOST_MATH_SPECIAL_MATH_FWD_HPP
|
20
20
|
#define BOOST_MATH_SPECIAL_MATH_FWD_HPP
|
@@ -38,111 +38,111 @@ namespace boost
|
|
38
38
|
|
39
39
|
// Beta functions.
|
40
40
|
template <class RT1, class RT2>
|
41
|
-
typename tools::promote_args<RT1, RT2>::type
|
41
|
+
typename tools::promote_args<RT1, RT2>::type
|
42
42
|
beta(RT1 a, RT2 b); // Beta function (2 arguments).
|
43
43
|
|
44
44
|
template <class RT1, class RT2, class A>
|
45
|
-
typename tools::promote_args<RT1, RT2, A>::type
|
45
|
+
typename tools::promote_args<RT1, RT2, A>::type
|
46
46
|
beta(RT1 a, RT2 b, A x); // Beta function (3 arguments).
|
47
47
|
|
48
48
|
template <class RT1, class RT2, class RT3, class Policy>
|
49
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
49
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
50
50
|
beta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Beta function (3 arguments).
|
51
51
|
|
52
52
|
template <class RT1, class RT2, class RT3>
|
53
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
53
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
54
54
|
betac(RT1 a, RT2 b, RT3 x);
|
55
55
|
|
56
56
|
template <class RT1, class RT2, class RT3, class Policy>
|
57
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
57
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
58
58
|
betac(RT1 a, RT2 b, RT3 x, const Policy& pol);
|
59
59
|
|
60
60
|
template <class RT1, class RT2, class RT3>
|
61
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
61
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
62
62
|
ibeta(RT1 a, RT2 b, RT3 x); // Incomplete beta function.
|
63
63
|
|
64
64
|
template <class RT1, class RT2, class RT3, class Policy>
|
65
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
65
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
66
66
|
ibeta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta function.
|
67
67
|
|
68
68
|
template <class RT1, class RT2, class RT3>
|
69
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
69
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
70
70
|
ibetac(RT1 a, RT2 b, RT3 x); // Incomplete beta complement function.
|
71
71
|
|
72
72
|
template <class RT1, class RT2, class RT3, class Policy>
|
73
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
73
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
74
74
|
ibetac(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta complement function.
|
75
75
|
|
76
76
|
template <class T1, class T2, class T3, class T4>
|
77
|
-
typename tools::promote_args<T1, T2, T3, T4>::type
|
77
|
+
typename tools::promote_args<T1, T2, T3, T4>::type
|
78
78
|
ibeta_inv(T1 a, T2 b, T3 p, T4* py);
|
79
79
|
|
80
80
|
template <class T1, class T2, class T3, class T4, class Policy>
|
81
|
-
typename tools::promote_args<T1, T2, T3, T4>::type
|
81
|
+
typename tools::promote_args<T1, T2, T3, T4>::type
|
82
82
|
ibeta_inv(T1 a, T2 b, T3 p, T4* py, const Policy& pol);
|
83
83
|
|
84
84
|
template <class RT1, class RT2, class RT3>
|
85
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
85
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
86
86
|
ibeta_inv(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function.
|
87
87
|
|
88
88
|
template <class RT1, class RT2, class RT3, class Policy>
|
89
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
89
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
90
90
|
ibeta_inv(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function.
|
91
91
|
|
92
92
|
template <class RT1, class RT2, class RT3>
|
93
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
93
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
94
94
|
ibeta_inva(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function.
|
95
95
|
|
96
96
|
template <class RT1, class RT2, class RT3, class Policy>
|
97
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
97
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
98
98
|
ibeta_inva(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function.
|
99
99
|
|
100
100
|
template <class RT1, class RT2, class RT3>
|
101
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
101
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
102
102
|
ibeta_invb(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function.
|
103
103
|
|
104
104
|
template <class RT1, class RT2, class RT3, class Policy>
|
105
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
105
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
106
106
|
ibeta_invb(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function.
|
107
107
|
|
108
108
|
template <class T1, class T2, class T3, class T4>
|
109
|
-
typename tools::promote_args<T1, T2, T3, T4>::type
|
109
|
+
typename tools::promote_args<T1, T2, T3, T4>::type
|
110
110
|
ibetac_inv(T1 a, T2 b, T3 q, T4* py);
|
111
111
|
|
112
112
|
template <class T1, class T2, class T3, class T4, class Policy>
|
113
|
-
typename tools::promote_args<T1, T2, T3, T4>::type
|
113
|
+
typename tools::promote_args<T1, T2, T3, T4>::type
|
114
114
|
ibetac_inv(T1 a, T2 b, T3 q, T4* py, const Policy& pol);
|
115
115
|
|
116
116
|
template <class RT1, class RT2, class RT3>
|
117
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
117
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
118
118
|
ibetac_inv(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function.
|
119
119
|
|
120
120
|
template <class RT1, class RT2, class RT3, class Policy>
|
121
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
121
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
122
122
|
ibetac_inv(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function.
|
123
123
|
|
124
124
|
template <class RT1, class RT2, class RT3>
|
125
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
125
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
126
126
|
ibetac_inva(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function.
|
127
127
|
|
128
128
|
template <class RT1, class RT2, class RT3, class Policy>
|
129
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
129
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
130
130
|
ibetac_inva(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function.
|
131
131
|
|
132
132
|
template <class RT1, class RT2, class RT3>
|
133
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
133
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
134
134
|
ibetac_invb(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function.
|
135
135
|
|
136
136
|
template <class RT1, class RT2, class RT3, class Policy>
|
137
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
137
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
138
138
|
ibetac_invb(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function.
|
139
139
|
|
140
140
|
template <class RT1, class RT2, class RT3>
|
141
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
141
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
142
142
|
ibeta_derivative(RT1 a, RT2 b, RT3 x); // derivative of incomplete beta
|
143
143
|
|
144
144
|
template <class RT1, class RT2, class RT3, class Policy>
|
145
|
-
typename tools::promote_args<RT1, RT2, RT3>::type
|
145
|
+
typename tools::promote_args<RT1, RT2, RT3>::type
|
146
146
|
ibeta_derivative(RT1 a, RT2 b, RT3 x, const Policy& pol); // derivative of incomplete beta
|
147
147
|
|
148
148
|
// erf & erfc error functions.
|
@@ -168,51 +168,51 @@ namespace boost
|
|
168
168
|
|
169
169
|
// Polynomials:
|
170
170
|
template <class T1, class T2, class T3>
|
171
|
-
typename tools::promote_args<T1, T2, T3>::type
|
171
|
+
typename tools::promote_args<T1, T2, T3>::type
|
172
172
|
legendre_next(unsigned l, T1 x, T2 Pl, T3 Plm1);
|
173
173
|
|
174
174
|
template <class T>
|
175
|
-
typename tools::promote_args<T>::type
|
175
|
+
typename tools::promote_args<T>::type
|
176
176
|
legendre_p(int l, T x);
|
177
177
|
|
178
178
|
template <class T, class Policy>
|
179
|
-
typename tools::promote_args<T>::type
|
179
|
+
typename tools::promote_args<T>::type
|
180
180
|
legendre_p(int l, T x, const Policy& pol);
|
181
181
|
|
182
182
|
template <class T>
|
183
|
-
typename tools::promote_args<T>::type
|
183
|
+
typename tools::promote_args<T>::type
|
184
184
|
legendre_q(unsigned l, T x);
|
185
185
|
|
186
186
|
template <class T, class Policy>
|
187
|
-
typename tools::promote_args<T>::type
|
187
|
+
typename tools::promote_args<T>::type
|
188
188
|
legendre_q(unsigned l, T x, const Policy& pol);
|
189
189
|
|
190
190
|
template <class T1, class T2, class T3>
|
191
|
-
typename tools::promote_args<T1, T2, T3>::type
|
191
|
+
typename tools::promote_args<T1, T2, T3>::type
|
192
192
|
legendre_next(unsigned l, unsigned m, T1 x, T2 Pl, T3 Plm1);
|
193
193
|
|
194
194
|
template <class T>
|
195
|
-
typename tools::promote_args<T>::type
|
195
|
+
typename tools::promote_args<T>::type
|
196
196
|
legendre_p(int l, int m, T x);
|
197
197
|
|
198
198
|
template <class T, class Policy>
|
199
|
-
typename tools::promote_args<T>::type
|
199
|
+
typename tools::promote_args<T>::type
|
200
200
|
legendre_p(int l, int m, T x, const Policy& pol);
|
201
201
|
|
202
202
|
template <class T1, class T2, class T3>
|
203
|
-
typename tools::promote_args<T1, T2, T3>::type
|
203
|
+
typename tools::promote_args<T1, T2, T3>::type
|
204
204
|
laguerre_next(unsigned n, T1 x, T2 Ln, T3 Lnm1);
|
205
205
|
|
206
206
|
template <class T1, class T2, class T3>
|
207
|
-
typename tools::promote_args<T1, T2, T3>::type
|
207
|
+
typename tools::promote_args<T1, T2, T3>::type
|
208
208
|
laguerre_next(unsigned n, unsigned l, T1 x, T2 Pl, T3 Plm1);
|
209
209
|
|
210
210
|
template <class T>
|
211
|
-
typename tools::promote_args<T>::type
|
211
|
+
typename tools::promote_args<T>::type
|
212
212
|
laguerre(unsigned n, T x);
|
213
213
|
|
214
214
|
template <class T, class Policy>
|
215
|
-
typename tools::promote_args<T>::type
|
215
|
+
typename tools::promote_args<T>::type
|
216
216
|
laguerre(unsigned n, unsigned m, T x, const Policy& pol);
|
217
217
|
|
218
218
|
template <class T1, class T2>
|
@@ -226,76 +226,76 @@ namespace boost
|
|
226
226
|
};
|
227
227
|
|
228
228
|
template <class T1, class T2>
|
229
|
-
typename laguerre_result<T1, T2>::type
|
229
|
+
typename laguerre_result<T1, T2>::type
|
230
230
|
laguerre(unsigned n, T1 m, T2 x);
|
231
231
|
|
232
232
|
template <class T>
|
233
|
-
typename tools::promote_args<T>::type
|
233
|
+
typename tools::promote_args<T>::type
|
234
234
|
hermite(unsigned n, T x);
|
235
235
|
|
236
236
|
template <class T, class Policy>
|
237
|
-
typename tools::promote_args<T>::type
|
237
|
+
typename tools::promote_args<T>::type
|
238
238
|
hermite(unsigned n, T x, const Policy& pol);
|
239
239
|
|
240
240
|
template <class T1, class T2, class T3>
|
241
|
-
typename tools::promote_args<T1, T2, T3>::type
|
241
|
+
typename tools::promote_args<T1, T2, T3>::type
|
242
242
|
hermite_next(unsigned n, T1 x, T2 Hn, T3 Hnm1);
|
243
243
|
|
244
244
|
template <class T1, class T2>
|
245
|
-
std::complex<typename tools::promote_args<T1, T2>::type>
|
245
|
+
std::complex<typename tools::promote_args<T1, T2>::type>
|
246
246
|
spherical_harmonic(unsigned n, int m, T1 theta, T2 phi);
|
247
247
|
|
248
248
|
template <class T1, class T2, class Policy>
|
249
|
-
std::complex<typename tools::promote_args<T1, T2>::type>
|
249
|
+
std::complex<typename tools::promote_args<T1, T2>::type>
|
250
250
|
spherical_harmonic(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);
|
251
251
|
|
252
252
|
template <class T1, class T2>
|
253
|
-
typename tools::promote_args<T1, T2>::type
|
253
|
+
typename tools::promote_args<T1, T2>::type
|
254
254
|
spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi);
|
255
255
|
|
256
256
|
template <class T1, class T2, class Policy>
|
257
|
-
typename tools::promote_args<T1, T2>::type
|
257
|
+
typename tools::promote_args<T1, T2>::type
|
258
258
|
spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);
|
259
259
|
|
260
260
|
template <class T1, class T2>
|
261
|
-
typename tools::promote_args<T1, T2>::type
|
261
|
+
typename tools::promote_args<T1, T2>::type
|
262
262
|
spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi);
|
263
263
|
|
264
264
|
template <class T1, class T2, class Policy>
|
265
|
-
typename tools::promote_args<T1, T2>::type
|
265
|
+
typename tools::promote_args<T1, T2>::type
|
266
266
|
spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);
|
267
267
|
|
268
268
|
// Elliptic integrals:
|
269
269
|
template <class T1, class T2, class T3>
|
270
|
-
typename tools::promote_args<T1, T2, T3>::type
|
270
|
+
typename tools::promote_args<T1, T2, T3>::type
|
271
271
|
ellint_rf(T1 x, T2 y, T3 z);
|
272
272
|
|
273
273
|
template <class T1, class T2, class T3, class Policy>
|
274
|
-
typename tools::promote_args<T1, T2, T3>::type
|
274
|
+
typename tools::promote_args<T1, T2, T3>::type
|
275
275
|
ellint_rf(T1 x, T2 y, T3 z, const Policy& pol);
|
276
276
|
|
277
277
|
template <class T1, class T2, class T3>
|
278
|
-
typename tools::promote_args<T1, T2, T3>::type
|
278
|
+
typename tools::promote_args<T1, T2, T3>::type
|
279
279
|
ellint_rd(T1 x, T2 y, T3 z);
|
280
280
|
|
281
281
|
template <class T1, class T2, class T3, class Policy>
|
282
|
-
typename tools::promote_args<T1, T2, T3>::type
|
282
|
+
typename tools::promote_args<T1, T2, T3>::type
|
283
283
|
ellint_rd(T1 x, T2 y, T3 z, const Policy& pol);
|
284
284
|
|
285
285
|
template <class T1, class T2>
|
286
|
-
typename tools::promote_args<T1, T2>::type
|
286
|
+
typename tools::promote_args<T1, T2>::type
|
287
287
|
ellint_rc(T1 x, T2 y);
|
288
288
|
|
289
289
|
template <class T1, class T2, class Policy>
|
290
|
-
typename tools::promote_args<T1, T2>::type
|
290
|
+
typename tools::promote_args<T1, T2>::type
|
291
291
|
ellint_rc(T1 x, T2 y, const Policy& pol);
|
292
292
|
|
293
293
|
template <class T1, class T2, class T3, class T4>
|
294
|
-
typename tools::promote_args<T1, T2, T3, T4>::type
|
294
|
+
typename tools::promote_args<T1, T2, T3, T4>::type
|
295
295
|
ellint_rj(T1 x, T2 y, T3 z, T4 p);
|
296
296
|
|
297
297
|
template <class T1, class T2, class T3, class T4, class Policy>
|
298
|
-
typename tools::promote_args<T1, T2, T3, T4>::type
|
298
|
+
typename tools::promote_args<T1, T2, T3, T4>::type
|
299
299
|
ellint_rj(T1 x, T2 y, T3 z, T4 p, const Policy& pol);
|
300
300
|
|
301
301
|
template <typename T>
|
@@ -349,7 +349,7 @@ namespace boost
|
|
349
349
|
template <class RT, class Policy>
|
350
350
|
RT factorial(unsigned int, const Policy& pol);
|
351
351
|
template <class RT>
|
352
|
-
RT unchecked_factorial(unsigned int BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(RT));
|
352
|
+
RT unchecked_factorial(unsigned int BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(RT));
|
353
353
|
template <class RT>
|
354
354
|
RT double_factorial(unsigned i);
|
355
355
|
template <class RT, class Policy>
|
@@ -465,11 +465,11 @@ namespace boost
|
|
465
465
|
|
466
466
|
// Hypotenuse function sqrt(x ^ 2 + y ^ 2).
|
467
467
|
template <class T1, class T2>
|
468
|
-
typename tools::promote_args<T1, T2>::type
|
468
|
+
typename tools::promote_args<T1, T2>::type
|
469
469
|
hypot(T1 x, T2 y);
|
470
470
|
|
471
471
|
template <class T1, class T2, class Policy>
|
472
|
-
typename tools::promote_args<T1, T2>::type
|
472
|
+
typename tools::promote_args<T1, T2>::type
|
473
473
|
hypot(T1 x, T2 y, const Policy&);
|
474
474
|
|
475
475
|
// cbrt - cube root.
|
@@ -502,11 +502,11 @@ namespace boost
|
|
502
502
|
|
503
503
|
// Power - 1
|
504
504
|
template <class T1, class T2>
|
505
|
-
typename tools::promote_args<T1, T2>::type
|
505
|
+
typename tools::promote_args<T1, T2>::type
|
506
506
|
powm1(const T1 a, const T2 z);
|
507
507
|
|
508
508
|
template <class T1, class T2, class Policy>
|
509
|
-
typename tools::promote_args<T1, T2>::type
|
509
|
+
typename tools::promote_args<T1, T2>::type
|
510
510
|
powm1(const T1 a, const T2 z, const Policy&);
|
511
511
|
|
512
512
|
// sqrt(1+x) - 1
|
@@ -614,12 +614,50 @@ namespace boost
|
|
614
614
|
template <class T>
|
615
615
|
typename detail::bessel_traits<T, T, policies::policy<> >::result_type sph_neumann(unsigned v, T x);
|
616
616
|
|
617
|
-
template <class
|
618
|
-
|
617
|
+
template <class T, class Policy>
|
618
|
+
typename detail::bessel_traits<T, T, Policy>::result_type cyl_bessel_j_zero(T v, int m, const Policy& pol);
|
619
|
+
|
620
|
+
template <class T>
|
621
|
+
typename detail::bessel_traits<T, T, policies::policy<> >::result_type cyl_bessel_j_zero(T v, int m);
|
622
|
+
|
623
|
+
template <class T, class OutputIterator>
|
624
|
+
OutputIterator cyl_bessel_j_zero(T v,
|
625
|
+
int start_index,
|
626
|
+
unsigned number_of_zeros,
|
627
|
+
OutputIterator out_it);
|
628
|
+
|
629
|
+
template <class T, class OutputIterator, class Policy>
|
630
|
+
OutputIterator cyl_bessel_j_zero(T v,
|
631
|
+
int start_index,
|
632
|
+
unsigned number_of_zeros,
|
633
|
+
OutputIterator out_it,
|
634
|
+
const Policy&);
|
635
|
+
|
636
|
+
template <class T, class Policy>
|
637
|
+
typename detail::bessel_traits<T, T, Policy>::result_type cyl_neumann_zero(T v, int m, const Policy& pol);
|
638
|
+
|
639
|
+
template <class T>
|
640
|
+
typename detail::bessel_traits<T, T, policies::policy<> >::result_type cyl_neumann_zero(T v, int m);
|
641
|
+
|
642
|
+
template <class T, class OutputIterator>
|
643
|
+
OutputIterator cyl_neumann_zero(T v,
|
644
|
+
int start_index,
|
645
|
+
unsigned number_of_zeros,
|
646
|
+
OutputIterator out_it);
|
647
|
+
|
648
|
+
template <class T, class OutputIterator, class Policy>
|
649
|
+
OutputIterator cyl_neumann_zero(T v,
|
650
|
+
int start_index,
|
651
|
+
unsigned number_of_zeros,
|
652
|
+
OutputIterator out_it,
|
653
|
+
const Policy&);
|
619
654
|
|
620
655
|
template <class T1, class T2>
|
621
656
|
std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_1(T1 v, T2 x);
|
622
657
|
|
658
|
+
template <class T1, class T2, class Policy>
|
659
|
+
std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_1(T1 v, T2 x, const Policy& pol);
|
660
|
+
|
623
661
|
template <class T1, class T2, class Policy>
|
624
662
|
std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_2(T1 v, T2 x, const Policy& pol);
|
625
663
|
|
@@ -662,6 +700,40 @@ namespace boost
|
|
662
700
|
template <class T>
|
663
701
|
typename tools::promote_args<T>::type airy_bi_prime(T x);
|
664
702
|
|
703
|
+
template <class T>
|
704
|
+
T airy_ai_zero(unsigned m);
|
705
|
+
template <class T, class Policy>
|
706
|
+
T airy_ai_zero(unsigned m, const Policy&);
|
707
|
+
|
708
|
+
template <class OutputIterator>
|
709
|
+
OutputIterator airy_ai_zero(
|
710
|
+
unsigned start_index,
|
711
|
+
unsigned number_of_zeros,
|
712
|
+
OutputIterator out_it);
|
713
|
+
template <class OutputIterator, class Policy>
|
714
|
+
OutputIterator airy_ai_zero(
|
715
|
+
unsigned start_index,
|
716
|
+
unsigned number_of_zeros,
|
717
|
+
OutputIterator out_it,
|
718
|
+
const Policy&);
|
719
|
+
|
720
|
+
template <class T>
|
721
|
+
T airy_bi_zero(unsigned m);
|
722
|
+
template <class T, class Policy>
|
723
|
+
T airy_bi_zero(unsigned m, const Policy&);
|
724
|
+
|
725
|
+
template <class OutputIterator>
|
726
|
+
OutputIterator airy_bi_zero(
|
727
|
+
unsigned start_index,
|
728
|
+
unsigned number_of_zeros,
|
729
|
+
OutputIterator out_it);
|
730
|
+
template <class OutputIterator, class Policy>
|
731
|
+
OutputIterator airy_bi_zero(
|
732
|
+
unsigned start_index,
|
733
|
+
unsigned number_of_zeros,
|
734
|
+
OutputIterator out_it,
|
735
|
+
const Policy&);
|
736
|
+
|
665
737
|
template <class T, class Policy>
|
666
738
|
typename tools::promote_args<T>::type sin_pi(T x, const Policy&);
|
667
739
|
|
@@ -689,17 +761,17 @@ namespace boost
|
|
689
761
|
template <class T>
|
690
762
|
bool isnormal BOOST_NO_MACRO_EXPAND(T t);
|
691
763
|
|
692
|
-
template<class T>
|
764
|
+
template<class T>
|
693
765
|
int signbit BOOST_NO_MACRO_EXPAND(T x);
|
694
766
|
|
695
767
|
template <class T>
|
696
768
|
int sign BOOST_NO_MACRO_EXPAND(const T& z);
|
697
769
|
|
698
|
-
template <class T>
|
699
|
-
T copysign BOOST_NO_MACRO_EXPAND(const T& x, const
|
770
|
+
template <class T, class U>
|
771
|
+
typename tools::promote_args<T, U>::type copysign BOOST_NO_MACRO_EXPAND(const T& x, const U& y);
|
700
772
|
|
701
773
|
template <class T>
|
702
|
-
T changesign BOOST_NO_MACRO_EXPAND(const T& z);
|
774
|
+
typename tools::promote_args<T>::type changesign BOOST_NO_MACRO_EXPAND(const T& z);
|
703
775
|
|
704
776
|
// Exponential integrals:
|
705
777
|
namespace detail{
|
@@ -737,11 +809,11 @@ namespace boost
|
|
737
809
|
typename tools::promote_args<T1, T2>::type owens_t(T1 h, T2 a);
|
738
810
|
|
739
811
|
// Jacobi Functions:
|
740
|
-
template <class T, class Policy>
|
741
|
-
typename tools::promote_args<T>::type jacobi_elliptic(T k,
|
812
|
+
template <class T, class U, class V, class Policy>
|
813
|
+
typename tools::promote_args<T, U, V>::type jacobi_elliptic(T k, U theta, V* pcn, V* pdn, const Policy&);
|
742
814
|
|
743
|
-
template <class T>
|
744
|
-
typename tools::promote_args<T>::type jacobi_elliptic(T k,
|
815
|
+
template <class T, class U, class V>
|
816
|
+
typename tools::promote_args<T, U, V>::type jacobi_elliptic(T k, U theta, V* pcn = 0, V* pdn = 0);
|
745
817
|
|
746
818
|
template <class U, class T, class Policy>
|
747
819
|
typename tools::promote_args<T, U>::type jacobi_sn(U k, T theta, const Policy& pol);
|
@@ -827,22 +899,26 @@ namespace boost
|
|
827
899
|
typename tools::promote_args<T>::type pow(T base);
|
828
900
|
|
829
901
|
// next:
|
902
|
+
template <class T, class U, class Policy>
|
903
|
+
typename tools::promote_args<T, U>::type nextafter(const T&, const U&, const Policy&);
|
904
|
+
template <class T, class U>
|
905
|
+
typename tools::promote_args<T, U>::type nextafter(const T&, const U&);
|
830
906
|
template <class T, class Policy>
|
831
|
-
T
|
832
|
-
template <class T>
|
833
|
-
T nextafter(const T&, const T&);
|
834
|
-
template <class T, class Policy>
|
835
|
-
T float_next(const T&, const Policy&);
|
907
|
+
typename tools::promote_args<T>::type float_next(const T&, const Policy&);
|
836
908
|
template <class T>
|
837
|
-
T float_next(const T&);
|
909
|
+
typename tools::promote_args<T>::type float_next(const T&);
|
838
910
|
template <class T, class Policy>
|
839
|
-
T float_prior(const T&, const Policy&);
|
911
|
+
typename tools::promote_args<T>::type float_prior(const T&, const Policy&);
|
840
912
|
template <class T>
|
841
|
-
T float_prior(const T&);
|
913
|
+
typename tools::promote_args<T>::type float_prior(const T&);
|
914
|
+
template <class T, class U, class Policy>
|
915
|
+
typename tools::promote_args<T, U>::type float_distance(const T&, const U&, const Policy&);
|
916
|
+
template <class T, class U>
|
917
|
+
typename tools::promote_args<T, U>::type float_distance(const T&, const U&);
|
842
918
|
template <class T, class Policy>
|
843
|
-
T
|
919
|
+
typename tools::promote_args<T>::type float_advance(T val, int distance, const Policy& pol);
|
844
920
|
template <class T>
|
845
|
-
T
|
921
|
+
typename tools::promote_args<T>::type float_advance(const T& val, int distance);
|
846
922
|
|
847
923
|
} // namespace math
|
848
924
|
} // namespace boost
|
@@ -1137,6 +1213,28 @@ namespace boost
|
|
1137
1213
|
template <class T>\
|
1138
1214
|
inline typename boost::math::detail::bessel_traits<T, T, Policy >::result_type \
|
1139
1215
|
sph_neumann(unsigned v, T x){ return boost::math::sph_neumann(v, x, Policy()); }\
|
1216
|
+
\
|
1217
|
+
template <class T>\
|
1218
|
+
inline typename boost::math::detail::bessel_traits<T, T, Policy >::result_type cyl_bessel_j_zero(T v, int m)\
|
1219
|
+
{ return boost::math::cyl_bessel_j_zero(v, m, Policy()); }\
|
1220
|
+
\
|
1221
|
+
template <class OutputIterator, class T>\
|
1222
|
+
inline void cyl_bessel_j_zero(T v,\
|
1223
|
+
int start_index,\
|
1224
|
+
unsigned number_of_zeros,\
|
1225
|
+
OutputIterator out_it)\
|
1226
|
+
{ boost::math::cyl_bessel_j_zero(v, start_index, number_of_zeros, out_it, Policy()); }\
|
1227
|
+
\
|
1228
|
+
template <class T>\
|
1229
|
+
inline typename boost::math::detail::bessel_traits<T, T, Policy >::result_type cyl_neumann_zero(T v, int m)\
|
1230
|
+
{ return boost::math::cyl_neumann_zero(v, m, Policy()); }\
|
1231
|
+
\
|
1232
|
+
template <class OutputIterator, class T>\
|
1233
|
+
inline void cyl_neumann_zero(T v,\
|
1234
|
+
int start_index,\
|
1235
|
+
unsigned number_of_zeros,\
|
1236
|
+
OutputIterator out_it)\
|
1237
|
+
{ boost::math::cyl_neumann_zero(v, start_index, number_of_zeros, out_it, Policy()); }\
|
1140
1238
|
\
|
1141
1239
|
template <class T>\
|
1142
1240
|
inline typename boost::math::tools::promote_args<T>::type sin_pi(T x){ return boost::math::sin_pi(x); }\
|
@@ -1286,6 +1384,20 @@ namespace boost
|
|
1286
1384
|
inline typename boost::math::tools::promote_args<T>::type airy_bi_prime(T x)\
|
1287
1385
|
{ return boost::math::airy_bi_prime(x, Policy()); }\
|
1288
1386
|
\
|
1387
|
+
template <class T>\
|
1388
|
+
inline T airy_ai_zero(int m)\
|
1389
|
+
{ return boost::math::airy_ai_zero<T>(m, Policy()); }\
|
1390
|
+
template <class T, class OutputIterator>\
|
1391
|
+
OutputIterator airy_ai_zero(int start_index, unsigned number_of_zeros, OutputIterator out_it)\
|
1392
|
+
{ return boost::math::airy_ai_zero<T>(start_index, number_of_zeros, out_it, Policy()); }\
|
1393
|
+
\
|
1394
|
+
template <class T>\
|
1395
|
+
inline T airy_bi_zero(int m)\
|
1396
|
+
{ return boost::math::airy_bi_zero<T>(m, Policy()); }\
|
1397
|
+
template <class T, class OutputIterator>\
|
1398
|
+
OutputIterator airy_bi_zero(int start_index, unsigned number_of_zeros, OutputIterator out_it)\
|
1399
|
+
{ return boost::math::airy_bi_zero<T>(start_index, number_of_zeros, out_it, Policy()); }\
|
1400
|
+
\
|
1289
1401
|
|
1290
1402
|
|
1291
1403
|
|