| |||||||||||||||||||||||||||||||||||
Retrieving data from a Mosel model Description mmexset.c: Using sets in Mosel (requires burglari.bim)
Further explanation of this example: 'Mosel Library Reference Manual', Section 1.2 Post processing interface
Source Files By clicking on a file name, a preview is opened at the bottom of this page.
Data Files
mmexset.c /********************************************************/ /* Mosel Library Examples */ /* ====================== */ /* */ /* file mmexset.c */ /* `````````````` */ /* Example for the use of the Mosel libraries */ /* (accessing sets in Mosel) */ /* */ /* (c) 2008 Fair Isaac Corporation */ /* author: S. Heipcke, 2001 */ /********************************************************/ #include <stdio.h> #include "xprm_rt.h" int main() { XPRMmodel mod; XPRMalltypes rvalue; XPRMset set; int result,type,first,last,i,size; char *setname; XPRMalltypes itemname; i=XPRMinit(); if((i!=0)&&(i!=32)) /* Initialize Mosel */ return 1; if((mod=XPRMloadmod("Models/burglari.bim",NULL))==NULL) /* Load a BIM file */ return 2; if(XPRMrunmod(mod,&result,NULL)) /* Run the model */ return 3; setname="ITEMS"; type = XPRMfindident(mod,setname,&rvalue); /* Get the model object 'ITEMS' */ if((XPRM_TYP(type)!=XPRM_TYP_STRING)|| /* Check the type: */ (XPRM_STR(type)!=XPRM_STR_SET)) /* it must be a set of strings */ return 4; set = rvalue.set; size = XPRMgetsetsize(set); /* Get the size of the set */ if(size>0) { first = XPRMgetfirstsetndx(set); /* Get the number of the first index */ last = XPRMgetlastsetndx(set); /* Get the number of the last index */ printf("Elements of set %s:\n",setname); for(i=first;i<=last;i++) /* Print names of all set elements */ printf(" %s,",XPRMgetelsetval(set,i,&itemname)->string); printf("\n"); } itemname.string="CD player"; if(XPRMgetelsetndx(mod, set, &itemname)<0) printf("'%s' is not contained in '%s'.\n", itemname.string, setname); return 0; } | |||||||||||||||||||||||||||||||||||
© Copyright 2024 Fair Isaac Corporation. |