ERLPM?AppleApple_partition_map?PM@disk imageApple_HFS@3goonPMHApple_FreeH+10.0kkk C{ ? ? xxsolv95.hL"L"kkcz .DS_Storedde-eg.cDDE-Example.xcodeproj ashley.mode1jWjWkkc f "ashley.pbxuserjWjWkkc"p$project.pbxprojjWjWkkc/s ashley.mode1ashley.pbxuserproject.pbxprojode_eg.c sdde_eg.csolv95.h solv95.h.html j 6  J:(zJdB(DDESolve-ExampleskkkADDESolve-Examples.TrasheskkkkcB@ DDE-ExamplekkkcA0HFS+ Private Datakkkk@PWWHFS+ Private Data.Trashes 502kkkkcA@502  solv95.h.html!!0kkcJ{ DDE-Example .DS_StorejYKjYKkkc@bdde-eg.cxBkkcd0DDE-Example.xcodeprojjWkkcAode_eg.cBnkkcv sdde_eg.c#~kkc>x tdR*p44(DDESolve-Examplessolv95.hX<Bud1%  @ @ @ @ E%DSDB` @ @ @/* * dde-eg.c * DDEsolve * * Created by Ashley Buckner on Tue Mar 09 2004. * Copyright (c) 2004 __MyCompanyName__. All rights reserved. * */ /* Template file for coding d.d.e. models for solv95 - Example is a dde model - Nicholson's blowfly model of Gurney And Nisbet 1981 */ #include #include #include #include // #include #include "solv95.h" /***************************************************************************/ /* Put global variables here. These should never be written to from */ /* grad() or switchfunctions(), directly or indirectly. */ /***************************************************************************/ /***************************************************************************/ /* Problem specific routines */ /***************************************************************************/ void initcons(int * no_vars,int *no_cons) /* this routine specifies the number of constants and number of variables in the model. */ { // printf("initcons\n"); *no_cons=5; *no_vars=1; } void switchfunctions(sw,s,c,t) double *sw,*s,*c,t; /* This routine sets the values of the switch functions. When the switch functions pass through zero from positive to negative the state variables may be reset in function map(). The switch functions should pass smoothly through 0 and should never have both value and first derivative zero. The same switch must not pass through zero from positive to negative more than once in an integration timestep. An example of a switch function is: sw[0]=sin(pi*t/30.0) which passes through zero every 60 time units. Switches may include state variables provided the above conditions are met. Note that to get 'Solver' style switches define twice as many switches and let e.g. sw[1]=-sw[0] */ { printf("switchfunctions\n"); } void map(s,c,t,swno) double *s,*c,t;int swno; /* This routine is called whenever one of the switch functions passes through zero. 'swno' is the number of the switch function. The state variables can be changed discontinuously within this routine. eg: if (swno==1) { s[0]=coeff[1]*(s[0]);} time and the coefficients should not be changed. */ { printf("map\n"); } // Note that there is an extra argument to grad()! void grad(g,s,c,t,pastvalue) double *g,*s,*c,t; double (*pastvalue)(); /* This routine must provide the gradients g for the state variables s. So ds[i]/dt=g[i]=fi(s,c,t) where c is the coefficient vector. lagged variables may be accessed here using pastvalue(i,x,j) which returns the ith (starting at zero) lagged variable at time x, using lag pointer k (lag pointers are used by pastvalue to store the history buffer location corresponding to a lag in order to save exectution time. For example if your code requires lagged varaible 0 at lags T and 2T for each gradient calculation then it is efficient to obtain these values using: pastvalue(0,t-T,0) and pastvalue(0,t-2*T,1) rather than pastvalue(0,t-T,0) and pastvalue(0,t-2*T,0). The latter works, it's just slower because more time is spent searching for lagged values) */ { double Alag; if (t>c[0]) { Alag=pastvalue(0,t-c[0],0); } else { Alag=0.0; } g[0]=c[2]*Alag*exp(-Alag/c[3])-c[1]*s[0]; } void storehistory(his,ghis,g,s,c,t) double *his,*ghis,*g,*s,*c,t; /* This is the routine in which the values of the history variables at time t are calculated and put in the array his, along with gradients in ghis, using state variables s, gradients of s, g, and coefficients c e.g. if the state variable 2 is history variable 0, you would need the line: his[0]=s[2];ghis[0]=g[2]; */ { // printf("storehistory\n"); his[0]=s[0]; ghis[0]=g[0]; } void statescale(double *scale) /* In this routine you can set scale factors for error control. For each state variable the maximum permisable error will be bounded below by the tolerance multiplied by scale[i]. If you don't supply values then zero will be used. Non-zero scale values are useful for variables that start at zero and leave zero without 3rd order continuity. */ { // printf("statescale\n"); scale[0]=0.0; } void initst(double *s, double *c, double t) /* initialise state variables and any global constants here, you can use c */ { // printf("initstate\n"); s[0]=c[4]; } void initout(usercontrol *out) /* This routine is where the output windows are first set up. You have to fill in the global structure "out", which tells solv95 which variables to plot and in which windows */ { // int i; // printf("initout\n"); /* how many windows */ out->no_windows=1; /* how many lines in each window e.g. for two lines in window zero set out->lines[0]=2 ..... */ out->lines[0]=1; /* which state variables go in which windows and what are they called? e.g. to put state variable 4 in window 3 as curve 0, and label it `trash': out->index[4].win=3;out->index[4].cur=0;out->label[4]="trash"; If you don't provide this information for a variable then it isn't plotted */ out->label[0]="Adults"; out->index[0].win=0; out->index[0].cur=0; /* labels for windows */ out->wname[0]="Blowfly population"; /* Now set up initial range of y axis variables for each window */ out->range[0].y0=0.0; out->range[0].y1=-5000.0; out->xlabel="Time"; /* initialise file output. Set out->fileno to the number of columns to output (in addition to time). Set out->fout[i] to the number of the state variable that is to go in column i. Set out->fileno=0 for no output. */ out->fileno=1; out->fout[0]=0; /* integration details*/ out->t0=0.0; /* default start time */ out->t1=300.0; /* default stop time */ out->dt=1.0; /* initial timestep */ out->tol=0.000005; /* integration tolerance */ out->dout = 1.0; /* approximate average output timestep */ out->hbsize=2000L; /* how many past values to store for each history variable */ out->nhv=1; /* Number of history (lagged) variables */ out->nlag=1; /* Number of lag markers per history variable (set to 1 if unsure)*/ out->nsw=0; /* number of switch varaibles */ /* Initial Values and names for constants to be prompted for at run time */ out->c[0]=12.0; out->cname[0]="tau"; out->c[1]=0.25; out->cname[1]="delta"; out->c[2]=10.0; out->cname[2]="P"; out->c[3]=300.0;out->cname[3]="A_0"; out->c[4]=100.0;out->cname[4]="N(0)"; /* Optional information text on parameters - split text between lines with `\'*/ out->cinfo[0]="Development time."; out->cinfo[1]="Per capita death rate"; out->cinfo[2]="Product of max. fecundity and juvenile survival."; out->cinfo[3]="Fecundity decay constant."; out->cinfo[4]="Initial population."; /* Text and title for initial welcome box (optional) */ out->initialtitle="DDE Model - Blowflies"; out->initialtext=" This model is an example that came with solv95 "; } ActivePerspectiveName Project AllowedModules BundleLoadPath MaxInstances n Module PBXSmartGroupTreeModule Name Groups and Files Outline View BundleLoadPath MaxInstances n Module PBXNavigatorGroup Name Editor BundleLoadPath MaxInstances n Module XCTaskListModule Name Task List BundleLoadPath MaxInstances n Module XCDetailModule Name File and Smart Group Detail Viewer BundleLoadPath MaxInstances 1 Module PBXBuildResultsModule Name Detailed Build Results Viewer BundleLoadPath MaxInstances 1 Module PBXProjectFindModule Name Project Batch Find Tool BundleLoadPath MaxInstances n Module PBXRunSessionModule Name Run Log BundleLoadPath MaxInstances n Module PBXBookmarksModule Name Bookmarks Tool BundleLoadPath MaxInstances n Module PBXClassBrowserModule Name Class Browser BundleLoadPath MaxInstances n Module PBXCVSModule Name Source Code Control Tool BundleLoadPath MaxInstances n Module PBXDebugBreakpointsModule Name Debug Breakpoints Tool BundleLoadPath MaxInstances n Module XCDockableInspector Name Inspector BundleLoadPath MaxInstances n Module PBXOpenQuicklyModule Name Open Quickly Tool BundleLoadPath MaxInstances 1 Module PBXDebugSessionModule Name Debugger BundleLoadPath MaxInstances 1 Module PBXDebugCLIModule Name Debug Console Description DefaultDescriptionKey DockingSystemVisible Extension mode1 FavBarConfig PBXProjectModuleGUID ABB860560A8C7CD50070BAE5 XCBarModuleItemNames XCBarModuleItems FirstTimeWindowDisplayed Identifier com.apple.perspectives.project.mode1 MajorVersion 31 MinorVersion 1 Name Default Notifications OpenEditors PerspectiveWidths -1 -1 Perspectives ChosenToolbarItems active-target-popup action NSToolbarFlexibleSpaceItem buildOrClean build-and-runOrDebug com.apple.ide.PBXToolbarStopButton get-info toggle-editor NSToolbarFlexibleSpaceItem com.apple.pbx.toolbar.searchfield ControllerClassBaseName IconName WindowOfProjectWithEditor Identifier perspective.project IsVertical Layout BecomeActive ContentConfiguration PBXBottomSmartGroupGIDs 1C37FBAC04509CD000000102 1C37FAAC04509CD000000102 1C08E77C0454961000C914BD 1C37FABC05509CD000000102 1C37FABC05539CD112110102 E2644B35053B69B200211256 1C37FABC04509CD000100104 1CC0EA4004350EF90044410B 1CC0EA4004350EF90041110B PBXProjectModuleGUID 1CE0B1FE06471DED0097A5F4 PBXProjectModuleLabel Files PBXProjectStructureProvided yes PBXSmartGroupTreeModuleColumnData PBXSmartGroupTreeModuleColumnWidthsKey 186 PBXSmartGroupTreeModuleColumnsKey_v4 MainColumn PBXSmartGroupTreeModuleOutlineStateKey_v7 PBXSmartGroupTreeModuleOutlineStateExpansionKey 08FB7794FE84155DC02AAC07 08FB7795FE84155DC02AAC07 1C37FBAC04509CD000000102 1C37FAAC04509CD000000102 1C37FABC05509CD000000102 PBXSmartGroupTreeModuleOutlineStateSelectionKey 11 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey {{0, 0}, {186, 663}} PBXTopSmartGroupGIDs XCIncludePerspectivesSwitch XCSharingToken com.apple.Xcode.GFSharingToken GeometryConfiguration Frame {{0, 0}, {203, 681}} GroupTreeTableConfiguration MainColumn 186 RubberWindowFrame 66 85 1106 722 0 0 1280 938 Module PBXSmartGroupTreeModule Proportion 203pt Dock ContentConfiguration PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel dde-eg.c PBXSplitModuleInNavigatorKey Split0 PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel dde-eg.c _historyCapacity 0 bookmark AB392D000AF4DEBE00581D74 history AB927BDF0AAC9A4B00225682 ABAFAB3C0AC5612B0027167A AB77F9570ACD3F18000F7089 ABD88E480AE2869B00E91B28 prevStack ABC2F9E90A90A56200599BD3 ABC2FA400A90A92600599BD3 ABC2FA410A90A92600599BD3 AB64609B0AAE073A00D4D354 SplitCount 1 StatusBarVisibility GeometryConfiguration Frame {{0, 0}, {898, 676}} RubberWindowFrame 66 85 1106 722 0 0 1280 938 Module PBXNavigatorGroup Proportion 676pt ContentConfiguration PBXProjectModuleGUID 1CE0B20506471E060097A5F4 PBXProjectModuleLabel Detail GeometryConfiguration Frame {{0, 681}, {898, 0}} RubberWindowFrame 66 85 1106 722 0 0 1280 938 Module XCDetailModule Proportion 0pt Proportion 898pt Name Project ServiceClasses XCModuleDock PBXSmartGroupTreeModule XCModuleDock PBXNavigatorGroup XCDetailModule TableOfContents AB392D010AF4DEBE00581D74 1CE0B1FE06471DED0097A5F4 AB392D020AF4DEBE00581D74 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 ToolbarConfiguration xcode.toolbar.config.default ControllerClassBaseName IconName WindowOfProject Identifier perspective.morph IsVertical 0 Layout BecomeActive 1 ContentConfiguration PBXBottomSmartGroupGIDs 1C37FBAC04509CD000000102 1C37FAAC04509CD000000102 1C08E77C0454961000C914BD 1C37FABC05509CD000000102 1C37FABC05539CD112110102 E2644B35053B69B200211256 1C37FABC04509CD000100104 1CC0EA4004350EF90044410B 1CC0EA4004350EF90041110B PBXProjectModuleGUID 11E0B1FE06471DED0097A5F4 PBXProjectModuleLabel Files PBXProjectStructureProvided yes PBXSmartGroupTreeModuleColumnData PBXSmartGroupTreeModuleColumnWidthsKey 186 PBXSmartGroupTreeModuleColumnsKey_v4 MainColumn PBXSmartGroupTreeModuleOutlineStateKey_v7 PBXSmartGroupTreeModuleOutlineStateExpansionKey 29B97314FDCFA39411CA2CEA 1C37FABC05509CD000000102 PBXSmartGroupTreeModuleOutlineStateSelectionKey 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey {{0, 0}, {186, 337}} PBXTopSmartGroupGIDs XCIncludePerspectivesSwitch 1 XCSharingToken com.apple.Xcode.GFSharingToken GeometryConfiguration Frame {{0, 0}, {203, 355}} GroupTreeTableConfiguration MainColumn 186 RubberWindowFrame 373 269 690 397 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion 100% Name Morph PreferredWidth 300 ServiceClasses XCModuleDock PBXSmartGroupTreeModule TableOfContents 11E0B1FE06471DED0097A5F4 ToolbarConfiguration xcode.toolbar.config.default.short PerspectivesBarVisible ShelfIsVisible SourceDescription file at '/System/Library/PrivateFrameworks/DevToolsInterface.framework/Versions/A/Resources/XCPerspectivesSpecificationMode1.xcperspec' StatusbarIsVisible TimeStamp 0.0 ToolbarDisplayMode 1 ToolbarIsVisible ToolbarSizeMode 1 Type Perspectives UpdateMessage The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? WindowJustification 5 WindowOrderList AB392D090AF4DEBE00581D74 1CD10A99069EF8BA00B06720 1C0AD2B3069F1EA900FABCE6 /Users/ashley/Projects/Objective-C/MathsProgs/DDESolve/DDE-Example/DDE-Example.xcodeproj WindowString 66 85 1106 722 0 0 1280 938 WindowTools FirstTimeWindowDisplayed Identifier windowTool.build IsVertical Layout Dock ContentConfiguration PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel StatusBarVisibility GeometryConfiguration Frame {{0, 0}, {669, 230}} RubberWindowFrame 106 369 669 512 0 0 1280 938 Module PBXNavigatorGroup Proportion 230pt ContentConfiguration PBXProjectModuleGUID XCMainBuildResultsModuleGUID PBXProjectModuleLabel Build XCBuildResultsTrigger_Collapse 1021 XCBuildResultsTrigger_Open 1011 GeometryConfiguration Frame {{0, 235}, {669, 236}} RubberWindowFrame 106 369 669 512 0 0 1280 938 Module PBXBuildResultsModule Proportion 236pt Proportion 471pt Name Build Results ServiceClasses PBXBuildResultsModule StatusbarIsVisible TableOfContents ABB860570A8C7CD50070BAE5 ABD88E2D0AE2662000E91B28 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID ToolbarConfiguration xcode.toolbar.config.build WindowString 106 369 669 512 0 0 1280 938 WindowToolGUID ABB860570A8C7CD50070BAE5 WindowToolIsVisible FirstTimeWindowDisplayed Identifier windowTool.debugger IsVertical Layout Dock ContentConfiguration Debugger HorizontalSplitView _collapsingFrameDimension 0.0 _indexOfCollapsedView 0 _percentageOfCollapsedView 0.0 isCollapsed yes sizes {{0, 0}, {298, 200}} {{298, 0}, {396, 200}} VerticalSplitView _collapsingFrameDimension 0.0 _indexOfCollapsedView 0 _percentageOfCollapsedView 0.0 isCollapsed yes sizes {{0, 0}, {694, 200}} {{0, 200}, {694, 181}} LauncherConfigVersion 8 PBXProjectModuleGUID 1C162984064C10D400B95A72 PBXProjectModuleLabel Debug - GLUTExamples (Underwater) GeometryConfiguration DebugConsoleDrawerSize {100, 120} DebugConsoleVisible None DebugConsoleWindowFrame {{200, 200}, {500, 300}} DebugSTDIOWindowFrame {{200, 200}, {500, 300}} Frame {{0, 0}, {694, 381}} RubberWindowFrame 106 459 694 422 0 0 1280 938 Module PBXDebugSessionModule Proportion 381pt Proportion 381pt Name Debugger ServiceClasses PBXDebugSessionModule StatusbarIsVisible TableOfContents 1CD10A99069EF8BA00B06720 AB392D030AF4DEBE00581D74 1C162984064C10D400B95A72 AB392D040AF4DEBE00581D74 AB392D050AF4DEBE00581D74 AB392D060AF4DEBE00581D74 AB392D070AF4DEBE00581D74 AB392D080AF4DEBE00581D74 AB392D090AF4DEBE00581D74 ToolbarConfiguration xcode.toolbar.config.debug WindowString 106 459 694 422 0 0 1280 938 WindowToolGUID 1CD10A99069EF8BA00B06720 WindowToolIsVisible FirstTimeWindowDisplayed Identifier windowTool.find IsVertical Layout Dock Dock ContentConfiguration PBXProjectModuleGUID 1CDD528C0622207200134675 PBXProjectModuleLabel StatusBarVisibility GeometryConfiguration Frame {{0, 0}, {781, 212}} RubberWindowFrame 165 375 781 470 0 0 1280 938 Module PBXNavigatorGroup Proportion 781pt Proportion 212pt BecomeActive ContentConfiguration PBXProjectModuleGUID 1CD0528E0623707200166675 PBXProjectModuleLabel Project Find GeometryConfiguration Frame {{0, 217}, {781, 212}} RubberWindowFrame 165 375 781 470 0 0 1280 938 Module PBXProjectFindModule Proportion 212pt Proportion 429pt Name Project Find ServiceClasses PBXProjectFindModule StatusbarIsVisible TableOfContents 1C530D57069F1CE1000CFCEE AB5DB0DC0A9656BF008A9AA1 AB5DB0DD0A9656BF008A9AA1 1CDD528C0622207200134675 1CD0528E0623707200166675 WindowString 165 375 781 470 0 0 1280 938 WindowToolGUID 1C530D57069F1CE1000CFCEE WindowToolIsVisible Identifier MENUSEPARATOR FirstTimeWindowDisplayed Identifier windowTool.debuggerConsole IsVertical Layout Dock ContentConfiguration PBXProjectModuleGUID 1C78EAAC065D492600B07095 PBXProjectModuleLabel Debugger Console GeometryConfiguration Frame {{0, 0}, {440, 358}} RubberWindowFrame 127 458 440 400 0 0 1280 938 Module PBXDebugCLIModule Proportion 358pt Proportion 359pt Name Debugger Console ServiceClasses PBXDebugCLIModule StatusbarIsVisible TableOfContents ABB860660A8C7D960070BAE5 ABC2F9FE0A90A5B000599BD3 1C78EAAC065D492600B07095 WindowString 127 458 440 400 0 0 1280 938 WindowToolGUID ABB860660A8C7D960070BAE5 WindowToolIsVisible FirstTimeWindowDisplayed Identifier windowTool.run IsVertical Layout Dock ContentConfiguration LauncherConfigVersion 3 PBXProjectModuleGUID 1CD0528B0623707200166675 PBXProjectModuleLabel Run Runner HorizontalSplitView _collapsingFrameDimension 0.0 _indexOfCollapsedView 0 _percentageOfCollapsedView 0.0 isCollapsed yes sizes {{0, 0}, {493, 167}} {{0, 176}, {493, 267}} VerticalSplitView _collapsingFrameDimension 0.0 _indexOfCollapsedView 0 _percentageOfCollapsedView 0.0 isCollapsed yes sizes {{0, 0}, {405, 443}} {{414, 0}, {514, 443}} GeometryConfiguration Frame {{0, 0}, {459, 159}} RubberWindowFrame 106 681 459 200 0 0 1280 938 Module PBXRunSessionModule Proportion 159pt Proportion 159pt Name Run Log ServiceClasses PBXRunSessionModule StatusbarIsVisible TableOfContents 1C0AD2B3069F1EA900FABCE6 AB392D0A0AF4DEBE00581D74 1CD0528B0623707200166675 AB392D0B0AF4DEBE00581D74 ToolbarConfiguration xcode.toolbar.config.run WindowString 106 681 459 200 0 0 1280 938 WindowToolGUID 1C0AD2B3069F1EA900FABCE6 WindowToolIsVisible Identifier windowTool.scm Layout Dock ContentConfiguration PBXProjectModuleGUID 1C78EAB2065D492600B07095 PBXProjectModuleLabel <No Editor> PBXSplitModuleInNavigatorKey Split0 PBXProjectModuleGUID 1C78EAB3065D492600B07095 SplitCount 1 StatusBarVisibility 1 GeometryConfiguration Frame {{0, 0}, {452, 0}} RubberWindowFrame 743 379 452 308 0 0 1280 1002 Module PBXNavigatorGroup Proportion 0pt BecomeActive 1 ContentConfiguration PBXProjectModuleGUID 1CD052920623707200166675 PBXProjectModuleLabel SCM GeometryConfiguration ConsoleFrame {{0, 259}, {452, 0}} Frame {{0, 7}, {452, 259}} RubberWindowFrame 743 379 452 308 0 0 1280 1002 TableConfiguration Status 30 FileName 199 Path 197.09500122070312 TableFrame {{0, 0}, {452, 250}} Module PBXCVSModule Proportion 262pt Proportion 266pt Name SCM ServiceClasses PBXCVSModule StatusbarIsVisible 1 TableOfContents 1C78EAB4065D492600B07095 1C78EAB5065D492600B07095 1C78EAB2065D492600B07095 1CD052920623707200166675 ToolbarConfiguration xcode.toolbar.config.scm WindowString 743 379 452 308 0 0 1280 1002 FirstTimeWindowDisplayed Identifier windowTool.breakpoints IsVertical Layout Dock ContentConfiguration PBXBottomSmartGroupGIDs 1C77FABC04509CD000000102 PBXProjectModuleGUID 1CE0B1FE06471DED0097A5F4 PBXProjectModuleLabel Files PBXProjectStructureProvided no PBXSmartGroupTreeModuleColumnData PBXSmartGroupTreeModuleColumnWidthsKey 168 PBXSmartGroupTreeModuleColumnsKey_v4 MainColumn PBXSmartGroupTreeModuleOutlineStateKey_v7 PBXSmartGroupTreeModuleOutlineStateExpansionKey 1C77FABC04509CD000000102 PBXSmartGroupTreeModuleOutlineStateSelectionKey 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey {{0, 0}, {168, 350}} PBXTopSmartGroupGIDs XCIncludePerspectivesSwitch GeometryConfiguration Frame {{0, 0}, {185, 368}} GroupTreeTableConfiguration MainColumn 168 RubberWindowFrame 106 472 744 409 0 0 1280 938 Module PBXSmartGroupTreeModule Proportion 185pt BecomeActive ContentConfiguration PBXProjectModuleGUID 1CA1AED706398EBD00589147 PBXProjectModuleLabel Detail GeometryConfiguration Frame {{190, 0}, {554, 368}} RubberWindowFrame 106 472 744 409 0 0 1280 938 Module XCDetailModule Proportion 554pt Proportion 368pt MajorVersion 2 MinorVersion 0 Name Breakpoints ServiceClasses PBXSmartGroupTreeModule XCDetailModule StatusbarIsVisible TableOfContents ABC2FA150A90A63E00599BD3 ABC2FA160A90A63E00599BD3 1CE0B1FE06471DED0097A5F4 1CA1AED706398EBD00589147 ToolbarConfiguration xcode.toolbar.config.breakpoints WindowString 106 472 744 409 0 0 1280 938 WindowToolGUID ABC2FA150A90A63E00599BD3 WindowToolIsVisible Identifier windowTool.debugAnimator Layout Dock Module PBXNavigatorGroup Proportion 100% Proportion 100% Name Debug Visualizer ServiceClasses PBXNavigatorGroup StatusbarIsVisible 1 ToolbarConfiguration xcode.toolbar.config.debugAnimator WindowString 100 100 700 500 0 0 1280 1002 Identifier windowTool.bookmarks Layout Dock Module PBXBookmarksModule Proportion 100% Proportion 100% Name Bookmarks ServiceClasses PBXBookmarksModule StatusbarIsVisible 0 WindowString 538 42 401 187 0 0 1280 1002 Identifier windowTool.classBrowser Layout Dock BecomeActive 1 ContentConfiguration OptionsSetName Hierarchy, all classes PBXProjectModuleGUID 1CA6456E063B45B4001379D8 PBXProjectModuleLabel Class Browser - NSObject GeometryConfiguration ClassesFrame {{0, 0}, {374, 96}} ClassesTreeTableConfiguration PBXClassNameColumnIdentifier 208 PBXClassBookColumnIdentifier 22 Frame {{0, 0}, {630, 331}} MembersFrame {{0, 105}, {374, 395}} MembersTreeTableConfiguration PBXMemberTypeIconColumnIdentifier 22 PBXMemberNameColumnIdentifier 216 PBXMemberTypeColumnIdentifier 97 PBXMemberBookColumnIdentifier 22 PBXModuleWindowStatusBarHidden2 1 RubberWindowFrame 385 179 630 352 0 0 1440 878 Module PBXClassBrowserModule Proportion 332pt Proportion 332pt Name Class Browser ServiceClasses PBXClassBrowserModule StatusbarIsVisible 0 TableOfContents 1C0AD2AF069F1E9B00FABCE6 1C0AD2B0069F1E9B00FABCE6 1CA6456E063B45B4001379D8 ToolbarConfiguration xcode.toolbar.config.classbrowser WindowString 385 179 630 352 0 0 1440 878 WindowToolGUID 1C0AD2AF069F1E9B00FABCE6 WindowToolIsVisible 0 // !$*UTF8*$! { 08FB7793FE84155DC02AAC07 /* Project object */ = { activeBuildConfigurationName = Debug; activeExecutable = ABB8604F0A8C7C930070BAE5 /* Executable */; activeTarget = D2AAC0620554660B00DB518D /* DDE-Example */; addToTargets = ( AB6460700AAE045C00D4D354 /* SDDE-Example */, ); breakpoints = ( ); breakpointsGroup = ABB8604E0A8C7C7A0070BAE5 /* XCBreakpointsBucket */; codeSenseManager = ABE1AC210A85262700F8F658 /* Code sense */; executables = ( ABB8604F0A8C7C930070BAE5 /* Executable */, ); perUserDictionary = { "PBXConfiguration.PBXBreakpointsDataSource.v1:1CA1AED706398EBD00589147" = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXBreakpointsDataSource_BreakpointID; PBXFileTableDataSourceColumnWidthsKey = ( 20, 20, 210, 20, 110, 109, 20, ); PBXFileTableDataSourceColumnsKey = ( PBXBreakpointsDataSource_ActionID, PBXBreakpointsDataSource_TypeID, PBXBreakpointsDataSource_BreakpointID, PBXBreakpointsDataSource_UseID, PBXBreakpointsDataSource_LocationID, PBXBreakpointsDataSource_ConditionID, PBXBreakpointsDataSource_ContinueID, ); }; PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID; PBXFileTableDataSourceColumnWidthsKey = ( 22, 300, 546.5835, ); PBXFileTableDataSourceColumnsKey = ( PBXExecutablesDataSource_ActiveFlagID, PBXExecutablesDataSource_NameID, PBXExecutablesDataSource_CommentsID, ); }; PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Target_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, 659, 20, 48, 43, 43, 20, ); PBXFileTableDataSourceColumnsKey = ( PBXFileDataSource_FiletypeID, PBXFileDataSource_Filename_ColumnID, PBXFileDataSource_Built_ColumnID, PBXFileDataSource_ObjectSize_ColumnID, PBXFileDataSource_Errors_ColumnID, PBXFileDataSource_Warnings_ColumnID, PBXFileDataSource_Target_ColumnID, ); }; PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, 200, 479, 20, 48, 43, 43, ); PBXFileTableDataSourceColumnsKey = ( PBXFileDataSource_FiletypeID, PBXFileDataSource_Filename_ColumnID, PBXTargetDataSource_PrimaryAttribute, PBXFileDataSource_Built_ColumnID, PBXFileDataSource_ObjectSize_ColumnID, PBXFileDataSource_Errors_ColumnID, PBXFileDataSource_Warnings_ColumnID, ); }; PBXPerProjectTemplateStateSaveDate = 183819899; PBXWorkspaceStateSaveDate = 183819899; }; perUserProjectItems = { AB392D000AF4DEBE00581D74 /* PBXTextBookmark */ = AB392D000AF4DEBE00581D74 /* PBXTextBookmark */; AB64609B0AAE073A00D4D354 /* PBXTextBookmark */ = AB64609B0AAE073A00D4D354 /* PBXTextBookmark */; AB77F9570ACD3F18000F7089 /* PBXTextBookmark */ = AB77F9570ACD3F18000F7089 /* PBXTextBookmark */; AB927BDF0AAC9A4B00225682 /* PBXTextBookmark */ = AB927BDF0AAC9A4B00225682 /* PBXTextBookmark */; ABAFAB3C0AC5612B0027167A /* PBXTextBookmark */ = ABAFAB3C0AC5612B0027167A /* PBXTextBookmark */; ABC2F9E90A90A56200599BD3 /* PBXTextBookmark */ = ABC2F9E90A90A56200599BD3 /* PBXTextBookmark */; ABC2FA400A90A92600599BD3 /* PBXTextBookmark */ = ABC2FA400A90A92600599BD3 /* PBXTextBookmark */; ABC2FA410A90A92600599BD3 /* PBXTextBookmark */ = ABC2FA410A90A92600599BD3 /* PBXTextBookmark */; ABD88E480AE2869B00E91B28 /* PBXTextBookmark */ = ABD88E480AE2869B00E91B28 /* PBXTextBookmark */; }; sourceControlManager = ABE1AC200A85262700F8F658 /* Source Control */; userBuildSettings = { }; }; AB392D000AF4DEBE00581D74 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = ABC2FA2B0A90A6E600599BD3 /* dde-eg.c */; name = "dde-eg.c: 180"; rLen = 0; rLoc = 5198; rType = 0; vrLen = 1755; vrLoc = 5312; }; AB6460700AAE045C00D4D354 /* SDDE-Example */ = { activeExec = 0; }; AB64607B0AAE04EC00D4D354 /* sdde_eg.c */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {851, 3052}}"; sepNavSelRange = "{6728, 50}"; sepNavVisRect = "{{0, 2583}, {851, 441}}"; }; }; AB64609B0AAE073A00D4D354 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = AB64607B0AAE04EC00D4D354 /* sdde_eg.c */; name = "sdde_eg.c: initst"; rLen = 0; rLoc = 4187; rType = 0; vrLen = 1055; vrLoc = 3543; }; AB77F9570ACD3F18000F7089 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = ABC2FA2D0A90A70A00599BD3 /* ode_eg.c */; name = "ode_eg.c: 161"; rLen = 0; rLoc = 4925; rType = 0; vrLen = 1824; vrLoc = 4128; }; AB927BDF0AAC9A4B00225682 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = ABE1AC230A85265B00F8F658 /* solv95.h */; name = "solv95.h: "; rLen = 0; rLoc = 0; rType = 0; vrLen = 798; vrLoc = 0; }; ABAFAB3C0AC5612B0027167A /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = AB64607B0AAE04EC00D4D354 /* sdde_eg.c */; name = "\"Consumption rate per consumer per unit resource.\""; rLen = 50; rLoc = 6728; rType = 0; vrLen = 1412; vrLoc = 5817; }; ABB8604E0A8C7C7A0070BAE5 /* XCBreakpointsBucket */ = { isa = XCBreakpointsBucket; name = "DDE-Example"; objects = ( ); }; ABB8604F0A8C7C930070BAE5 /* Executable */ = { isa = PBXExecutable; activeArgIndex = 0; activeArgIndices = ( YES, ); argumentStrings = ( "libDDE-Example.dylib", ); autoAttachOnCrash = 1; configStateDict = { "PBXLSLaunchAction-0" = { PBXLSLaunchAction = 0; PBXLSLaunchStartAction = 1; PBXLSLaunchStdioStyle = 2; PBXLSLaunchStyle = 0; class = PBXLSRunLaunchConfig; displayName = "Executable Runner"; identifier = com.apple.Xcode.launch.runConfig; remoteHostInfo = ""; startActionInfo = ""; }; }; customDataFormattersEnabled = 1; debuggerPlugin = GDBDebugging; disassemblyDisplayState = 0; dylibVariantSuffix = ""; enableDebugStr = 1; environmentEntries = ( ); executableSystemSymbolLevel = 0; executableUserSymbolLevel = 0; launchableReference = ABD88E280AE2661000E91B28 /* DDESolve.app */; libgmallocEnabled = 0; name = Executable; savedGlobals = { }; sourceDirectories = ( ); startupPath = "<>"; variableFormatDictionary = { }; }; ABC2F9E90A90A56200599BD3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = ABE1AC230A85265B00F8F658 /* solv95.h */; name = "solv95.h: 1"; rLen = 0; rLoc = 0; rType = 0; vrLen = 798; vrLoc = 0; }; ABC2FA200A90A68C00599BD3 /* ODE-Example */ = { activeExec = 0; }; ABC2FA2B0A90A6E600599BD3 /* dde-eg.c */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {851, 3262}}"; sepNavSelRange = "{5198, 0}"; sepNavVisRect = "{{0, 2604}, {851, 644}}"; }; }; ABC2FA2D0A90A70A00599BD3 /* ode_eg.c */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {851, 2786}}"; sepNavSelRange = "{4925, 0}"; sepNavVisRect = "{{0, 1925}, {851, 644}}"; }; }; ABC2FA400A90A92600599BD3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = ABC2FA2D0A90A70A00599BD3 /* ode_eg.c */; name = "ode_eg.c: 137"; rLen = 0; rLoc = 4130; rType = 0; vrLen = 1581; vrLoc = 1998; }; ABC2FA410A90A92600599BD3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = ABC2FA2B0A90A6E600599BD3 /* dde-eg.c */; name = ",pastvalue"; rLen = 10; rLoc = 2380; rType = 0; vrLen = 1478; vrLoc = 1192; }; ABD88E280AE2661000E91B28 /* DDESolve.app */ = { isa = PBXFileReference; explicitFileType = wrapper.application; name = DDESolve.app; path = /Applications/DDESolve.app; sourceTree = ""; }; ABD88E480AE2869B00E91B28 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = ABC2FA2B0A90A6E600599BD3 /* dde-eg.c */; name = "dde-eg.c: 180"; rLen = 0; rLoc = 5198; rType = 0; vrLen = 1754; vrLoc = 5313; }; ABE1AC200A85262700F8F658 /* Source Control */ = { isa = PBXSourceControlManager; fallbackIsa = XCSourceControlManager; isSCMEnabled = 0; scmConfiguration = { }; scmType = ""; }; ABE1AC210A85262700F8F658 /* Code sense */ = { isa = PBXCodeSenseManager; indexTemplatePath = ""; }; ABE1AC230A85265B00F8F658 /* solv95.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {851, 644}}"; sepNavSelRange = "{0, 0}"; sepNavVisRect = "{{0, 0}, {851, 644}}"; }; }; D2AAC0620554660B00DB518D /* DDE-Example */ = { activeExec = 0; }; } // !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 42; objects = { /* Begin PBXBuildFile section */ AB6460720AAE045C00D4D354 /* solv95.h in Headers */ = {isa = PBXBuildFile; fileRef = ABE1AC230A85265B00F8F658 /* solv95.h */; }; AB64607C0AAE04EC00D4D354 /* sdde_eg.c in Sources */ = {isa = PBXBuildFile; fileRef = AB64607B0AAE04EC00D4D354 /* sdde_eg.c */; }; ABC2FA220A90A68C00599BD3 /* solv95.h in Headers */ = {isa = PBXBuildFile; fileRef = ABE1AC230A85265B00F8F658 /* solv95.h */; }; ABC2FA2C0A90A6E700599BD3 /* dde-eg.c in Sources */ = {isa = PBXBuildFile; fileRef = ABC2FA2B0A90A6E600599BD3 /* dde-eg.c */; }; ABC2FA2E0A90A70A00599BD3 /* ode_eg.c in Sources */ = {isa = PBXBuildFile; fileRef = ABC2FA2D0A90A70A00599BD3 /* ode_eg.c */; }; ABE1AC260A85265B00F8F658 /* solv95.h in Headers */ = {isa = PBXBuildFile; fileRef = ABE1AC230A85265B00F8F658 /* solv95.h */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ AB64607A0AAE045C00D4D354 /* libSDDE-Example.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libSDDE-Example.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; AB64607B0AAE04EC00D4D354 /* sdde_eg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sdde_eg.c; sourceTree = ""; }; ABC2FA2A0A90A68C00599BD3 /* libODE-Example.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libODE-Example.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; ABC2FA2B0A90A6E600599BD3 /* dde-eg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "dde-eg.c"; sourceTree = ""; }; ABC2FA2D0A90A70A00599BD3 /* ode_eg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ode_eg.c; sourceTree = ""; }; ABE1AC230A85265B00F8F658 /* solv95.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = solv95.h; sourceTree = ""; }; D2AAC0630554660B00DB518D /* libDDE-Example.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libDDE-Example.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ AB6460760AAE045C00D4D354 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; ABC2FA260A90A68C00599BD3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; D289988505E68E00004EDB86 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 08FB7794FE84155DC02AAC07 /* DDE-Example */ = { isa = PBXGroup; children = ( 08FB7795FE84155DC02AAC07 /* Source */, 1AB674ADFE9D54B511CA2CBB /* Products */, ); name = "DDE-Example"; sourceTree = ""; }; 08FB7795FE84155DC02AAC07 /* Source */ = { isa = PBXGroup; children = ( ABC2FA2B0A90A6E600599BD3 /* dde-eg.c */, ABC2FA2D0A90A70A00599BD3 /* ode_eg.c */, AB64607B0AAE04EC00D4D354 /* sdde_eg.c */, ABE1AC230A85265B00F8F658 /* solv95.h */, ); name = Source; sourceTree = ""; }; 1AB674ADFE9D54B511CA2CBB /* Products */ = { isa = PBXGroup; children = ( D2AAC0630554660B00DB518D /* libDDE-Example.dylib */, ABC2FA2A0A90A68C00599BD3 /* libODE-Example.dylib */, AB64607A0AAE045C00D4D354 /* libSDDE-Example.dylib */, ); name = Products; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ AB6460710AAE045C00D4D354 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( AB6460720AAE045C00D4D354 /* solv95.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; ABC2FA210A90A68C00599BD3 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( ABC2FA220A90A68C00599BD3 /* solv95.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; D2AAC0600554660B00DB518D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( ABE1AC260A85265B00F8F658 /* solv95.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ AB6460700AAE045C00D4D354 /* SDDE-Example */ = { isa = PBXNativeTarget; buildConfigurationList = AB6460770AAE045C00D4D354 /* Build configuration list for PBXNativeTarget "SDDE-Example" */; buildPhases = ( AB6460710AAE045C00D4D354 /* Headers */, AB6460740AAE045C00D4D354 /* Sources */, AB6460760AAE045C00D4D354 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = "SDDE-Example"; productName = "DDE-Example"; productReference = AB64607A0AAE045C00D4D354 /* libSDDE-Example.dylib */; productType = "com.apple.product-type.library.dynamic"; }; ABC2FA200A90A68C00599BD3 /* ODE-Example */ = { isa = PBXNativeTarget; buildConfigurationList = ABC2FA270A90A68C00599BD3 /* Build configuration list for PBXNativeTarget "ODE-Example" */; buildPhases = ( ABC2FA210A90A68C00599BD3 /* Headers */, ABC2FA240A90A68C00599BD3 /* Sources */, ABC2FA260A90A68C00599BD3 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = "ODE-Example"; productName = "DDE-Example"; productReference = ABC2FA2A0A90A68C00599BD3 /* libODE-Example.dylib */; productType = "com.apple.product-type.library.dynamic"; }; D2AAC0620554660B00DB518D /* DDE-Example */ = { isa = PBXNativeTarget; buildConfigurationList = 1DEB914A08733D8E0010E9CD /* Build configuration list for PBXNativeTarget "DDE-Example" */; buildPhases = ( D2AAC0600554660B00DB518D /* Headers */, D2AAC0610554660B00DB518D /* Sources */, D289988505E68E00004EDB86 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = "DDE-Example"; productName = "DDE-Example"; productReference = D2AAC0630554660B00DB518D /* libDDE-Example.dylib */; productType = "com.apple.product-type.library.dynamic"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; buildConfigurationList = 1DEB914E08733D8E0010E9CD /* Build configuration list for PBXProject "DDE-Example" */; hasScannedForEncodings = 1; mainGroup = 08FB7794FE84155DC02AAC07 /* DDE-Example */; projectDirPath = ""; targets = ( D2AAC0620554660B00DB518D /* DDE-Example */, ABC2FA200A90A68C00599BD3 /* ODE-Example */, AB6460700AAE045C00D4D354 /* SDDE-Example */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ AB6460740AAE045C00D4D354 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( AB64607C0AAE04EC00D4D354 /* sdde_eg.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; ABC2FA240A90A68C00599BD3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ABC2FA2E0A90A70A00599BD3 /* ode_eg.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; D2AAC0610554660B00DB518D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ABC2FA2C0A90A6E700599BD3 /* dde-eg.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ 1DEB914B08733D8E0010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = ( ppc, i386, ); COPY_PHASE_STRIP = NO; EXECUTABLE_PREFIX = lib; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = "DDE-Example"; ZERO_LINK = YES; }; name = Debug; }; 1DEB914C08733D8E0010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = ( ppc, i386, ); EXECUTABLE_PREFIX = lib; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_MODEL_TUNING = G5; INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = "DDE-Example"; }; name = Release; }; 1DEB914F08733D8E0010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; PREBINDING = NO; SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; }; name = Debug; }; 1DEB915008733D8E0010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; PREBINDING = NO; SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; }; name = Release; }; AB6460780AAE045C00D4D354 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = ( ppc, i386, ); COPY_PHASE_STRIP = NO; EXECUTABLE_PREFIX = lib; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = "SDDE-Example"; ZERO_LINK = YES; }; name = Debug; }; AB6460790AAE045C00D4D354 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = ( ppc, i386, ); EXECUTABLE_PREFIX = lib; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_MODEL_TUNING = G5; INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = "SDDE-Example"; }; name = Release; }; ABC2FA280A90A68C00599BD3 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = ( ppc, i386, ); COPY_PHASE_STRIP = NO; EXECUTABLE_PREFIX = lib; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = "ODE-Example"; ZERO_LINK = YES; }; name = Debug; }; ABC2FA290A90A68C00599BD3 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = ( ppc, i386, ); EXECUTABLE_PREFIX = lib; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_MODEL_TUNING = G5; INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = "ODE-Example"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 1DEB914A08733D8E0010E9CD /* Build configuration list for PBXNativeTarget "DDE-Example" */ = { isa = XCConfigurationList; buildConfigurations = ( 1DEB914B08733D8E0010E9CD /* Debug */, 1DEB914C08733D8E0010E9CD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 1DEB914E08733D8E0010E9CD /* Build configuration list for PBXProject "DDE-Example" */ = { isa = XCConfigurationList; buildConfigurations = ( 1DEB914F08733D8E0010E9CD /* Debug */, 1DEB915008733D8E0010E9CD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; AB6460770AAE045C00D4D354 /* Build configuration list for PBXNativeTarget "SDDE-Example" */ = { isa = XCConfigurationList; buildConfigurations = ( AB6460780AAE045C00D4D354 /* Debug */, AB6460790AAE045C00D4D354 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; ABC2FA270A90A68C00599BD3 /* Build configuration list for PBXNativeTarget "ODE-Example" */ = { isa = XCConfigurationList; buildConfigurations = ( ABC2FA280A90A68C00599BD3 /* Debug */, ABC2FA290A90A68C00599BD3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; } /* Template file for coding d.d.e. models for solv95 - Example is an ode model - Lokta- Volterra P-P model */ #include //#include "ddeq.h" #include "solv95.h" /***************************************************************************/ /* Put global variables here. These should never be written to from */ /* grad() or switchfunctions(), directly or indirectly. */ /***************************************************************************/ /***************************************************************************/ /* Problem specific routines */ /***************************************************************************/ void initcons(no_vars,no_cons) int *no_cons,*no_vars; /* this routine specifies the number of constants and number of variables in the model. */ { *no_cons=6; *no_vars=2; } void switchfunctions(sw,s,c,t) double *sw,*s,*c,t; /* This routine sets the values of the switch functions. When the switch functions pass through zero from positive to negative the state variables may be reset in function map(). The switch functions should pass smoothly through 0 and should never have both value and first derivative zero. The same switch must not pass through zero from positive to negative more than once in an integration timestep. An example of a switch function is: sw[0]=sin(pi*t/30.0) which passes through zero every 60 time units. Switches may include state variables provided the above conditions are met. Note that to get 'Solver' style switches define twice as many switches and let e.g. sw[1]=-sw[0] */ { } void map(s,c,t,swno) double *s,*c,t;int swno; /* This routine is called whenever one of the switch functions passes through zero. 'swno' is the number of the switch function. The state variables can be changed discontinuously within this routine. eg: if (swno==1) { s[0]=coeff[1]*(s[0]);} time and the coefficients should not be changed. */ { } void grad(g,s,c,t,pastvalue) double *g,*s,*c,t; double (*pastvalue)(); /* This routine must provide the gradients g for the state variables s. So ds[i]/dt=g[i]=fi(s,c,t) where c is the coefficient vector. lagged variables may be accessed here using pastvalue(i,x,j) which returns the ith (starting at zero) lagged variable at time x, using lag pointer k (lag pointers are used by pastvalue to store the history buffer location corresponding to a lag in order to save exectution time. For example if your code requires lagged varaible 0 at lags T and 2T for each gradient calculation then it is efficient to obtain these values using: pastvalue(0,t-T,0) and pastvalue(0,t-2*T,1) rather than pastvalue(0,t-T,0) and pastvalue(0,t-2*T,0). The latter works, it's just slower because more time is spent searching for lagged values) */ { g[1]=c[0]*s[0]*s[1]-c[1]*s[1]; g[0]=c[2]*s[0]-c[3]*s[0]*s[1]; } void storehistory(his,ghis,g,s,c,t) double *his,*ghis,*g,*s,*c,t; /* This is the routine in which the values of the history variables at time t are calculated and put in the array his, along with gradients in ghis, using state variables s, gradients of s, g, and coefficients c e.g. if the state variable 2 is history variable 0, you would need the line: his[0]=s[2];ghis[0]=g[2]; */ { } void statescale(double *scale) /* In this routine you can set scale factors for error control. For each state variable the maximum permisable error will be bounded below by the tolerance multiplied by scale[i]. If you don't supply values then zero will be used. Non-zero scale values are useful for variables that start at zero and leave zero without 3rd order continuity. */ { scale[1]=scale[0]=0.0; } void initst(s,c,t) double *s,*c,t; /* initialise state variables and any global constants here, you can use c */ { s[0]=c[4];s[1]=c[5]; } void initout(out) usercontrol *out; /* This routine is where the output windows are first set up. You have to fill in the global structure "out", which tells solv95 which variables to plot and in which windows */ { /* how many windows */ out->no_windows=1; /* how many lines in each window e.g. for two lines in window zero set out->lines[0]=2 ..... */ out->lines[0]=2; /* which state variables go in which windows and what are they called? e.g. to put state variable 4 in window 3 as curve 0, and label it `trash': out->index[4].win=3;out->index[4].cur=0;out->label[4]="trash"; If you don't provide this information for a variable then it isn't plotted */ out->label[0]="Prey"; out->index[0].win=0;out->index[0].cur=0; out->label[1]="Predators"; out->index[1].win=0;out->index[1].cur=1; /* labels for windows */ out->wname[0]="Predator-Prey model"; /* Now set up initial range of y axis variables for each window */ out->range[0].y0=0.0; out->range[0].y1=-200.0; out->xlabel="Time"; /* initialise file output. Set out->fileno to the number of columns to output (in addition to time). Set out->fout[i] to the number of the state variable that is to go in column i. Set out->fileno=0 for no output. */ //out->fileno=1; //out->fout[0]=0; /* integration details*/ out->t0=0.0; /* default start time */ out->t1=300.0; /* default stop time */ out->dt=1.0; /* initial timestep */ out->tol=1e-8; /* integration tolerance */ out->dout = 1.0; /* approximate average output timestep */ out->hbsize=0L; /* how many past values to store for each history variable */ out->nhv=0; /* Number of history (lagged) variables */ out->nlag=1; /* Number of lag markers per history variable (set to 1 if unsure)*/ out->nsw=0; /* number of switch varaibles */ /* Initial Values and names for constants to be prompted for at run time */ out->c[0]=0.005; out->cname[0]="alpha"; out->c[1]=0.2; out->cname[1]="delta"; out->c[2]=1.0;out->cname[2]="beta"; out->c[3]=0.02;out->cname[3]="gamma"; out->c[4]=100.0;out->cname[4]="N(0)"; out->c[5]=100.0;out->cname[5]="P(0)"; /* Text and title for initial welcome box (optional) */ out->initialtitle="ODE Model - L-V model"; out->initialtext=" This model is an example that came with solv95 "; }