From fb18b1e365046b38a4acd0a99a5adb10f2ff1241 Mon Sep 17 00:00:00 2001 From: Rick Gutleber Date: Mon, 27 Sep 2021 20:46:30 -0400 Subject: [PATCH 1/6] 8.5.0 release --- README.md | 327 +++++++++++++++++++++++++++++----------------- requirements.txt | 26 ++-- rpn/makeHelp.py | 6 +- rpn/rpnVersion.py | 4 +- 4 files changed, 224 insertions(+), 139 deletions(-) diff --git a/README.md b/README.md index ed21541..b073a30 100644 --- a/README.md +++ b/README.md @@ -6,19 +6,30 @@ rpnChilada supports arithmetic with arbitrary precision, powers and roots, logar ## Updates -### Update - May 17, 2020 +### Update - September 27, 2021 -Version 8.3.0 is released. This is another incremental release with a few new operators. I've also been focusing on -filling in help text for all the units. Right now there are 172 units that don't have help text. +RPN isn't dead, although I figured it was time for a new release since with the +library updates, 8.4.0 didn't work any more. -### Update - August 13, 2020 +Version rpn 8.5.0 is released: Big Clean-Up and Documentation Release! -Version 8.4.0 is released. This is another incremental release with a few new operators and bug fixes. -I'm still focusing on filling in help text for all the operators. There are now over 2000 examples in the help file. +Much more thorough argument validation has been implemented on all operators. +In addition, all non-constant operator function names now end with 'Operator', +which means I can be sure they are not being called recursively, or being called +by other operator functions, so that the argument expansion and validation isn't +being done more than once. + +I have continued my focus on completing the online help, which is now more than +95% complete. This also resulted in a number of operators being eliminated (see +below), and a bevy of bug fixes. Almost every operator now has a help example. + +The help for units is now complete. Every unit has help text. + +About 70 new operators have been added. --- -The current release is 8.4.0. +The current release is 8.5.0. See "rpn help settings" for more information. @@ -90,6 +101,77 @@ p.s. rpn is licensed under the GNU GPL version 3.0. See (see (http://www.gnu.org ## Release Notes +8.5.0 + +Big Clean-Up and Documentation Release! + +Much more thorough argument validation has been implemented on all operators. +In addition, all non-constant operator function names now end with 'Operator', +which means I can be sure they are not being called recursively, or being called +by other operator functions, so that the argument expansion and validation isn't +being done more than once. + +I have continued my focus on completing the online help, which is now more than +95% complete. This also resulted in a number of operators being eliminated (see +below), and a bevy of bug fixes. Almost every operator now has a help example. + +The help for units is now complete. Every unit has help text. + +About 70 new operators have been added, including: + +The 'number_from_file' and 'get_decimal_digits' operators have been added. + +Time zone handling has been improved. 'to_time_zone', 'set_time_zone' and +'to_local_time' have been added. + +'lat_long_to_nac' was removed (after I fixed it), since the developers of the +Natural Area Code claim a copyright on the system itself, and do not allow +outside implementations. I guess they don't want people adopting their system. + + +I removed the 'cyclotomic' operator, since I don't understand it enough to +explain what it does or why it's useful. I'm just exposing an mpmath function. +Some day I'll probably go through an expose all those mpmath functions that I +haven't already. + +I removed 'planck_angular_frequency' since there is some confusion as to how it +should be defined. Plus, it isn't very interesting. +(see https://chemphys.ca/pbunker/PlanckWiki.pdf) + +I removed the 'planck_pressure' operator since it was identical to the +'planck_energy_density' operator. + +I removed 'iso_date' and 'iso_day' which _both_ duplicated 'to_iso'. Also, +'make_iso_time' was essentially a duplicate function as well, so it's been +removed. + +I renamed the following operators to be more consistent: +'get_utc' --> 'to_utc' +'get_local_time' --> 'to_local_time' +'num' --> 'ranged_sum' +'nprod' --> 'ranged_product' +'power_tower2' --> 'power_tower_right' +'is_friendly' --> 'is_sociable_list' +'limitn' --> 'decreasing_limit' + +Removed a couple of unit types for which I could not find sufficient +documentation. In particular the Talk page on Wikipedia claims that a couple of +the wine bottle sizes they had previously reported could not be verified. + +Removed the 'filter_lists' operator because it isn't needed. 'filter' works +fine on a list of lists. + +I got rid of the 'repeat' operator because I literally couldn't think of a use +for it. + +I eliminated 'eval_list2' and 'eval_list3' because I couldn't figure out how to +contrive a meaningful example, and therefore don't think they would be useful. + +The 'recurrence' operator was removed, because it was a duplicate of the +'sequence' operator. + +And, of course, the usual bug fixes. + 8.4.0 Revamped the prime number operators, and filled in a couple of missing ones. @@ -281,11 +363,10 @@ rpn now supports user-defined variables and functions, including persistent vari Operators supported by rpn: -( ) [ ] _dump_aliases _dump_cache _dump_constants _dump_conversions -_dump_operators _dump_prime_cache _dump_stats _dump_units aa_battery abs -abundance abundance_ratio acceleration accuracy ackermann_number acos acosh acot -acoth acsc acsch add add_digits add_polynomials advent agm aliquot aliquot_limit -alpha_particle_mass alternate_signs alternate_signs_2 alternating_factorial +( ) [ ] aa_battery abs abundance abundance_ratio acceleration accuracy +ackermann_number acos acosh acot acoth acsc acsch add add_digits +add_polynomials advent agm aliquot aliquot_limit alpha_particle_mass +alternate_signs alternate_signs_2 alternating_factorial alternating_harmonic_fraction alternating_sum alternating_sum_2 and and_all angular_separation angular_size antiharmonic_mean antiprism_area antiprism_volume antitransit_time apery_constant append april argument @@ -303,49 +384,51 @@ centered_icosahedral centered_nonagonal centered_octagonal centered_octahedral centered_pentagonal centered_polygonal centered_square centered_tetrahedral centered_triangular champernowne_constant char christmas classical_electron_radius collate collatz columbus_day combinations -combine_digits comma comma_mode compare_lists compositions cone_area cone_volume -conjugate continued_fraction convert copeland_erdos_constant cos cosh cot coth -coulomb_constant count count_bits count_different_digits count_digits -count_divisors count_frobenius cousin_prime cousin_primes crt csc csch cube -cube_root cube_super_root cumulative_diffs cumulative_means cumulative_products -cumulative_ratios cumulative_sums cyclic_permutations dawn day_time -debruijn_sequence decagonal decagonal_centered_square decagonal_heptagonal -decagonal_hexagonal decagonal_nonagonal decagonal_octagonal decagonal_pentagonal -decagonal_triangular december decimal_grouping decreasing_limit decrement -default delete_config density_of_water describe deuteron_mass dhms difference -diffs digamma digital_root digits dimensions discriminant distance -distance_from_earth distance_from_sun divide divisors dms dodecahedral -dodecahedron_area dodecahedron_volume does_list_repeat double -double_balanced_prime double_balanced_primes double_factorial dst_end dst_start -dump_config dump_variables duplicate_digits duplicate_number duplicate_operator +combine_digits comma comma_mode compare_lists compositions cone_area +cone_volume conjugate continued_fraction convert copeland_erdos_constant cos +cosh cot coth coulomb_constant count count_bits count_different_digits +count_digits count_divisors count_frobenius cousin_prime cousin_primes crt csc +csch cube cube_root cube_super_root cumulative_diffs cumulative_means +cumulative_products cumulative_ratios cumulative_sums cyclic_permutations dawn +day_time debruijn_sequence decagonal decagonal_centered_square +decagonal_heptagonal decagonal_hexagonal decagonal_nonagonal +decagonal_octagonal decagonal_pentagonal decagonal_triangular december +decimal_grouping decreasing_limit decrement default delete_config +density_of_water describe deuteron_mass dhms difference diffs digamma +digital_root digits dimensions discriminant distance distance_from_earth +distance_from_sun divide divisors dms dodecahedral dodecahedron_area +dodecahedron_volume does_list_repeat double double_balanced_prime +double_balanced_primes double_factorial dst_end dst_start dump_config +dump_variables duplicate_digits duplicate_number duplicate_operator duplicate_term dusk e earth_density earth_gravity earth_mass earth_radius -earth_volume easter echo eclipse_totality eddington_number egyptian_fractions -election_day electric_constant electron_charge electron_mass element -element_block element_boiling_point element_density element_description +earth_volume earth2 easter echo eclipse_totality eddington_number +egyptian_fractions election_day electric_constant electron_charge electron_mass +element element_block element_boiling_point element_density element_description element_group element_melting_point element_name element_occurrence element_period element_state energy_equivalence enumerate enumerate_dice -enumerate_dice\_ epiphany equals_one_of erdos_persistence escape_velocity -estimate eta euler_brick euler_mascheroni_constant euler_phi eval eval0 eval2 -eval3 eval_list eval_polynomial exp exp10 exponential_range expphi factor +enumerate_dice_ epiphany equals_one_of erdos_persistence escape_velocity +estimate eta euler_brick euler_mascheroni_constant euler_phi eval eval_list +eval_polynomial eval0 eval2 eval3 exp exp10 exponential_range expphi factor factorial false faraday_constant fathers_day february fibonacci fibonorial filter filter_by_index filter_integers filter_max filter_min filter_on_flags -find find_palindrome find_polynomial find_sum_of_cubes find_sum_of_squares -fine_structure_constant flatten float floor for_each for_each_list fraction -friday frobenius from_bahai from_ethiopian from_french_republican from_hebrew -from_indian_civil from_islamic from_julian from_mayan from_persian -from_unix_time function gallon_of_ethanol gallon_of_gasoline gamma gcd gcd2 -generalized_decagonal generalized_heptagonal generalized_nonagonal -generalized_octagonal generalized_pentagonal generate_polydivisibles -geographic_distance geometric_mean geometric_range geometric_recurrence -get_base_k_digits get_combinations get_config get_day get_digits get_hour +filter_ratio filter_show_index find find_palindrome find_polynomial +find_sum_of_cubes find_sum_of_squares fine_structure_constant flatten float +floor for_each for_each_list fraction friday frobenius from_bahai +from_ethiopian from_french_republican from_hebrew from_indian_civil +from_islamic from_julian from_mayan from_persian from_unix_time function +gallon_of_ethanol gallon_of_gasoline gamma gcd gcd2 generalized_decagonal +generalized_heptagonal generalized_nonagonal generalized_octagonal +generalized_pentagonal generate_polydivisibles geographic_distance +geometric_mean geometric_range geometric_recurrence get_base_k_digits +get_combinations get_config get_day get_decimal_digits get_digits get_hour get_left_digits get_left_truncations get_minute get_month get_nonzero_base_k_digits get_nonzero_digits get_partitions get_partitions_with_limit get_permutations get_repeat_combinations get_repeat_permutations get_right_digits get_right_truncations get_second get_time_zone get_time_zone_offset get_variable get_year glaisher_constant good_friday group_elements harmonic_fraction harmonic_mean harmonic_residue -has_any_digits has_digits has_only_digits heat_index helion_mass help heptagonal -heptagonal_hexagonal heptagonal_pentagonal heptagonal_square +has_any_digits has_digits has_only_digits heat_index helion_mass help +heptagonal heptagonal_hexagonal heptagonal_pentagonal heptagonal_square heptagonal_triangular heptanacci hex_mode hexagonal hexagonal_pentagonal hexagonal_square hexanacci hms horizon_distance hurwitz_zeta hyperfactorial hyperfine_transition_frequency_of_cesium hyperoperator hyperoperator_right @@ -360,54 +443,55 @@ is_increasing is_integer is_k_hyperperfect is_k_morphic is_k_narcissistic is_k_perfect is_k_polydivisible is_k_semiprime is_k_sphenic is_kaprekar is_kth_power is_less is_narcissistic is_not_equal is_not_greater is_not_less is_not_zero is_odd is_order_k_smith_number is_palindrome_list is_pandigital -is_pddi is_pdi is_perfect is_pernicious is_polydivisible is_power_of_k -is_powerful is_prime is_pronic is_rough is_ruth_aaron is_semiprime -is_smith_number is_smooth is_sociable_list is_sphenic is_square is_squarefree -is_step_number is_strong_pseudoprime is_sum_product is_trimorphic is_unusual -is_zero isolated_prime itoi january july june jupiter jupiter_mass -jupiter_radius jupiter_revolution jupiter_volume k_fibonacci k_persistence -k_sphere_area k_sphere_radius k_sphere_volume khinchin_constant kinetic_energy -labor_day lah_number lambda lambertw larger lat_long lcm lcm2 leading_zero -leading_zero_mode left leyland_number li limit linear_recurrence -linear_recurrence_with_modulo list_from_file location_info log log10 log2 -log_gamma logxy long longlong lucas magnetic_constant magnetic_flux_quantum +is_pddi is_pdi is_perfect is_pernicious is_polite is_polydivisible +is_power_of_k is_powerful is_prime is_pronic is_rough is_ruth_aaron +is_semiprime is_smith_number is_smooth is_sociable_list is_sphenic is_square +is_squarefree is_step_number is_strong_pseudoprime is_sum_product is_trimorphic +is_unusual is_zero isolated_prime itoi january july june jupiter jupiter_mass +jupiter_radius jupiter_revolution jupiter_volume jupiter2 k_fibonacci +k_persistence k_sphere_area k_sphere_radius k_sphere_volume khinchin_constant +kinetic_energy labor_day lah_number lambda lambertw larger lat_long lcm lcm2 +leading_zero leading_zero_mode left leyland_number li limit linear_recurrence +linear_recurrence_with_modulo list_from_file location_info log log_gamma log10 +log2 logxy long longlong lucas magnetic_constant magnetic_flux_quantum make_continued_fraction make_datetime make_julian_time make_pyth_3 make_pyth_4 -mantissa march mars mars_mass mars_radius mars_revolution mars_volume +mantissa march mars mars_mass mars_radius mars_revolution mars_volume mars2 martin_luther_king_day mass_equivalence max_char max_double max_float max_index max_long max_longlong max_quadlong max_short max_uchar max_ulong max_ulonglong max_uquadlong max_ushort maximum may mean memorial_day mercury mercury_mass -mercury_radius mercury_revolution mercury_volume merten_constant mills_constant -min_char min_double min_float min_index min_long min_longlong min_quadlong -min_short min_uchar min_ulong min_ulonglong min_uquadlong min_ushort minimum -modulo molar_gas_constant molar_mass monday moon moon_antitransit moon_gravity -moon_mass moon_phase moon_radius moon_revolution moon_transit moon_volume -moonrise moonset mothers_day multifactorial multinomial multiply -multiply_digit_powers multiply_digits multiply_nonzero_digit_powers -multiply_nonzero_digits multiply_polynomials muon_mass name nand nand_all -narayana_number nautical_dawn nautical_dusk nearest_int negative -negative_infinity neptune neptune_mass neptune_radius neptune_revolution -neptune_volume neutron_mass new_years_day newton_constant next_antitransit -next_first_quarter_moon next_full_moon next_last_quarter_moon next_new_moon -next_prime next_primes next_quadruplet_prime next_quadruplet_primes -next_quintuplet_prime next_quintuplet_primes next_rising next_setting -next_sextuplet_prime next_sextuplet_primes next_transit next_triplet_prime -next_triplet_primes next_twin_prime next_twin_primes night_time nonagonal -nonagonal_heptagonal nonagonal_hexagonal nonagonal_octagonal -nonagonal_pentagonal nonagonal_square nonagonal_triangular nonzero nor nor_all -not november now nth_apery nth_bell nth_bell_polynomial nth_bernoulli nth_carol -nth_catalan nth_centered_decagonal nth_centered_heptagonal -nth_centered_hexagonal nth_centered_nonagonal nth_centered_octagonal -nth_centered_pentagonal nth_centered_polygonal nth_centered_square -nth_centered_triangular nth_decagonal nth_delannoy nth_harmonic_number -nth_heptagonal nth_hexagonal nth_jacobsthal nth_k_thabit nth_k_thabit_2 -nth_kynea nth_leonardo nth_linear_recurrence nth_linear_recurrence_with_modulo -nth_menage nth_mersenne_exponent nth_mersenne_prime nth_merten nth_mobius -nth_motzkin nth_nonagonal nth_octagonal nth_padovan nth_pell nth_pentagonal -nth_perfect_number nth_polygonal nth_prime nth_quadruplet_prime -nth_quintuplet_prime nth_schroeder nth_schroeder_hipparchus nth_sextuplet_prime -nth_square nth_stern nth_sylvester nth_thabit nth_thabit_2 nth_thue_morse -nth_triangular nth_triplet_prime nth_twin_prime nth_weekday nth_weekday_of_year -nuclear_magneton occurrence_cumulative occurrence_ratios occurrences octagonal +mercury_radius mercury_revolution mercury_volume mercury2 merten_constant +mills_constant min_char min_double min_float min_index min_long min_longlong +min_quadlong min_short min_uchar min_ulong min_ulonglong min_uquadlong +min_ushort minimum modulo molar_gas_constant molar_mass monday moon +moon_antitransit moon_gravity moon_mass moon_phase moon_radius moon_revolution +moon_transit moon_volume moon2 moonrise moonset mothers_day multifactorial +multinomial multiply multiply_digit_powers multiply_digits +multiply_nonzero_digit_powers multiply_nonzero_digits multiply_polynomials +muon_mass name nand nand_all narayana_number nautical_dawn nautical_dusk +nearest_int negative negative_infinity neptune neptune_mass neptune_radius +neptune_revolution neptune_volume neptune2 neutron_mass new_years_day +newton_constant next_antitransit next_first_quarter_moon next_full_moon +next_last_quarter_moon next_new_moon next_prime next_primes +next_quadruplet_prime next_quadruplet_primes next_quintuplet_prime +next_quintuplet_primes next_rising next_setting next_sextuplet_prime +next_sextuplet_primes next_transit next_triplet_prime next_triplet_primes +next_twin_prime next_twin_primes night_time nonagonal nonagonal_heptagonal +nonagonal_hexagonal nonagonal_octagonal nonagonal_pentagonal nonagonal_square +nonagonal_triangular nonzero nor nor_all not november now nth_apery nth_bell +nth_bell_polynomial nth_bernoulli nth_carol nth_catalan nth_centered_decagonal +nth_centered_heptagonal nth_centered_hexagonal nth_centered_nonagonal +nth_centered_octagonal nth_centered_pentagonal nth_centered_polygonal +nth_centered_square nth_centered_triangular nth_decagonal nth_delannoy +nth_harmonic_number nth_heptagonal nth_hexagonal nth_jacobsthal nth_k_thabit +nth_k_thabit_2 nth_kynea nth_leonardo nth_linear_recurrence +nth_linear_recurrence_with_modulo nth_menage nth_mersenne_exponent +nth_mersenne_prime nth_merten nth_mobius nth_motzkin nth_nonagonal +nth_octagonal nth_padovan nth_pell nth_pentagonal nth_perfect_number +nth_polygonal nth_prime nth_quadruplet_prime nth_quintuplet_prime nth_schroeder +nth_schroeder_hipparchus nth_sextuplet_prime nth_square nth_stern nth_sylvester +nth_thabit nth_thabit_2 nth_thue_morse nth_triangular nth_triplet_prime +nth_twin_prime nth_weekday nth_weekday_of_year nuclear_magneton +number_from_file occurrence_cumulative occurrence_ratios occurrences octagonal octagonal_heptagonal octagonal_hexagonal octagonal_pentagonal octagonal_square octagonal_triangular octahedral octahedron_area octahedron_volume octal_mode octanacci october octy_prime octy_primes oeis oeis_comment oeis_ex oeis_name @@ -421,27 +505,27 @@ planck_energy planck_energy_density planck_force planck_impedance planck_intensity planck_length planck_magnetic_inductance planck_mass planck_momentum planck_power planck_temperature planck_time planck_viscosity planck_voltage planck_volume planck_volumetric_flow_rate plastic_constant plot -plot2 plot_complex pluto pluto_mass pluto_radius pluto_revolution pluto_volume -polyexp polygamma polygon_area polygonal polygonal_pyramidal polygorial polylog -polynomial_power polynomial_product polynomial_sum polyprime polytope power -power_tower power_tower_right powerset powmod precision presidents_day previous -previous_antitransit previous_first_quarter_moon previous_full_moon -previous_last_quarter_moon previous_new_moon previous_prime previous_primes -previous_rising previous_setting previous_transit prevost_constant prime -prime_pi prime_range primes primitive_units primorial prism_area prism_volume -product proton_mass pyramidal pythagorean_triples quadlong -quadruple_balanced_prime quadruple_balanced_primes quadruplet_prime +plot_complex plot2 pluto pluto_mass pluto_radius pluto_revolution pluto_volume +pluto2 politeness polyexp polygamma polygon_area polygonal polygonal_pyramidal +polygorial polylog polynomial_power polynomial_product polynomial_sum polyprime +polytope power power_tower power_tower_right powerset powmod precision +presidents_day previous previous_antitransit previous_first_quarter_moon +previous_full_moon previous_last_quarter_moon previous_new_moon previous_prime +previous_primes previous_rising previous_setting previous_transit +prevost_constant prime prime_pi prime_range primes primitive_units primorial +prism_area prism_volume product proton_mass pyramidal pythagorean_triples +quadlong quadruple_balanced_prime quadruple_balanced_primes quadruplet_prime quadruplet_primes quintuplet_prime quintuplet_primes radiation_constant radical -random random\_ random_element random_integer random_integers range +random random_ random_element random_integer random_integers range ranged_product ranged_sum ratios real reciprocal reduce reduced_planck_constant relatively_prime replace_digits repunit result reversal_addition reverse -reverse_digits rhombic_dodecahedral right robbins_constant roll_dice roll_dice\_ +reverse_digits rhombic_dodecahedral right robbins_constant roll_dice roll_dice_ roll_simple_dice root root_mean_square rotate_digits_left rotate_digits_right -round round_by_digits round_by_value rydberg_constant safe_prime saturday saturn -saturn_mass saturn_radius saturn_revolution saturn_volume sec sech september -sequence set_config set_time_zone set_variable sextuplet_prime sextuplet_primes -sexy_prime sexy_primes sexy_quadruplet sexy_quadruplets sexy_triplet -sexy_triplets shift_left shift_right short show_erdos_persistence +round round_by_digits round_by_value rydberg_constant safe_prime saturday +saturn saturn_mass saturn_radius saturn_revolution saturn_volume saturn2 sec +sech september sequence set_config set_time_zone set_variable sextuplet_prime +sextuplet_primes sexy_prime sexy_primes sexy_quadruplet sexy_quadruplets +sexy_triplet sexy_triplets shift_left shift_right short show_erdos_persistence show_k_persistence show_persistence shuffle sidereal_year sigma sigma_k sign silver_ratio sin sinh sized_range sky_location slice smaller solar_constant solar_noon solve solve_cubic solve_frobenius solve_quadratic solve_quartic @@ -450,25 +534,24 @@ sphere_volume square square_digit_chain square_root square_super_root square_triangular star stddev stefan_boltzmann_constant stella_octangula stirling1_number stirling2_number subfactorial sublist subtract sum sum_digits summer_solstice sums_of_k_nonzero_powers sums_of_k_powers sun sun_antitransit -sun_luminosity sun_mass sun_radius sun_volume sunday sunrise sunset super_prime -super_root super_roots superfactorial surface_gravity tan tanh tau tau_mass -tetrahedral tetrahedron_area tetrahedron_volume tetranacci tetrate tetrate_right -thanksgiving thue_morse_constant thursday tidal_force time_dilation timer -timer_mode to_bahai to_bahai_name to_ethiopian to_ethiopian_name -to_french_republican to_french_republican_name to_hebrew to_hebrew_name -to_indian_civil to_indian_civil_name to_islamic to_islamic_name to_iso -to_iso_name to_julian to_julian_day to_lilian_day to_local_time to_mayan +sun_luminosity sun_mass sun_radius sun_volume sun2 sunday sunrise sunset +super_prime super_root super_roots superfactorial surface_gravity tan tanh tau +tau_mass tetrahedral tetrahedron_area tetrahedron_volume tetranacci tetrate +tetrate_right thanksgiving thue_morse_constant thursday tidal_force +time_dilation timer timer_mode to_bahai to_bahai_name to_ethiopian +to_ethiopian_name to_french_republican to_french_republican_name to_hebrew +to_hebrew_name to_indian_civil to_indian_civil_name to_islamic to_islamic_name +to_iso to_iso_name to_julian to_julian_day to_lilian_day to_local_time to_mayan to_ordinal_date to_persian to_persian_name to_time_zone to_unix_time to_utc today tomorrow torus_area torus_volume transit_time triangle_area triangular tribonacci trigamma triple_balanced_prime triple_balanced_primes triple_point_of_water triplet_prime triplet_primes triton_mass tropical_year true truncated_octahedral truncated_tetrahedral tuesday twin_prime twin_primes -uchar uinteger ulong ulonglong undouble unfilter unfilter_by_index unfloat union -unique unit_roots unlist unpack uquadlong uranus uranus_mass uranus_radius -uranus_revolution uranus_volume ushort uuid uuid_random vacuum_impedance value -velocity venus venus_mass venus_radius venus_revolution venus_volume -vernal_equinox veterans_day von_klitzing_constant wednesday weekday weekday_name -wind_chill winter_solstice x xnor xor y ydhms year_calendar yesterday z zero -zeta zeta_zero - - +uchar uinteger ulong ulonglong undouble unfilter unfilter_by_index +unfilter_ratio unfilter_show_index unfloat union unique unit_roots unlist +unpack uquadlong uranus uranus_mass uranus_radius uranus_revolution +uranus_volume uranus2 ushort uuid uuid_random vacuum_impedance value van_eck +velocity venus venus_mass venus_radius venus_revolution venus_volume venus2 +vernal_equinox veterans_day von_klitzing_constant wednesday weekday +weekday_name wind_chill winter_solstice x xnor xor y ydhms year_calendar +yesterday z zero zeta zeta_zero diff --git a/requirements.txt b/requirements.txt index 75b6a1c..eece31a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,18 +1,18 @@ -arrow>=0.17.0 -convertdate>=2.2.2 +arrow>=1.1.1 +convertdate>=2.3.2 dateutil>=2.8.1 -ephem>=3.7.7.1 +ephem>=4.0.0.2 ethiopian-date-converter>=0.1.5 -geopy>=2.1.0 +geopy>=2.2.0 gmpy2>=2.0.8 hyperop>=1.1 -importlib_resources>=4.1.1 -mpmath>=1.1.0 -numpy>=1.19.4 -pytz>=2020.5 +importlib_resources>=5.2.2 +mpmath>=1.2.1 +numpy>=1.21.2 +pytz>=2021.1 rpnChiladaData>=1.1.0 -setuptools>=51.1.0 -skyfield>=1.34 -timezonefinder>=5.0.0 -tzlocal>=2.1 -wheel>=0.36.2 +setuptools>=56.1.0 +skyfield>=1.39 +timezonefinder>=5.2.0 +tzlocal>=3.0 +wheel>=0.37.0 diff --git a/rpn/makeHelp.py b/rpn/makeHelp.py index 346405b..196544c 100644 --- a/rpn/makeHelp.py +++ b/rpn/makeHelp.py @@ -1297,10 +1297,12 @@ def makeCommandExample( command, indent=0, slow=False ): I have continued my focus on completing the online help, which is now more than 95% complete. This also resulted in a number of operators being eliminated (see -below), and a bevy of bug fixes. +below), and a bevy of bug fixes. Almost every operator now has a help example. The help for units is now complete. Every unit has help text. +About 70 new operators have been added, including: + The 'number_from_file' and 'get_decimal_digits' operators have been added. Time zone handling has been improved. 'to_time_zone', 'set_time_zone' and @@ -1344,7 +1346,7 @@ def makeCommandExample( command, indent=0, slow=False ): fine on a list of lists. I got rid of the 'repeat' operator because I literally couldn't think of a use -for i +for it. I eliminated 'eval_list2' and 'eval_list3' because I couldn't figure out how to contrive a meaningful example, and therefore don't think they would be useful. diff --git a/rpn/rpnVersion.py b/rpn/rpnVersion.py index 8f798b4..2c8b5ce 100644 --- a/rpn/rpnVersion.py +++ b/rpn/rpnVersion.py @@ -19,8 +19,8 @@ #****************************************************************************** PROGRAM_NAME = 'rpnChilada' -PROGRAM_VERSION = '8.4.991' -PROGRAM_VERSION_NAME = '8.4.991' +PROGRAM_VERSION = '8.5.0' +PROGRAM_VERSION_NAME = '8.5.0' COPYRIGHT_MESSAGE = 'copyright (c) 2021 (1988), Rick Gutleber (rickg@his.com)' if PROGRAM_VERSION != PROGRAM_VERSION_NAME: From 1571a41b004d04d59be6f6cf1dc3b50840be554f Mon Sep 17 00:00:00 2001 From: Rick Gutleber Date: Mon, 27 Sep 2021 20:47:29 -0400 Subject: [PATCH 2/6] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b073a30..036a43c 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ rpnChilada supports arithmetic with arbitrary precision, powers and roots, logar RPN isn't dead, although I figured it was time for a new release since with the library updates, 8.4.0 didn't work any more. -Version rpn 8.5.0 is released: Big Clean-Up and Documentation Release! +rpn 8.5.0 is released: Big Clean-Up and Documentation Release! Much more thorough argument validation has been implemented on all operators. In addition, all non-constant operator function names now end with 'Operator', From e5e59dc5d8e0f5057bddfaa9777f238c0a9c24c8 Mon Sep 17 00:00:00 2001 From: Rick Gutleber Date: Mon, 27 Sep 2021 21:41:06 -0400 Subject: [PATCH 3/6] rpn 8.5.1 --- README.md | 8 ++++++-- rpn/makeHelp.py | 4 ++++ rpn/rpnVersion.py | 4 ++-- setup.py | 1 + 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 036a43c..0d9ad2e 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ rpnChilada supports arithmetic with arbitrary precision, powers and roots, logar RPN isn't dead, although I figured it was time for a new release since with the library updates, 8.4.0 didn't work any more. -rpn 8.5.0 is released: Big Clean-Up and Documentation Release! +rpn 8.5.1 is released: Big Clean-Up and Documentation Release! Much more thorough argument validation has been implemented on all operators. In addition, all non-constant operator function names now end with 'Operator', @@ -29,7 +29,7 @@ About 70 new operators have been added. --- -The current release is 8.5.0. +The current release is 8.5.1. See "rpn help settings" for more information. @@ -101,6 +101,10 @@ p.s. rpn is licensed under the GNU GPL version 3.0. See (see (http://www.gnu.org ## Release Notes +8.5.1 + +Forgot to add Python 3.9 to the list of supported versions. + 8.5.0 Big Clean-Up and Documentation Release! diff --git a/rpn/makeHelp.py b/rpn/makeHelp.py index 196544c..53a139e 100644 --- a/rpn/makeHelp.py +++ b/rpn/makeHelp.py @@ -1353,6 +1353,10 @@ def makeCommandExample( command, indent=0, slow=False ): The 'recurrence' operator was removed, because it was a duplicate of the 'sequence' operator. + +8.5.1 + +Forgot to add Python 3.9 to the list of supported versions. ''', 'license' : ''' diff --git a/rpn/rpnVersion.py b/rpn/rpnVersion.py index 2c8b5ce..11fbf3f 100644 --- a/rpn/rpnVersion.py +++ b/rpn/rpnVersion.py @@ -19,8 +19,8 @@ #****************************************************************************** PROGRAM_NAME = 'rpnChilada' -PROGRAM_VERSION = '8.5.0' -PROGRAM_VERSION_NAME = '8.5.0' +PROGRAM_VERSION = '8.5.1' +PROGRAM_VERSION_NAME = '8.5.1' COPYRIGHT_MESSAGE = 'copyright (c) 2021 (1988), Rick Gutleber (rickg@his.com)' if PROGRAM_VERSION != PROGRAM_VERSION_NAME: diff --git a/setup.py b/setup.py index dadda19..a42b2db 100644 --- a/setup.py +++ b/setup.py @@ -101,6 +101,7 @@ def read( *paths ): 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', 'Topic :: Scientific/Engineering :: Mathematics', 'Environment :: Console', ], From e8bac50048d4517c058c8164de4a2646e5d001df Mon Sep 17 00:00:00 2001 From: Rick Gutleber Date: Tue, 28 Sep 2021 08:25:21 -0400 Subject: [PATCH 4/6] The library name was wrong, it's "python-dateutil" --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index eece31a..0041182 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ arrow>=1.1.1 convertdate>=2.3.2 -dateutil>=2.8.1 +python-dateutil>=2.8.1 ephem>=4.0.0.2 ethiopian-date-converter>=0.1.5 geopy>=2.2.0 From 1db12c878990422bd484e0adecbb690cd23f065d Mon Sep 17 00:00:00 2001 From: Rick Gutleber Date: Tue, 28 Sep 2021 08:27:43 -0400 Subject: [PATCH 5/6] rpn 8.5.2 --- README.md | 6 +----- rpn/makeHelp.py | 4 ++++ rpn/rpnVersion.py | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 0d9ad2e..f1b3158 100644 --- a/README.md +++ b/README.md @@ -101,11 +101,7 @@ p.s. rpn is licensed under the GNU GPL version 3.0. See (see (http://www.gnu.org ## Release Notes -8.5.1 - -Forgot to add Python 3.9 to the list of supported versions. - -8.5.0 +8.5.2 Big Clean-Up and Documentation Release! diff --git a/rpn/makeHelp.py b/rpn/makeHelp.py index 53a139e..b5d04f0 100644 --- a/rpn/makeHelp.py +++ b/rpn/makeHelp.py @@ -1357,6 +1357,10 @@ def makeCommandExample( command, indent=0, slow=False ): 8.5.1 Forgot to add Python 3.9 to the list of supported versions. + +8.5.2 + +The library name is now "python-dateutil", not "dateutil". ''', 'license' : ''' diff --git a/rpn/rpnVersion.py b/rpn/rpnVersion.py index 11fbf3f..99438a3 100644 --- a/rpn/rpnVersion.py +++ b/rpn/rpnVersion.py @@ -19,8 +19,8 @@ #****************************************************************************** PROGRAM_NAME = 'rpnChilada' -PROGRAM_VERSION = '8.5.1' -PROGRAM_VERSION_NAME = '8.5.1' +PROGRAM_VERSION = '8.5.2' +PROGRAM_VERSION_NAME = '8.5.2' COPYRIGHT_MESSAGE = 'copyright (c) 2021 (1988), Rick Gutleber (rickg@his.com)' if PROGRAM_VERSION != PROGRAM_VERSION_NAME: From 2273552726af7edec96e55634640ae0e9f592eae Mon Sep 17 00:00:00 2001 From: Rick Gutleber Date: Tue, 28 Sep 2021 09:15:20 -0400 Subject: [PATCH 6/6] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f1b3158..de34e6c 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ rpnChilada supports arithmetic with arbitrary precision, powers and roots, logar RPN isn't dead, although I figured it was time for a new release since with the library updates, 8.4.0 didn't work any more. -rpn 8.5.1 is released: Big Clean-Up and Documentation Release! +rpn 8.5.2 is released: Big Clean-Up and Documentation Release! Much more thorough argument validation has been implemented on all operators. In addition, all non-constant operator function names now end with 'Operator', @@ -29,7 +29,7 @@ About 70 new operators have been added. --- -The current release is 8.5.1. +The current release is 8.5.2. See "rpn help settings" for more information.