コード例 #1
0
ファイル: vl_version.c プロジェクト: ChenglongWang/divmbest
void
mexFunction(int nout, mxArray *out[],
            int nin, const mxArray *in[])
{
  int verbose = 0 ;
  char buffer [1024] ;
  int unsigned const bufferSize = sizeof(buffer)/sizeof(buffer[0]) ;

  int            opt ;
  int            next = 0 ;
  mxArray const *optarg ;

  VL_USE_MATLAB_ENV ;

  if (nout > 1) {
    vlmxError(vlmxErrTooManyOutputArguments, NULL) ;
  }

  while ((opt = vlmxNextOption (in, nin, options, &next, &optarg)) >= 0) {
    switch (opt) {
    case opt_verbose :
      ++ verbose ;
      break ;
    default:
      abort() ;
    }
  }

  if (verbose) {
    int offset = 0 ;
    char * string = vl_configuration_to_string_copy() ;
    offset = vl_string_copy(buffer, bufferSize, string) ;
    snprintf(buffer + offset, bufferSize - offset,
             "    SIMD enabled: %s\n", VL_YESNO(vl_get_simd_enabled())) ;
    if(string) vl_free(string) ;
  } else {
    snprintf(buffer, sizeof(buffer)/sizeof(buffer[0]),
             "%s", VL_VERSION_STRING) ;
  }

  if (nout == 0) {
    mexPrintf("%s\n", buffer) ;
  } else {
    out[0] = mxCreateString(buffer) ;
  }
}
コード例 #2
0
ファイル: sift.c プロジェクト: krishprince/phd-workspace
/** @brief Save octave on disk
 ** @internal
 **/
static int
save_gss (VlSiftFilt * filt, VlFileMeta * fm, const char * basename,
          int verbose)
{
  char tmp [1024] ;
  int S = filt -> S ;
  int q, i ;
  int s, err ;
  int w, h ;
  int o = filt -> o_cur ;
  VlPgmImage pim ;
  vl_uint8 *buffer = 0 ;

  if (! fm -> active) {
    return VL_ERR_OK ;
  }

  w = vl_sift_get_octave_width  (filt) ;
  h = vl_sift_get_octave_height (filt) ;

  pim.width     = w ;
  pim.height    = h ;
  pim.max_value = 255 ;
  pim.is_raw    = 1 ;

  buffer = malloc (sizeof(vl_uint8) * w * h) ;
  if (! buffer) {
    err = VL_ERR_ALLOC ;
    goto save_gss_quit ;
  }

  q = vl_string_copy (tmp, sizeof(tmp), basename) ;
  if (q >= sizeof(tmp)) {
    err = VL_ERR_OVERFLOW ;
    goto save_gss_quit ;
  }

  for (s = 0 ; s < S ; ++s) {
    vl_sift_pix * pt = vl_sift_get_octave (filt, s) ;

    /* conversion */
    for (i = 0 ; i < w * h ; ++i) {
      buffer [i] = (vl_uint8) pt [i] ;
    }

    /* save */
    snprintf(tmp + q, sizeof(tmp) - q, "_%02d_%03d", o, s) ;

    err = vl_file_meta_open (fm, tmp, "wb") ;
    if (err) goto save_gss_quit ;

    err = vl_pgm_insert (fm -> file, &pim, buffer) ;
    if (err) goto save_gss_quit ;

    if (verbose) {
      printf("sift: saved gss level to '%s'\n", fm -> name) ;
    }

    vl_file_meta_close (fm) ;
  }

 save_gss_quit : ;
  if (buffer) free (buffer) ;
  vl_file_meta_close (fm) ;
  return err ;
}
コード例 #3
0
ファイル: test_stringop.c プロジェクト: abhimanyudubey/P
int
main (int argc, char *argv[])
{    
  int q ;
  int err ;
  char const *repl = "vision" ;
  char const *str  = "*: the string '*' shold be equal to 'vision' but not to '\\**\\*'" ;
  char const *t1   = "a/b/c/d.tar.gz" ;
  char const *t2   = "ascii:bin:ascii:bin:bho:bha:bin:/which remains/" ;
  char const *t3   = "t" ;
  char const *next ;

  enum { buf_len = 1024 } ;
  char buf [buf_len] ;

  enum { sml_len = 2 } ;
  char sml [sml_len] ;

  /* -------------------------------------------------------------- */
  printf ("testing vl_string_copy\n") ;

  q = vl_string_copy (sml, sml_len, t3) ;
  
  err = (q >= sml_len) ;

  printf (sml) ;
  printf ("\nwrote %d error %d\n", q, err) ;

  q = vl_string_copy (sml, sml_len, t1) ;
  
  err = (q >= sml_len) ;

  printf (sml) ;
  printf ("\nwrote %d error %d\n", q, err) ;


  /* -------------------------------------------------------------- */
  printf ("testing vl_string_replace_wildcard\n") ;

  q = vl_string_replace_wildcard (buf, buf_len,
                                  str, '*', '\\', repl) ;
  
  err = (q >= buf_len) ;
  
  printf (buf) ;
  printf ("\nwrote %d error %d\n", q, err) ;

  q = vl_string_replace_wildcard (sml, sml_len,
                                  str, '*', '\\', repl) ;

  err = (q >= sml_len) ;
  
  printf (sml) ;
  printf ("\nwrote %d error %d\n", q, err) ;

  q = vl_string_replace_wildcard (0,0,
                                  str, '*', '\\', repl) ;

  err = (q >= 0) ;

  printf ("\nwrote %d error %d\n", q, err) ;

  /* -------------------------------------------------------------- */
  printf ("\ntesting vl_string_basename\n") ;

  q = vl_string_basename (buf, buf_len, t1, 1) ;

  err = (q >= buf_len) ;

  printf("'%s' -> '%s' (wrote %d, error %d)\n", t1, buf, q, err) ;

  q = vl_string_basename (sml, sml_len, t1, 1) ;

  err = (q >= buf_len) ;

  printf("'%s' -> '%s' (wrote %d, error %d)\n", t1, sml, q, err) ;


  /* -------------------------------------------------------------- */
  printf ("\ntesting vl_string_parse_protocol\n") ;

  next = t2 ;
  while(next = vl_string_parse_protocol(next, &q), q != VL_PROT_NONE) {
    printf("protocol: '%s'\n", vl_string_protocol_name (q)) ;
  }
  
  printf("%s\n", next) ;
  return 0 ;
}