package reeve

  1. Overview
  2. Docs

Module Bessel.RawSource

The Fortran shapes of the sequence routines, argument for argument: you hand them the array and the integer kode, and they hand you back the underflow count. These are what the differential in diff/ compares against the reference Fortran. The rest of the module is already the shape an OCaml caller wants, so it isn't repeated here.

Sourceval dbesi : float -> float -> int -> int -> float array -> int

dbesi x alpha kode n y fills y.(0) .. y.(n-1) with the sequence I_(alpha+k)(x) for k = 0 .. n-1, unscaled for kode = 1 and multiplied by exp (-. x) for kode = 2, and returns the number of trailing components set to zero by underflow. Needs x >= 0, alpha >= 0, n >= 1 and kode either 1 or 2; raises Invalid_argument otherwise, and also when kode = 1 and x is large enough to overflow.

Sourceval dbesj : float -> float -> int -> float array -> int

dbesj x alpha n y fills y.(0) .. y.(n-1) with the sequence J_(alpha+k)(x) for k = 0 .. n-1, and returns the number of trailing components set to zero by underflow. Needs x >= 0, alpha >= 0 and n >= 1; raises Invalid_argument otherwise.

Sourceval dbesk : float -> float -> int -> int -> float array -> int

dbesk x fnu kode n y fills y.(0) .. y.(n-1) with the sequence K_(fnu+k)(x) for k = 0 .. n-1, unscaled for kode = 1 and multiplied by exp x for kode = 2, and returns the number of leading components set to zero by underflow. Needs x > 0, fnu >= 0, n >= 1 and kode either 1 or 2; raises Invalid_argument otherwise, and also when fnu or n is too large, or x too small, for the result to be representable.