diff options
Diffstat (limited to '')
-rw-r--r-- | doc/info/chap/constants.texinfo | 47 | ||||
-rw-r--r-- | doc/info/chap/functions.texinfo | 155 | ||||
-rw-r--r-- | doc/info/chap/macros.texinfo | 49 | ||||
-rw-r--r-- | doc/info/chap/overview.texinfo | 13 | ||||
-rw-r--r-- | doc/info/chap/variables.texinfo | 15 |
5 files changed, 0 insertions, 279 deletions
diff --git a/doc/info/chap/constants.texinfo b/doc/info/chap/constants.texinfo deleted file mode 100644 index e5e09ac..0000000 --- a/doc/info/chap/constants.texinfo +++ /dev/null @@ -1,47 +0,0 @@ -@node Constants -@chapter Constants - -@file{<libred.h>} defines a number of symbolic constants -suitable for using a @code{#if} preprocessing directives. - -@table @code -@item LIBRED_SOLAR_APPARENT_RADIUS -The approximate apparent size of the Sun in degrees. -This value should be about 0.5(3). - -@item LIBRED_SOLAR_ELEVATION_SUNSET_SUNRISE -The Sun's elevation at sunset and sunrise, measured in -degrees. This value will always be 0.0. - -@item LIBRED_SOLAR_ELEVATION_CIVIL_DUSK_DAWN -The Sun's elevation at civil dusk and civil dawn, measured -in degrees. This value will always be @math{-6.0}. - -@item LIBRED_SOLAR_ELEVATION_NAUTICAL_DUSK_DAWN -The Sun's elevation at nautical dusk and nautical dawn, -measured in degrees. This value will always be @math{-12.0}. - -@item LIBRED_SOLAR_ELEVATION_ASTRONOMICAL_DUSK_DAWN -The Sun's elevation at astronomical dusk and astronomical -dawn, measured in degrees. This value will always be @math{-18.0}. - -@item LIBRED_HIGHEST_TEMPERATURE -The highest temperature, in kelvins, for which there is a -colour temperature in the table of colour temperature. Any -temperature above this is automatically truncated by -@code{libred_get_colour}, as higher values shall be -unnoticeable. Currently, this value is 40@tie{}000. - -@item LIBRED_LOWEST_TEMPERATURE -The lowest temperature, in kelvins, for which there is a -colour temperature in the table of colour temperature. Any -temperature below this results in @code{libred_get_colour} -failing and setting @code{errno} to @code{EDOM}. Currently -this value 1000, hypothetical changes will be very small. - -@item LIBRED_DELTA_TEMPERATURE -The temperatures differences between sequential colour -temperatures in the colour temperatures look up table. -Currently this value is 100. -@end table - diff --git a/doc/info/chap/functions.texinfo b/doc/info/chap/functions.texinfo deleted file mode 100644 index d3236ec..0000000 --- a/doc/info/chap/functions.texinfo +++ /dev/null @@ -1,155 +0,0 @@ -@node Functions -@chapter Functions - -@file{<libred.h>} defines a small number of functions. -@example -int libred_check_timetravel(void); -double libred_solar_elevation(double latitude, double longitude); -int libred_init_colour(void); -void libred_term_colour(void); -int libred_get_colour(long int temp, double* r, double* g, double* b); -@end example - -@code{libred_check_timetravel} exits the process if @command{libred} -is not compiled to support the current time, which is the case if it -was compiled without @option{-DTIMETRAVELLER} and the clock is before -year 2000.5 in the Julian calendar. Before exiting, the function will -print an informative error message to standard error. Upon successful -completion, without time incompatibility, the function returns 0. -Upon failure, that is,it is unable to read the clock, the function -returns @math{-1}. The function may fail for any reason specified for -@code{clock_gettime}, and set the value of errno to the same values. -It is recommended to call this function at the beginning of the program. - -@example -#include <libred.h> -#include <stdio.h> -int main() -@{ - if (libred_check_timetravel()) - return perror(""), 1; - - /* @xrm{}Use @xtt{}libred_solar_elevation@xrm{} to your heart's contempt.@xtt{} */ - - return 0; -@} -@end example - -@code{libred_solar_elevation} calculates the Sun's elevation as apparent -from a select geographical position. Namely from latitude degrees north -of GPS's equator and longitude degrees east of GPS's prime meridian. -The function is only explicitly defined for values between @math{-90} and -@math{+90} for latitude and values between @math{-180} and @math{+180} for -and longitude. Other values may or may not work, no error is thrown if used. -Upon successful completion, the function sets errno to 0 and returns the -Sun's current apparent elevation, measured in degrees above the horizon. -On failure, the function returns an arbitrary value (happens to always be -0.0) and sets @code{errno} an a non-zero value. The function may fail for -any reason specified for @code{clock_gettime}, and set the value of -@code{errno} to the same values. @code{errno} is always set to 0 on success. - -@example -#include <libred.h> -#include <stdio.h> -#include <stdlib.h> -int main(int argc, char* argv[]) -@{ - double elevation, latitude, longitude; - - if (libred_check_timetravel()) - return perror(""), 1; - - if (argc < 3) return 2; - latitude = atof(argv[1]); - longitude = atof(argv[2]); - - elevation = libred_solar_elevation(latitude, longitude); - return errno || printf("Elevation: %lf\n", elevation) < 0; -@} -@end example - -@code{libred_init_colour} open a file descriptor, without returning it, -to the colour temperature lookup table, and stores the file descriptor to -@code{libred_fd}. It is necessary to call this function before the first -call to @code{libred_get_colour}. Upon successful completion, the -function returns 0. On failure, the function returns @math{-1} and sets -@code{errno} appropriately. The function may fail for any reason specified -for @code{open}, and set the value of @code{errno} to the same values. -@code{errno} is always set to 0 on success. It is possible that the -behaviour is changed to loading the colour temperature lookup table rather -than just open a file descriptor to it. - -@code{libred_term_colour} deallocates all resources acquired by -@code{libred_init_colour}. It is highly recommended to call this function -before calling an @code{exec}-function. If you want to use -@code{libred_get_colour} again after a call to this function has been -made, you must first call @code{libred_init_colour}. - -@example -#include <libred.h> -#include <stdio.h> -int main(int argc, char* argv[]) -@{ - if (libred_init_colour()) - return perror(""), 1; - - /* @xrm{}Use @xtt{}libred_get_colour@xrm{} to your heart's contempt.@xtt{} */ - - libred_term_colour(); - return 0; -@} -@end example - -@code{libred_get_colour} gets or interpolates the colour temperature for -@code{temp} kelvins, and returns the colour temperature in sRGB. The -values, between 0.0 and 1.0, for the ``red'', green, and blue channels -are stored in @code{*r}, @code{*g}, and @code{*b}, respectively. -Upon successful completion, the function returns 0. On failure, the -function returns @math{-1} and sets @code{errno} appropriately. -The function may fail if: -@table @code -@item EOVERFLOW -The colour temperature lookup table is smaller than it should be. -@item EDOM -If @code{temp} is less than @code{LIBRED_LOWEST_TEMPERATURE} (which is 1000.) -@end table -@noindent -The function may also fail for any reason specified for @code{pread}, and -set the value of @code{errno} to the same values. - -At least one of the values will be 1.0, none will be greater than 1.0, -and none will be less than 0.0. It is guaranteed (unless the resources -file has been modified) that @code{*r}, @code{*g}, and @code{*b} all -will be 1.0 if @code{temp} is 6500. - -You must call @code{libred_init_colour} before the first use of -@code{libred_get_colour}, and you should call @code{libred_term_colour} -after the last use of @code{libred_get_colour}. - -@example -#include <libred.h> -#include <stdio.h> -#include <stdlib.h> -int main(int argc, char* argv[]) -@{ - long int temp; - double r, g, b; - - if (argc < 2) return 2; - temp = atol(argv[1]); - - if (libred_init_colour()) - return perror(""), 1; - - if (libred_get_colour(temp, &r, &g, &b)); - return perror(""), libred_term_colour(), 1; - - libred_term_colour(); - - return printf("Red: %lf\n" - "Green: %lf\n" - "Blue: %lf\n", - r, g, b) < 0; -@} -@end example - diff --git a/doc/info/chap/macros.texinfo b/doc/info/chap/macros.texinfo deleted file mode 100644 index 2d4a947..0000000 --- a/doc/info/chap/macros.texinfo +++ /dev/null @@ -1,49 +0,0 @@ -@node Macros -@chapter Macros - -@file{<libred.h>} defines a small set of macros -suitable for using a @code{#if} preprocessing directives. - -@table @code -@item LIBRED_IS_TWILIGHT(const double) -Evaluates to 1 if the given expression is between @math{-18.0} -and 0.0 (this is, between -@code{LIBRED_SOLAR_ELEVATION_ASTRONOMICAL_DUSK_DAWN} and -@code{LIBRED_SOLAR_ELEVATION_SUNSET_SUNRISE}), inclusively, -otherwise, this macro evaluates to 0. The input should be -the Sun's apparent elevation, and the macro evaluates to 1 -if it is currently twilight. The given expression is evaluted -either once or twice, therefore, it must not have side-effects. - -@item LIBRED_IS_CIVIL_TWILIGHT(const double) -Evaluates to 1 if the given expression is between @math{-6.0} -and 0.0 (this is, between -@code{LIBRED_SOLAR_ELEVATION_CIVIL_DUSK_DAWN} and -@code{LIBRED_SOLAR_ELEVATION_SUNSET_SUNRISE}), inclusively, -otherwise, this macro evaluates to 0. The input should be -the Sun's apparent elevation, and the macro evaluates to 1 -if it is currently civil twilight. The given expression is -evaluted either once or twice, therefore, it must not have -side-effects. - -@item LIBRED_IS_NAUTICAL_TWILIGHT(const double) -Evaluates to 1 if the given expression is between @math{-12.0} -and @math{-6.0} (this is, between -@code{LIBRED_SOLAR_ELEVATION_NAUTICAL_DUSK_DAWN} and -@code{LIBRED_SOLAR_ELEVATION_CIVIL_DUSK_DAWN}), inclusively, -otherwise, this macro evaluates to 0. The input should be the -Sun's apparent elevation, and the macro evaluates to 1 if it -is currently nautical twilight. The given expression is evaluted -either once or twice, therefore, it must not have side-effects. - -@item LIBRED_IS_ASTRONOMICAL_TWILIGHT(const double) -Evaluates to 1 if the given expression is between @math{-18.0} -and @math{-12.0} (this is, between -@code{LIBRED_SOLAR_ELEVATION_ASTRONOMICAL_DUSK_DAWN} and -@code{LIBRED_SOLAR_ELEVATION_NAUTICAL_DUSK_DAWN}), inclusively, -otherwise, this macro evaluates to 0. The input should be the -Sun's apparent elevation, and the macro evaluates to 1 if it is -currently astronomical twilight. The given expression is evaluted -either once or twice, therefore, it must not have side-effects. -@end table - diff --git a/doc/info/chap/overview.texinfo b/doc/info/chap/overview.texinfo deleted file mode 100644 index 34f0f71..0000000 --- a/doc/info/chap/overview.texinfo +++ /dev/null @@ -1,13 +0,0 @@ -@node Overview -@chapter Overview - -@command{libred} is a C library that can be used to calculate -the Sun's apparent elevation, and colour temperatures, the -colour of blackbodies. - -To use @command{libred}, include the header file -@file{<libred.h>}, and link with @option{-lred}. The -@command{libred} package includes a @command{librarian} -file and a @command{pkgconfig} file, both named -@command{libred}. - diff --git a/doc/info/chap/variables.texinfo b/doc/info/chap/variables.texinfo deleted file mode 100644 index aa44f19..0000000 --- a/doc/info/chap/variables.texinfo +++ /dev/null @@ -1,15 +0,0 @@ -@node Variables -@chapter Variables - -@file{<libred.h>} defines the variable -@example -extern int libred_fd -@end example -@indent -which is either @code{-1} or the file descriptor the -library uses to access the colour temperature lookup -table. The header also defines @code{LIBRED_HAVE_FD}. -It is possible that @code{libred_fd} is removed in a -future version. If it is, @code{LIBRED_HAVE_FD} will -be removed too. - |