#!/usr/bin/perl


$list = <<EOF
oil_conv_f32_f64
oil_conv_f32_s16
oil_conv_f32_s32
oil_conv_f32_s8
oil_conv_f32_u16
oil_conv_f32_u32
oil_conv_f32_u8
oil_conv_f64_f32
oil_conv_f64_s16
oil_conv_f64_s32
oil_conv_f64_s8
oil_conv_f64_u16
oil_conv_f64_u32
oil_conv_f64_u8
oil_conv_s16_f32
oil_conv_s16_f64
oil_conv_s16_s32
oil_conv_s16_s8
oil_conv_s16_u16
oil_conv_s16_u32
oil_conv_s16_u8
oil_conv_s32_f32
oil_conv_s32_f64
oil_conv_s32_s16
oil_conv_s32_s8
oil_conv_s32_u16
oil_conv_s32_u32
oil_conv_s32_u8
oil_conv_s8_f32
oil_conv_s8_f64
oil_conv_s8_s16
oil_conv_s8_s32
oil_conv_s8_u16
oil_conv_s8_u32
oil_conv_s8_u8
oil_conv_u16_f32
oil_conv_u16_f64
oil_conv_u16_s16
oil_conv_u16_s32
oil_conv_u16_s8
oil_conv_u16_u32
oil_conv_u16_u8
oil_conv_u32_f32
oil_conv_u32_f64
oil_conv_u32_s16
oil_conv_u32_s32
oil_conv_u32_s8
oil_conv_u32_u16
oil_conv_u32_u8
oil_conv_u8_f32
oil_conv_u8_f64
oil_conv_u8_s16
oil_conv_u8_s32
oil_conv_u8_s8
oil_conv_u8_u16
oil_conv_u8_u32
EOF
;

foreach $line (split "\n", $list) {
  print <<EOF
/**
 * $line:
 * \@dest:
 * \@dstr:
 * \@src:
 * \@sstr:
 * \@n:
 * 
 * Converts elements in @src from the source type
 * to the destination type and places the result in @dest.
 * Values outside the destination range are undefined
 * and implementation dependent.
 * See the comments at the beginning of this section.
 */

EOF
;
}


$list = <<EOF
oil_clipconv_s16_f32
oil_clipconv_s16_f64
oil_clipconv_s16_s32
oil_clipconv_s16_u16
oil_clipconv_s16_u32
oil_clipconv_s32_f32
oil_clipconv_s32_f64
oil_clipconv_s32_u32
oil_clipconv_s8_f32
oil_clipconv_s8_f64
oil_clipconv_s8_s16
oil_clipconv_s8_s32
oil_clipconv_s8_u16
oil_clipconv_s8_u32
oil_clipconv_s8_u8
oil_clipconv_u16_f32
oil_clipconv_u16_f64
oil_clipconv_u16_s16
oil_clipconv_u16_s32
oil_clipconv_u16_u32
oil_clipconv_u32_f32
oil_clipconv_u32_f64
oil_clipconv_u32_s32
oil_clipconv_u8_f32
oil_clipconv_u8_f64
oil_clipconv_u8_s16
oil_clipconv_u8_s32
oil_clipconv_u8_s8
oil_clipconv_u8_u16
oil_clipconv_u8_u32
EOF
;

foreach $line (split "\n", $list) {
  print <<EOF
/**
 * $line:
 * \@dest:
 * \@dstr:
 * \@src:
 * \@sstr:
 * \@n:
 * 
 * Converts elements in @src from the source type
 * to the destination type and places the result in @dest.
 * Values outside the destination range are clipped to
 * the destination range.
 * See the comments at the beginning of this section.
 */

EOF
;
}


$list = <<EOF
oil_scaleconv_f32_s16
oil_scaleconv_f32_s32
oil_scaleconv_f32_s8
oil_scaleconv_f32_u16
oil_scaleconv_f32_u32
oil_scaleconv_f32_u8
oil_scaleconv_f64_s16
oil_scaleconv_f64_s32
oil_scaleconv_f64_s8
oil_scaleconv_f64_u16
oil_scaleconv_f64_u32
oil_scaleconv_f64_u8
oil_scaleconv_s16_f32
oil_scaleconv_s16_f64
oil_scaleconv_s32_f32
oil_scaleconv_s32_f64
oil_scaleconv_s8_f32
oil_scaleconv_s8_f64
oil_scaleconv_u16_f32
oil_scaleconv_u16_f64
oil_scaleconv_u32_f32
oil_scaleconv_u32_f64
oil_scaleconv_u8_f32
oil_scaleconv_u8_f64
EOF
;

foreach $line (split "\n", $list) {
  print <<EOF
/**
 * $line:
 * \@dest:
 * \@src:
 * \@n:
 # \@s2_1:
 # \@s3_1:
 * 
 * Multiplies elements in @src by @s3_1 and adds @s4_1 and then
 * converts the result
 * to the destination type and places the result in @dest.
 * Values outside the destination range are undefined and
 * implementation dependent.
 * See the comments at the beginning of this section.
 */

EOF
;
}


