2 wx yz {| }~      $ $ $ $  ( $ /  / / ( 8}  ;}           L      ; ;  Y Y  u  ;                          !"#$%&'( ~ )*+,-./0123456 ~7 8 9: (; <=> ? @ABCDEFGHIJKL MN OPQRSTUVWXYZ[\ 7]  ^_`abCEmachineFrameworkEditorFactory InnerClasses dataTypesLjava/util/Set;_endLineLjava/lang/String;_tabCharFHfuncVarDeclStringLjava/lang/StringBuffer;FCoutDriversImplStringFCVarInitStringFCinDriversImplStringTHfuncDeclStringTCfuncImplStringcopyrightString3(Lptolemy/kernel/util/NamedObj;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis>Lptolemy/domains/giotto/cgc/GiottoCEmachineFrameworkGenerator; containerLptolemy/kernel/util/NamedObj;name ExceptionscwriteGiottoCode4(Lptolemy/actor/TypedCompositeActor;Ljava/io/File;)V giottoWriterLjava/io/FileWriter;eLjava/io/IOException;model#Lptolemy/actor/TypedCompositeActor; directoryLjava/io/File; modelNamegiottoDirectoryName outDirFilewriteGiottoFile StackMapTableadewriteFrameworkCodeFCwriterFHwriterTHwriterfcodeDirectoryName writeFCFile writeFHFile writeTHFile_instantiateEditorFactoryClass()V_getTypeString/(Lptolemy/actor/TypedIOPort;)Ljava/lang/String;portLptolemy/actor/TypedIOPort;typeretval_getInitialValueStringretValinitValLptolemy/data/expr/Parameter;_getArrayLength$_generateFrameworkImplementationCode7(Lptolemy/actor/TypedCompositeActor;)Ljava/lang/String; codeString_generateFrameworkHeaderCodeactorLptolemy/actor/Actor; actorName actorFreqI actorFreqParaactorsLjava/util/Iterator;dataTypef_generateTaskImplementationCode_generateTaskHeaderCode_generateCodeStrings&(Lptolemy/actor/TypedCompositeActor;)V_outputInitializationCodeportID portTypeIDportInitialValueFunctionportInitialValueLptolemy/actor/TypedActor;outPorts_arrayVariablesAllocationCodesanitizedPortName arrayLengthportTypeportssourcePortListLjava/util/List;sportg_driversImplementationCode _outputDriversImplementationCode_inputDriversImplementationCodeinPortsanitizedInPortName inPortTypeoutPortsanitizedOutPortNamesourceActorNameinPortsfirstParameterZassgtStmtStringinitStmtString_taskCodeSkeletonsanitizedSourceActorNametaskName inputPorts outputPorts portSeparatorfirst SourceFile&GiottoCEmachineFrameworkGenerator.java   java/lang/StringBuilder -/* hiE Copyright (c) 2001-2014 The Regents of the University of California. All rights reserved.D Permission is hereby granted, without written agreement and withoutC license or royalty fees, to use, copy, modify, and distribute thisH software and its documentation for any purpose, provided that the aboveG copyright notice and the following two paragraphs appear in all copies of this software.F IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTYD FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGESG ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IFD THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.D THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,9 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OFC MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWAREA PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OFG CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.*/ jk d lkm no pk/ java/io/File q rs ts*ptolemy/kernel/util/IllegalActionExceptionFailed to create directory " hu".giotto vjava/io/FileWriter w x< yq z-java/io/IOExceptionFailed to open file  for writing. {java/util/HashSet java/lang/StringBuffer  LM/c_functionality/fcode/f_code.cf_code.h task_code.h ;< >< K< Failed to open file for writing.\ptolemy/domains/giotto/cgc/GiottoCEmachineFrameworkGenerator$CEmachineFrameworkEditorFactory_editorFactory | }~   array hinitialOutputValue ptolemy/data/expr/Parameter 1\/* This file was automatically generated by the Ptolemy-II C-Emachine Framework Generator */ #include "f_code.h"#include #include  // Legacy Emachine codeQvoid giotto_timer_enable_code(e_machine_type e_machine_func, int relative_time) {}# int giotto_timer_save_code(void) {return get_logical_time();J unsigned giotto_timer_trigger_code(int initial_time, int relative_time) {\return (get_logical_time() == (initial_time + relative_time) % get_logical_time_overflow());( inline unsigned constant_true( void ) {return ( (unsigned)1 );#ifndef _F_CODE_#define _F_CODE_// Header file Inclusions#include "f_table.h"#include "f_spec.h"#include "f_interface.h"// Task Frequency Definitions#define SUPER_PERIOD( ,ptolemy/domains/giotto/kernel/GiottoDirector  h) g f s ptolemy/actor/Actorptolemy/kernel/util/NamedObj frequencyptolemy/data/IntToken #define _FREQ// Datatype Declarationsjava/lang/String typedef  *;typedef unsigned char boolean;(// Legacy Emachine function declarations3void giotto_timer_enable_code(e_machine_type, int);!int giotto_timer_save_code(void);-unsigned giotto_timer_trigger_code(int, int);&inline unsigned constant_true( void );void f_code_init( void );#endif #include "task_code.h"#// Function called upon Terminationvoid func_shutdown() { // Task Code#ifndef _TASK_CODE_#define _TASK_CODE_#include "f_code.h" NM WM `M nM%// Output Drivers Initialization Codeptolemy/actor/TypedActor ptolemy/actor/TypedIOPort s l ./ CGinit_ 5/ q inline void  *p) {*p = );)// Allocating Memory for Array data typesJ// Initialization function containing the global and local array variablesvoid f_code_init ( void ) { // For Task :/ array_1[]_2extern  local_ global_local_ = array_1;global__2;  \ ?Input port cannot receive data from multiple sources in Giotto.   _ aM bMC// Output drivers to copy values from the local to the global stageinline void copy_ ( *src,  *dst) { temp; temp = *dst; *dst = *src; *src = temp; *dst);static int counter = 0;0// Input Drivers for all the Tasks requiring one _inputdriver( , if ( ( _FREQ <= _FREQ) || !(counter % (_FREQ/ _FREQ)) ) { memcpy( *, ** = *counter = (counter %  _FREQ) + 1;, void CG_Task(eB !" "B#) ( $ *8Y9:*;Y<=*;Y<>*;Y<?*@*;Y<A*;Y<B*+CY," # + ! D N$Y-%:&,'$(YY) *+ ,$Y-E.:$Y-F.:$Y-G.::/Y0:*+H23: 3 : /Y0:  *+I2  3:   3 : /Y0:  *+J2  3:   3 :(Y+K7 ++-+=R__a_nq4* !,2=HMas} #+2:=HRW_fnqsz % e& =1' s s(})*+ H  !" "$  !!" "$  !!!" " B# ( ,-; LY**MNW     ( ./X+OPM;Y**?*M, Xx =><;YY* ^ * * k * l * * m * n * o * p * * q * r * * s +tuvwx * yM+z{N-|-}~:!:6Y: 6Z6,Y   * * s wx * UWs,Y*  * UW*::|]}:TD,Y RdS    * * UW,Y * *  *  * *  * *  * *  * *  * * *=**  * UW,VnVY{f y?@lAiBCZD8K2=EFGFF4H= 4HI9 D 4H,H` (J<qY* ^ *  * *  *  * d * *  * *A*M, o qqo=K<xY* ^ * *  *  * * m *  * * *@  * M, v xxv=LMY*+*+*+*+  (NM *>Y * * UW+z{M,|g,}N-{:|C}:,+!:*:*:WY  :*: *>Y  s     * UWT<*>Y*      * UW*>Yd * * UW*=Y  s     * * UWb%/ 8 B OYempsx"#.'S)-./f xOPQR e101BW?SOJTF/nEFP/HUH  HUHVg HUH (WM *=Y * UW*BY *  * UW+z{M,|,}~N-!:*=Y  * UW*BY*   * UW-{:|k}:*:TJ+!:*: *=YRdS        * RdS        * *      *      * * UW*BY*     ¶ * * ö    Ķ * UW-{:|"}:*:T+!::  (Yȷɿ: * : *=YRdS       * *   ˶  ̶   * * UW*BY*  ̶     * UWڧ*BYd * UW/<>D?HBRD[EeFiGlFqIJMNOPRSTUWXPbUaXz:=JT`hru}2psv<X4Y Y01QZr[F}X\] ^1 Y `01hZJ)[Fe?@qARCEFb RHxIHn HP  HIHV_ HIH (`MG *+*+α    (aM"*>Y϶ * UW*:M,|,}N*>Yж - Ѷ - Ҷ - Ӷ * * - Զ * * * ն * * ֶ * * ׶ * d * * UW*=Yж - Ѷ - Ҷ - ض * * UW * (1;!*;2""(GF (H (bM-;YY* ٶ * * yN*?Yڶ * * UW+z{:|1}~:ۚ!:*?Y  ܶ UW*=Y  ܶ UW;YFehl{  }lO dP ]\] 6^1 )o Z01DiF>'O FP J01 cTF?S+p6qrls-tk EF H9 HU4H&V/_E HU4H4H&V0 H (uv L