[BACK]Return to test1.c CVS log [TXT][DIR] Up to [local] / OpenXM / doc / oxlib

File: [local] / OpenXM / doc / oxlib / test1.c (download)

Revision 1.2, Wed Feb 9 06:08:58 2000 UTC (24 years, 3 months ago) by takayama
Branch: MAIN
Changes since 1.1: +10 -4 lines

Cosmetic change for a sample program.

/* $OpenXM: OpenXM/doc/oxlib/test1.c,v 1.2 2000/02/09 06:08:58 takayama Exp $ */
#include <stdio.h>
#include "oxasir.h"

main() {
  hoge();
}

hoge() {
  /*  (CMO_ZZ,12); */
  unsigned char cmo0[]=
  {00, 00, 00, 0x14,
   00, 00, 00, 01, 00, 00, 00, 0xc};

  /* (CMO_ZZ,8) */
  unsigned char cmo1[] =
  {00, 00, 00, 0x14,
   00, 00, 00, 01, 00, 00, 00, 8};  

  /* (CMO_INT32,2); */
  unsigned char cmo2[] =
  { 00, 00, 00, 02, 00, 00, 00, 02}; 

  /* (CMO_STRING,"igcd") */
  unsigned char cmo3[] =
  {00, 00, 00, 04, 00, 00, 00, 04,
   0x69,0x67,0x63,0x64 };
  unsigned char cmo[1024];
  int i,size;

  asir_ox_init(0);
  asir_ox_push_cmo(cmo0);
  asir_ox_push_cmo(cmo1);
  asir_ox_push_cmo(cmo2);
  asir_ox_push_cmo(cmo3);

  asir_ox_push_cmd(SM_executeFunction);  /* execute function */
  
  size = asir_ox_peek_cmo_size();
  if (size < 1024) {
	asir_ox_pop_cmo(cmo, size);
  }else{
	fprintf(stderr,"Too big cmo size.\n"); exit(1);
  }

  printf("gcd of 12 and 8, in the cmo format, is \n");
  for (i=0; i<size; i++) {
	printf(" %2x ",cmo[i]);
  }
  printf("\n");
}