|
Packit |
67cb25 |
/* specfunc/airy_zero.c
|
|
Packit |
67cb25 |
*
|
|
Packit |
67cb25 |
* Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman
|
|
Packit |
67cb25 |
*
|
|
Packit |
67cb25 |
* This program is free software; you can redistribute it and/or modify
|
|
Packit |
67cb25 |
* it under the terms of the GNU General Public License as published by
|
|
Packit |
67cb25 |
* the Free Software Foundation; either version 3 of the License, or (at
|
|
Packit |
67cb25 |
* your option) any later version.
|
|
Packit |
67cb25 |
*
|
|
Packit |
67cb25 |
* This program is distributed in the hope that it will be useful, but
|
|
Packit |
67cb25 |
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
67cb25 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
67cb25 |
* General Public License for more details.
|
|
Packit |
67cb25 |
*
|
|
Packit |
67cb25 |
* You should have received a copy of the GNU General Public License
|
|
Packit |
67cb25 |
* along with this program; if not, write to the Free Software
|
|
Packit |
67cb25 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
Packit |
67cb25 |
*/
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
/* Author: G. Jungman */
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
#include <config.h>
|
|
Packit |
67cb25 |
#include <gsl/gsl_math.h>
|
|
Packit |
67cb25 |
#include <gsl/gsl_errno.h>
|
|
Packit |
67cb25 |
#include <gsl/gsl_sf_airy.h>
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
#include "error.h"
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
static const double zero_Ai[] = {
|
|
Packit |
67cb25 |
0,
|
|
Packit |
67cb25 |
-2.3381074104597670385,
|
|
Packit |
67cb25 |
-4.087949444130970617,
|
|
Packit |
67cb25 |
-5.520559828095551059,
|
|
Packit |
67cb25 |
-6.786708090071758999,
|
|
Packit |
67cb25 |
-7.944133587120853123,
|
|
Packit |
67cb25 |
-9.022650853340980380,
|
|
Packit |
67cb25 |
-10.04017434155808593,
|
|
Packit |
67cb25 |
-11.00852430373326289,
|
|
Packit |
67cb25 |
-11.93601556323626252,
|
|
Packit |
67cb25 |
-12.82877675286575720,
|
|
Packit |
67cb25 |
-13.69148903521071793,
|
|
Packit |
67cb25 |
-14.52782995177533498,
|
|
Packit |
67cb25 |
-15.34075513597799686,
|
|
Packit |
67cb25 |
-16.13268515694577144,
|
|
Packit |
67cb25 |
-16.90563399742994263,
|
|
Packit |
67cb25 |
-17.661300105697057509,
|
|
Packit |
67cb25 |
-18.401132599207115416,
|
|
Packit |
67cb25 |
-19.126380474246952144,
|
|
Packit |
67cb25 |
-19.838129891721499701,
|
|
Packit |
67cb25 |
-20.537332907677566360,
|
|
Packit |
67cb25 |
-21.224829943642096955,
|
|
Packit |
67cb25 |
-21.901367595585130707,
|
|
Packit |
67cb25 |
-22.567612917496502831,
|
|
Packit |
67cb25 |
-23.224165001121681061,
|
|
Packit |
67cb25 |
-23.871564455535918567,
|
|
Packit |
67cb25 |
-24.510301236589677490,
|
|
Packit |
67cb25 |
-25.140821166148963748,
|
|
Packit |
67cb25 |
-25.763531400982756459,
|
|
Packit |
67cb25 |
-26.378805052137232374,
|
|
Packit |
67cb25 |
-26.986985111606367686,
|
|
Packit |
67cb25 |
-27.588387809882444812,
|
|
Packit |
67cb25 |
-28.183305502632644923,
|
|
Packit |
67cb25 |
-28.772009165237435382,
|
|
Packit |
67cb25 |
-29.354750558766287963,
|
|
Packit |
67cb25 |
-29.931764119086555913,
|
|
Packit |
67cb25 |
-30.503268611418505287,
|
|
Packit |
67cb25 |
-31.069468585183755604,
|
|
Packit |
67cb25 |
-31.63055565801265934,
|
|
Packit |
67cb25 |
-32.18670965295205069,
|
|
Packit |
67cb25 |
-32.73809960900026913,
|
|
Packit |
67cb25 |
-33.28488468190140188,
|
|
Packit |
67cb25 |
-33.82721494950865194,
|
|
Packit |
67cb25 |
-34.36523213386365906,
|
|
Packit |
67cb25 |
-34.89907025034531210,
|
|
Packit |
67cb25 |
-35.42885619274788846,
|
|
Packit |
67cb25 |
-35.95471026189862926,
|
|
Packit |
67cb25 |
-36.47674664437480896,
|
|
Packit |
67cb25 |
-36.99507384699450161,
|
|
Packit |
67cb25 |
-37.50979509200501613,
|
|
Packit |
67cb25 |
-38.02100867725525443,
|
|
Packit |
67cb25 |
-38.52880830509424882,
|
|
Packit |
67cb25 |
-39.03328338327251391,
|
|
Packit |
67cb25 |
-39.53451930072301805,
|
|
Packit |
67cb25 |
-40.03259768075417603,
|
|
Packit |
67cb25 |
-40.52759661388971821,
|
|
Packit |
67cb25 |
-41.01959087233248966,
|
|
Packit |
67cb25 |
-41.50865210780525018,
|
|
Packit |
67cb25 |
-41.99484903432643004,
|
|
Packit |
67cb25 |
-42.47824759730839188,
|
|
Packit |
67cb25 |
-42.95891113021656009,
|
|
Packit |
67cb25 |
-43.43690049989685412,
|
|
Packit |
67cb25 |
-43.91227424156370168,
|
|
Packit |
67cb25 |
-44.38508868433939023,
|
|
Packit |
67cb25 |
-44.85539806814583243,
|
|
Packit |
67cb25 |
-45.32325465267043011,
|
|
Packit |
67cb25 |
-45.78870881905730086,
|
|
Packit |
67cb25 |
-46.25180916491254629,
|
|
Packit |
67cb25 |
-46.71260259315651633,
|
|
Packit |
67cb25 |
-47.17113439520631705,
|
|
Packit |
67cb25 |
-47.62744832892739292,
|
|
Packit |
67cb25 |
-48.08158669175325711,
|
|
Packit |
67cb25 |
-48.53359038933679845,
|
|
Packit |
67cb25 |
-48.98349900006458366,
|
|
Packit |
67cb25 |
-49.43135083573678341,
|
|
Packit |
67cb25 |
-49.87718299868941729,
|
|
Packit |
67cb25 |
-50.32103143561221860,
|
|
Packit |
67cb25 |
-50.76293098829428522,
|
|
Packit |
67cb25 |
-51.20291544151056412,
|
|
Packit |
67cb25 |
-51.64101756824489758,
|
|
Packit |
67cb25 |
-52.07726917242964943,
|
|
Packit |
67cb25 |
-52.51170112936766183,
|
|
Packit |
67cb25 |
-52.94434342398931824,
|
|
Packit |
67cb25 |
-53.37522518708567514,
|
|
Packit |
67cb25 |
-53.80437472964785717,
|
|
Packit |
67cb25 |
-54.23181957543308298,
|
|
Packit |
67cb25 |
-54.65758649186871111,
|
|
Packit |
67cb25 |
-55.08170151939748312,
|
|
Packit |
67cb25 |
-55.50418999935962251,
|
|
Packit |
67cb25 |
-55.92507660050055598,
|
|
Packit |
67cb25 |
-56.34438534418670066,
|
|
Packit |
67cb25 |
-56.76213962840595327,
|
|
Packit |
67cb25 |
-57.17836225062417808,
|
|
Packit |
67cb25 |
-57.59307542956407782,
|
|
Packit |
67cb25 |
-58.00630082596830627,
|
|
Packit |
67cb25 |
-58.41805956240450934,
|
|
Packit |
67cb25 |
-58.82837224216613231,
|
|
Packit |
67cb25 |
-59.23725896731927534,
|
|
Packit |
67cb25 |
-59.64473935594259360,
|
|
Packit |
67cb25 |
-60.05083255860419805,
|
|
Packit |
67cb25 |
-60.45555727411669871
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
static const size_t size_zero_Ai = sizeof(zero_Ai)/sizeof(double);
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
static const double zero_Bi[] = {
|
|
Packit |
67cb25 |
0,
|
|
Packit |
67cb25 |
-1.173713222709127925,
|
|
Packit |
67cb25 |
-3.271093302836352716,
|
|
Packit |
67cb25 |
-4.830737841662015933,
|
|
Packit |
67cb25 |
-6.169852128310251260,
|
|
Packit |
67cb25 |
-7.376762079367763714,
|
|
Packit |
67cb25 |
-8.491948846509388013,
|
|
Packit |
67cb25 |
-9.538194379346238887,
|
|
Packit |
67cb25 |
-10.52991350670535792,
|
|
Packit |
67cb25 |
-11.47695355127877944,
|
|
Packit |
67cb25 |
-12.38641713858273875,
|
|
Packit |
67cb25 |
-13.26363952294180555,
|
|
Packit |
67cb25 |
-14.11275680906865779,
|
|
Packit |
67cb25 |
-14.93705741215416404,
|
|
Packit |
67cb25 |
-15.739210351190482771,
|
|
Packit |
67cb25 |
-16.521419550634379054,
|
|
Packit |
67cb25 |
-17.285531624581242533,
|
|
Packit |
67cb25 |
-18.033113287225001572,
|
|
Packit |
67cb25 |
-18.765508284480081041,
|
|
Packit |
67cb25 |
-19.483880132989234014,
|
|
Packit |
67cb25 |
-20.189244785396202420,
|
|
Packit |
67cb25 |
-20.882495994193175768,
|
|
Packit |
67cb25 |
-21.564425284712977653,
|
|
Packit |
67cb25 |
-22.235737881803385167,
|
|
Packit |
67cb25 |
-22.897065554219793474,
|
|
Packit |
67cb25 |
-23.548977079642448269,
|
|
Packit |
67cb25 |
-24.191986850649000086,
|
|
Packit |
67cb25 |
-24.826562012152892172,
|
|
Packit |
67cb25 |
-25.453128427085131994,
|
|
Packit |
67cb25 |
-26.072075698466804494,
|
|
Packit |
67cb25 |
-26.683761425120990449,
|
|
Packit |
67cb25 |
-27.288514830076298204,
|
|
Packit |
67cb25 |
-27.886639871735962459,
|
|
Packit |
67cb25 |
-28.478417925678661737,
|
|
Packit |
67cb25 |
-29.064110107777650305,
|
|
Packit |
67cb25 |
-29.643959295918396591,
|
|
Packit |
67cb25 |
-30.218191897047274645,
|
|
Packit |
67cb25 |
-30.787019397921766297,
|
|
Packit |
67cb25 |
-31.350639731255585371,
|
|
Packit |
67cb25 |
-31.90923848358456965,
|
|
Packit |
67cb25 |
-32.46298996683685318,
|
|
Packit |
67cb25 |
-33.01205817205683814,
|
|
Packit |
67cb25 |
-33.55659762084006113,
|
|
Packit |
67cb25 |
-34.09675412765602851,
|
|
Packit |
67cb25 |
-34.63266548426775468,
|
|
Packit |
67cb25 |
-35.16446207582101720,
|
|
Packit |
67cb25 |
-35.69226743681080479,
|
|
Packit |
67cb25 |
-36.21619875398748222,
|
|
Packit |
67cb25 |
-36.73636732230120657,
|
|
Packit |
67cb25 |
-37.25287895916828697,
|
|
Packit |
67cb25 |
-37.76583438165180116,
|
|
Packit |
67cb25 |
-38.27532955056003997,
|
|
Packit |
67cb25 |
-38.78145598496327279,
|
|
Packit |
67cb25 |
-39.28430105019802461,
|
|
Packit |
67cb25 |
-39.78394822205711298,
|
|
Packit |
67cb25 |
-40.28047732954369150,
|
|
Packit |
67cb25 |
-40.77396477829068148,
|
|
Packit |
67cb25 |
-41.26448375650675678,
|
|
Packit |
67cb25 |
-41.75210442510106287,
|
|
Packit |
67cb25 |
-42.23689409345656643,
|
|
Packit |
67cb25 |
-42.71891738216253539,
|
|
Packit |
67cb25 |
-43.19823637387693118,
|
|
Packit |
67cb25 |
-43.67491075336673948,
|
|
Packit |
67cb25 |
-44.14899793766617113,
|
|
Packit |
67cb25 |
-44.62055319719727274,
|
|
Packit |
67cb25 |
-45.08962976861312825,
|
|
Packit |
67cb25 |
-45.55627896004907928,
|
|
Packit |
67cb25 |
-46.02055024940102076,
|
|
Packit |
67cb25 |
-46.48249137619078661,
|
|
Packit |
67cb25 |
-46.94214842752602207,
|
|
Packit |
67cb25 |
-47.39956591861496210,
|
|
Packit |
67cb25 |
-47.85478686825452176,
|
|
Packit |
67cb25 |
-48.30785286967246692,
|
|
Packit |
67cb25 |
-48.75880415707066192,
|
|
Packit |
67cb25 |
-49.20767966818603897,
|
|
Packit |
67cb25 |
-49.65451710315861501,
|
|
Packit |
67cb25 |
-50.09935297997125482,
|
|
Packit |
67cb25 |
-50.54222268670364757,
|
|
Packit |
67cb25 |
-50.98316053082286586,
|
|
Packit |
67cb25 |
-51.42219978571468262,
|
|
Packit |
67cb25 |
-51.85937273464332870,
|
|
Packit |
67cb25 |
-52.29471071231240525,
|
|
Packit |
67cb25 |
-52.72824414418606069,
|
|
Packit |
67cb25 |
-53.16000258371716397,
|
|
Packit |
67cb25 |
-53.59001474761792882,
|
|
Packit |
67cb25 |
-54.01830854929815828,
|
|
Packit |
67cb25 |
-54.44491113058688729,
|
|
Packit |
67cb25 |
-54.86984889184461534,
|
|
Packit |
67cb25 |
-55.29314752056546491,
|
|
Packit |
67cb25 |
-55.71483201856140365,
|
|
Packit |
67cb25 |
-56.13492672781406761,
|
|
Packit |
67cb25 |
-56.55345535507366411,
|
|
Packit |
67cb25 |
-56.97044099527886475,
|
|
Packit |
67cb25 |
-57.38590615386647834,
|
|
Packit |
67cb25 |
-57.79987276803497897,
|
|
Packit |
67cb25 |
-58.21236222702161974,
|
|
Packit |
67cb25 |
-58.62339539144885603,
|
|
Packit |
67cb25 |
-59.03299261179210306,
|
|
Packit |
67cb25 |
-59.44117374601743460,
|
|
Packit |
67cb25 |
-59.84795817643466996,
|
|
Packit |
67cb25 |
-60.25336482580837088
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
static const size_t size_zero_Bi = sizeof(zero_Bi)/sizeof(double);
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
static const double zero_Aip[] = {
|
|
Packit |
67cb25 |
0,
|
|
Packit |
67cb25 |
-1.018792971647471089,
|
|
Packit |
67cb25 |
-3.248197582179836738,
|
|
Packit |
67cb25 |
-4.820099211178735639,
|
|
Packit |
67cb25 |
-6.163307355639486822,
|
|
Packit |
67cb25 |
-7.372177255047770177,
|
|
Packit |
67cb25 |
-8.488486734019722133,
|
|
Packit |
67cb25 |
-9.535449052433547471,
|
|
Packit |
67cb25 |
-10.52766039695740728,
|
|
Packit |
67cb25 |
-11.47505663348024529,
|
|
Packit |
67cb25 |
-12.384788371845747325,
|
|
Packit |
67cb25 |
-13.262218961665210382,
|
|
Packit |
67cb25 |
-14.111501970462995282,
|
|
Packit |
67cb25 |
-14.935937196720517467,
|
|
Packit |
67cb25 |
-15.738201373692538303,
|
|
Packit |
67cb25 |
-16.520503825433793542,
|
|
Packit |
67cb25 |
-17.284695050216437357,
|
|
Packit |
67cb25 |
-18.032344622504393395,
|
|
Packit |
67cb25 |
-18.764798437665954740,
|
|
Packit |
67cb25 |
-19.483221656567231178,
|
|
Packit |
67cb25 |
-20.188631509463373154,
|
|
Packit |
67cb25 |
-20.881922755516737701,
|
|
Packit |
67cb25 |
-21.563887723198974958,
|
|
Packit |
67cb25 |
-22.235232285348913331,
|
|
Packit |
67cb25 |
-22.896588738874619001,
|
|
Packit |
67cb25 |
-23.548526295928801574,
|
|
Packit |
67cb25 |
-24.191559709526353841,
|
|
Packit |
67cb25 |
-24.826156425921155001,
|
|
Packit |
67cb25 |
-25.452742561777649948,
|
|
Packit |
67cb25 |
-26.071707935173912515,
|
|
Packit |
67cb25 |
-26.683410328322449767,
|
|
Packit |
67cb25 |
-27.288179121523985029,
|
|
Packit |
67cb25 |
-27.886318408768461192,
|
|
Packit |
67cb25 |
-28.478109683102278108,
|
|
Packit |
67cb25 |
-29.063814162638199090,
|
|
Packit |
67cb25 |
-29.643674814632015921,
|
|
Packit |
67cb25 |
-30.217918124468574603,
|
|
Packit |
67cb25 |
-30.786755648012502519,
|
|
Packit |
67cb25 |
-31.350385379083034671,
|
|
Packit |
67cb25 |
-31.90899295843046320,
|
|
Packit |
67cb25 |
-32.46275274623847982,
|
|
Packit |
67cb25 |
-33.01182877663428709,
|
|
Packit |
67cb25 |
-33.55637560978942190,
|
|
Packit |
67cb25 |
-34.09653909480913771,
|
|
Packit |
67cb25 |
-34.63245705463586589,
|
|
Packit |
67cb25 |
-35.16425990255340758,
|
|
Packit |
67cb25 |
-35.69207119851046870,
|
|
Packit |
67cb25 |
-36.21600815233519918,
|
|
Packit |
67cb25 |
-36.73618207994680321,
|
|
Packit |
67cb25 |
-37.25269881785414827,
|
|
Packit |
67cb25 |
-37.76565910053887108,
|
|
Packit |
67cb25 |
-38.27515890473087933,
|
|
Packit |
67cb25 |
-38.78128976408036876,
|
|
Packit |
67cb25 |
-39.28413905729859644,
|
|
Packit |
67cb25 |
-39.78379027246823278,
|
|
Packit |
67cb25 |
-40.28032324990371935,
|
|
Packit |
67cb25 |
-40.77381440566486637,
|
|
Packit |
67cb25 |
-41.26433693758643383,
|
|
Packit |
67cb25 |
-41.75196101547722703,
|
|
Packit |
67cb25 |
-42.23675395695976012,
|
|
Packit |
67cb25 |
-42.71878039026198233,
|
|
Packit |
67cb25 |
-43.19810240513270670,
|
|
Packit |
67cb25 |
-43.67477969292950869,
|
|
Packit |
67cb25 |
-44.14886967681966886,
|
|
Packit |
67cb25 |
-44.62042763293925724,
|
|
Packit |
67cb25 |
-45.08950680327102630,
|
|
Packit |
67cb25 |
-45.55615850092696446,
|
|
Packit |
67cb25 |
-46.02043220845493728,
|
|
Packit |
67cb25 |
-46.48237566972975615,
|
|
Packit |
67cb25 |
-46.94203497593635633,
|
|
Packit |
67cb25 |
-47.39945464610575493,
|
|
Packit |
67cb25 |
-47.85467770262241617,
|
|
Packit |
67cb25 |
-48.30774574208398774,
|
|
Packit |
67cb25 |
-48.75869900186057804,
|
|
Packit |
67cb25 |
-49.20757642267037247,
|
|
Packit |
67cb25 |
-49.65441570746105074,
|
|
Packit |
67cb25 |
-50.09925337686182515,
|
|
Packit |
67cb25 |
-50.54212482144867502,
|
|
Packit |
67cb25 |
-50.98306435104524282,
|
|
Packit |
67cb25 |
-51.42210524126365311,
|
|
Packit |
67cb25 |
-51.85927977747301469,
|
|
Packit |
67cb25 |
-52.29461929636838876,
|
|
Packit |
67cb25 |
-52.72815422529939506,
|
|
Packit |
67cb25 |
-53.15991411950524351,
|
|
Packit |
67cb25 |
-53.58992769739169611,
|
|
Packit |
67cb25 |
-54.01822287397517367,
|
|
Packit |
67cb25 |
-54.44482679260982599,
|
|
Packit |
67cb25 |
-54.86976585510479430,
|
|
Packit |
67cb25 |
-55.29306575033103518,
|
|
Packit |
67cb25 |
-55.71475148140987392,
|
|
Packit |
67cb25 |
-56.13484739156885235,
|
|
Packit |
67cb25 |
-56.55337718874437424,
|
|
Packit |
67cb25 |
-56.97036396900508167,
|
|
Packit |
67cb25 |
-57.38583023886477265,
|
|
Packit |
67cb25 |
-57.79979793654895377,
|
|
Packit |
67cb25 |
-58.21228845227477578,
|
|
Packit |
67cb25 |
-58.62332264760009139,
|
|
Packit |
67cb25 |
-59.03292087389367419,
|
|
Packit |
67cb25 |
-59.44110298997521892,
|
|
Packit |
67cb25 |
-59.84788837897058171,
|
|
Packit |
67cb25 |
-60.25329596442479317
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
static const size_t size_zero_Aip = sizeof(zero_Aip)/sizeof(double);
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
static const double zero_Bip[] = {
|
|
Packit |
67cb25 |
0,
|
|
Packit |
67cb25 |
-2.294439682614123247,
|
|
Packit |
67cb25 |
-4.073155089071828216,
|
|
Packit |
67cb25 |
-5.512395729663599496,
|
|
Packit |
67cb25 |
-6.781294445990305390,
|
|
Packit |
67cb25 |
-7.940178689168578927,
|
|
Packit |
67cb25 |
-9.019583358794239067,
|
|
Packit |
67cb25 |
-10.037696334908545802,
|
|
Packit |
67cb25 |
-11.006462667712289940,
|
|
Packit |
67cb25 |
-11.934261645014844663,
|
|
Packit |
67cb25 |
-12.827258309177217640,
|
|
Packit |
67cb25 |
-13.690155826835049101,
|
|
Packit |
67cb25 |
-14.526645763485711410,
|
|
Packit |
67cb25 |
-15.339693082242404109,
|
|
Packit |
67cb25 |
-16.131724782385900578,
|
|
Packit |
67cb25 |
-16.904759411889649958,
|
|
Packit |
67cb25 |
-17.660498743114976102,
|
|
Packit |
67cb25 |
-18.400394367181703280,
|
|
Packit |
67cb25 |
-19.125697156412638066,
|
|
Packit |
67cb25 |
-19.837494718415910503,
|
|
Packit |
67cb25 |
-20.536740241453273980,
|
|
Packit |
67cb25 |
-21.224275044889266569,
|
|
Packit |
67cb25 |
-21.900846445139208281,
|
|
Packit |
67cb25 |
-22.567122080497200470,
|
|
Packit |
67cb25 |
-23.223701521208962116,
|
|
Packit |
67cb25 |
-23.871125771677973595,
|
|
Packit |
67cb25 |
-24.509885117016242729,
|
|
Packit |
67cb25 |
-25.140425655367878908,
|
|
Packit |
67cb25 |
-25.763154776913454319,
|
|
Packit |
67cb25 |
-26.378445791146615697,
|
|
Packit |
67cb25 |
-26.986641859775034987,
|
|
Packit |
67cb25 |
-27.588059359225600573,
|
|
Packit |
67cb25 |
-28.182990771292975456,
|
|
Packit |
67cb25 |
-28.771707180886056250,
|
|
Packit |
67cb25 |
-29.354460444612957224,
|
|
Packit |
67cb25 |
-29.931485082026055160,
|
|
Packit |
67cb25 |
-30.502999931936645516,
|
|
Packit |
67cb25 |
-31.069209608721234058,
|
|
Packit |
67cb25 |
-31.63030578754333679,
|
|
Packit |
67cb25 |
-32.18646834257807369,
|
|
Packit |
67cb25 |
-32.73786635840274752,
|
|
Packit |
67cb25 |
-33.28465903151424981,
|
|
Packit |
67cb25 |
-33.82699647630635587,
|
|
Packit |
67cb25 |
-34.36502044767239631,
|
|
Packit |
67cb25 |
-34.89886499060196419,
|
|
Packit |
67cb25 |
-35.42865702564380962,
|
|
Packit |
67cb25 |
-35.95451687785511190,
|
|
Packit |
67cb25 |
-36.47655875580547918,
|
|
Packit |
67cb25 |
-36.99489118631672770,
|
|
Packit |
67cb25 |
-37.50961740986809593,
|
|
Packit |
67cb25 |
-38.02083574095788210
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
static const size_t size_zero_Bip = sizeof(zero_Bip)/sizeof(double);
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
/* [Abramowitz+Stegun, 10.4.105] */
|
|
Packit |
67cb25 |
static double
|
|
Packit |
67cb25 |
zero_f(double z)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
const double pre = pow(z, 2.0/3.0);
|
|
Packit |
67cb25 |
const double zi2 = 1.0/(z*z);
|
|
Packit |
67cb25 |
const double zi4 = zi2 * zi2;
|
|
Packit |
67cb25 |
const double t1 = 5.0/48.0 * zi2;
|
|
Packit |
67cb25 |
const double t2 = -5.0/36.0 * zi4;
|
|
Packit |
67cb25 |
const double t3 = 77125.0/82944.0 * zi4 * zi2;
|
|
Packit |
67cb25 |
const double t4 = -108056875.0/6967296.0 * zi4 * zi4;
|
|
Packit |
67cb25 |
return pre * (1.0 + t1 + t2 + t3 + t4);
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
static double
|
|
Packit |
67cb25 |
zero_g(double z)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
const double pre = pow(z, 2.0/3.0);
|
|
Packit |
67cb25 |
const double zi2 = 1.0/(z*z);
|
|
Packit |
67cb25 |
const double zi4 = zi2 * zi2;
|
|
Packit |
67cb25 |
const double t1 = -7.0/48.0 * zi2;
|
|
Packit |
67cb25 |
const double t2 = 35.0/288.0 * zi4;
|
|
Packit |
67cb25 |
const double t3 = -181223.0/207360.0 * zi4 * zi2;
|
|
Packit |
67cb25 |
const double t4 = 18683371.0/1244160.0 * zi4 * zi4;
|
|
Packit |
67cb25 |
return pre * (1.0 + t1 + t2 + t3 + t4);
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
int
|
|
Packit |
67cb25 |
gsl_sf_airy_zero_Ai_e(unsigned int s, gsl_sf_result * result)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
/* CHECK_POINTER(result) */
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
if(s < 1) {
|
|
Packit |
67cb25 |
DOMAIN_ERROR_MSG("s is less than 1", result);
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
else if(s < size_zero_Ai) {
|
|
Packit |
67cb25 |
result->val = zero_Ai[s];
|
|
Packit |
67cb25 |
result->err = GSL_DBL_EPSILON * fabs(result->val);
|
|
Packit |
67cb25 |
return GSL_SUCCESS;
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
else {
|
|
Packit |
67cb25 |
const double z = 3.0*M_PI/8.0 * (4.0*s - 1.0);
|
|
Packit |
67cb25 |
const double f = zero_f(z);
|
|
Packit |
67cb25 |
result->val = -f;
|
|
Packit |
67cb25 |
result->err = 2.0 * GSL_DBL_EPSILON * fabs(result->val);
|
|
Packit |
67cb25 |
return GSL_SUCCESS;
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
int
|
|
Packit |
67cb25 |
gsl_sf_airy_zero_Bi_e(unsigned int s, gsl_sf_result * result)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
/* CHECK_POINTER(result) */
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
if(s < 1) {
|
|
Packit |
67cb25 |
DOMAIN_ERROR_MSG("s is less than 1", result);
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
else if(s < size_zero_Bi) {
|
|
Packit |
67cb25 |
result->val = zero_Bi[s];
|
|
Packit |
67cb25 |
result->err = GSL_DBL_EPSILON * fabs(result->val);
|
|
Packit |
67cb25 |
return GSL_SUCCESS;
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
else {
|
|
Packit |
67cb25 |
const double z = 3.0*M_PI/8.0 * (4.0*s - 3.0);
|
|
Packit |
67cb25 |
const double f = zero_f(z);
|
|
Packit |
67cb25 |
result->val = -f;
|
|
Packit |
67cb25 |
result->err = 2.0 * GSL_DBL_EPSILON * fabs(result->val);
|
|
Packit |
67cb25 |
return GSL_SUCCESS;
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
int
|
|
Packit |
67cb25 |
gsl_sf_airy_zero_Ai_deriv_e(unsigned int s, gsl_sf_result * result)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
/* CHECK_POINTER(result) */
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
if(s < 1) {
|
|
Packit |
67cb25 |
DOMAIN_ERROR_MSG("s is less than 1", result);
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
else if(s < size_zero_Aip) {
|
|
Packit |
67cb25 |
result->val = zero_Aip[s];
|
|
Packit |
67cb25 |
result->err = GSL_DBL_EPSILON * fabs(result->val);
|
|
Packit |
67cb25 |
return GSL_SUCCESS;
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
else {
|
|
Packit |
67cb25 |
const double z = 3.0*M_PI/8.0 * (4.0*s - 3.0);
|
|
Packit |
67cb25 |
const double g = zero_g(z);
|
|
Packit |
67cb25 |
result->val = -g;
|
|
Packit |
67cb25 |
result->err = 2.0 * GSL_DBL_EPSILON * fabs(result->val);
|
|
Packit |
67cb25 |
return GSL_SUCCESS;
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
int
|
|
Packit |
67cb25 |
gsl_sf_airy_zero_Bi_deriv_e(unsigned int s, gsl_sf_result * result)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
/* CHECK_POINTER(result) */
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
if(s < 1) {
|
|
Packit |
67cb25 |
DOMAIN_ERROR_MSG("s is less than 1", result);
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
else if(s < size_zero_Bip) {
|
|
Packit |
67cb25 |
result->val = zero_Bip[s];
|
|
Packit |
67cb25 |
result->err = GSL_DBL_EPSILON * fabs(result->val);
|
|
Packit |
67cb25 |
return GSL_SUCCESS;
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
else {
|
|
Packit |
67cb25 |
const double z = 3.0*M_PI/8.0 * (4.0*s - 1.0);
|
|
Packit |
67cb25 |
const double g = zero_g(z);
|
|
Packit |
67cb25 |
result->val = -g;
|
|
Packit |
67cb25 |
result->err = 2.0 * GSL_DBL_EPSILON * fabs(result->val);
|
|
Packit |
67cb25 |
return GSL_SUCCESS;
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
/*-*-*-*-*-*-*-*-*-* Functions w/ Natural Prototypes *-*-*-*-*-*-*-*-*-*-*/
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
#include "eval.h"
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
double gsl_sf_airy_zero_Ai(unsigned int s)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
EVAL_RESULT(gsl_sf_airy_zero_Ai_e(s, &result));
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
double gsl_sf_airy_zero_Bi(unsigned int s)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
EVAL_RESULT(gsl_sf_airy_zero_Bi_e(s, &result));
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
double gsl_sf_airy_zero_Ai_deriv(unsigned int s)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
EVAL_RESULT(gsl_sf_airy_zero_Ai_deriv_e(s, &result));
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
double gsl_sf_airy_zero_Bi_deriv(unsigned int s)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
EVAL_RESULT(gsl_sf_airy_zero_Bi_deriv_e(s, &result));
|
|
Packit |
67cb25 |
}
|