diff --git a/alliance/src/graal/src/GMC_create.c b/alliance/src/graal/src/GMC_create.c index 875a43ae..85459f11 100644 --- a/alliance/src/graal/src/GMC_create.c +++ b/alliance/src/graal/src/GMC_create.c @@ -83,7 +83,7 @@ \------------------------------------------------------------*/ char GraalSegmentLayer = ALU1; - long GraalSegmentWidth = -1; + float GraalSegmentWidth = -1.0; char *GraalSegmentName = (char *)NULL; char GraalSegmentWire = GRAAL_FALSE; @@ -112,7 +112,7 @@ \------------------------------------------------------------*/ char GraalTransistorType = NTRANS; - long GraalTransistorWidth = -1; + float GraalTransistorWidth = -1.0; char *GraalTransistorName = (char *)NULL; char GraalTransistorWire = GRAAL_FALSE; @@ -123,7 +123,7 @@ \------------------------------------------------------------*/ char GraalConnectorLayer = ALU1; - long GraalConnectorWidth = -1; + float GraalConnectorWidth = -1.0; char *GraalConnectorName = (char *)NULL; char GraalConnectorOrient = GRAAL_NORTH; @@ -206,7 +206,7 @@ void GraalCreateSegmentMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 ) if ( Delta < 0 ) Delta = - Delta; - if ( Delta < GRAAL_SEGMENT_VALUE_TABLE[GraalSegmentLayer][1] ) + if ( Delta < GRAAL_SCALE * GRAAL_SEGMENT_VALUE_TABLE[GraalSegmentLayer][1] ) { GraalErrorMessage( GraalMainWindow, "This segment is too small !" ); @@ -248,9 +248,11 @@ void GraalCreateSegmentMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 ) Segment = addphseg( GraalFigureMbk, GraalSegmentLayer, - GraalSegmentWidth * SCALE_X, - LambdaX1 * GRAAL_SCALE_X, LambdaY1 * GRAAL_SCALE_X, - LambdaX2 * GRAAL_SCALE_X, LambdaY2 * GRAAL_SCALE_X, + (long)( GraalSegmentWidth * SCALE_X ), + (long)( LambdaX1 * GRAAL_SCALE_X ), + (long)( LambdaY1 * GRAAL_SCALE_X ), + (long)( LambdaX2 * GRAAL_SCALE_X ), + (long)( LambdaY2 * GRAAL_SCALE_X ), SegmentName ); Segment->USER = (void *)(&GraalFigureMbk->PHSEG); @@ -308,7 +310,8 @@ void GraalCreateViaMbk( LambdaX1, LambdaY1 ) GraalCreateFigureMbk(); Via = addphvia( GraalFigureMbk, GraalViaType, - LambdaX1 * GRAAL_SCALE_X, LambdaY1 * GRAAL_SCALE_X, 0, 0, GraalViaName ); + (long)( LambdaX1 * GRAAL_SCALE_X ), + (long)( LambdaY1 * GRAAL_SCALE_X ), 0, 0, GraalViaName ); Via->USER = (void *)(&GraalFigureMbk->PHVIA); @@ -381,8 +384,8 @@ void GraalCreateBigViaMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 ) ViaDx = LambdaX2 - LambdaX1; ViaDy = LambdaY2 - LambdaY1; - if ( ( ViaDx < GRAAL_BIGVIA_VALUE_TABLE[ GraalBigViaType ][0] ) || - ( ViaDy < GRAAL_BIGVIA_VALUE_TABLE[ GraalBigViaType ][0] ) ) + if ( ( ViaDx < GRAAL_SCALE * GRAAL_BIGVIA_VALUE_TABLE[ GraalBigViaType ][0] ) || + ( ViaDy < GRAAL_SCALE * GRAAL_BIGVIA_VALUE_TABLE[ GraalBigViaType ][0] ) ) { GraalErrorMessage( GraalMainWindow, "This big via is too small !" ); @@ -401,9 +404,10 @@ void GraalCreateBigViaMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 ) GraalCreateFigureMbk(); Via = addphvia( GraalFigureMbk, GraalBigViaType, - (( LambdaX1 + LambdaX2 ) >> 1) * GRAAL_SCALE_X, - (( LambdaY1 + LambdaY2 ) >> 1) * GRAAL_SCALE_X, - ViaDx * GRAAL_SCALE_X, ViaDy * GRAAL_SCALE_X, GraalBigViaName ); + (long)( (( LambdaX1 + LambdaX2 ) / 2.0) * GRAAL_SCALE_X ), + (long)( (( LambdaY1 + LambdaY2 ) / 2.0) * GRAAL_SCALE_X ), + (long)( ViaDx * GRAAL_SCALE_X ), + (long)( ViaDy * GRAAL_SCALE_X ), GraalBigViaName ); Via->USER = (void *)(&GraalFigureMbk->PHVIA); @@ -471,7 +475,7 @@ void GraalCreateTransistorMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 ) if ( Delta < 0 ) Delta = - Delta; - if ( Delta < GRAAL_SEGMENT_VALUE_TABLE[GraalTransistorType][1] ) + if ( Delta < GRAAL_SCALE * GRAAL_SEGMENT_VALUE_TABLE[GraalTransistorType][1] ) { GraalErrorMessage( GraalMainWindow, "This transistor is too small !" ); @@ -484,9 +488,11 @@ void GraalCreateTransistorMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 ) Transistor = addphseg( GraalFigureMbk, GraalTransistorType, - GraalTransistorWidth * SCALE_X, - LambdaX1 * GRAAL_SCALE_X, LambdaY1 * GRAAL_SCALE_X, - LambdaX2 * GRAAL_SCALE_X, LambdaY2 * GRAAL_SCALE_X, + (long)( GraalTransistorWidth * SCALE_X ), + (long)( LambdaX1 * GRAAL_SCALE_X ), + (long)( LambdaY1 * GRAAL_SCALE_X ), + (long)( LambdaX2 * GRAAL_SCALE_X ), + (long)( LambdaY2 * GRAAL_SCALE_X ), GraalTransistorName ); Transistor->USER = (void *)(&GraalFigureMbk->PHSEG); @@ -543,8 +549,8 @@ void GraalCreateConnectorMbk( LambdaX1, LambdaY1 ) rdsbegin(); - LambdaX1 = LambdaX1 * GRAAL_SCALE_X; - LambdaY1 = LambdaY1 * GRAAL_SCALE_X; + LambdaX1 = (long)(LambdaX1 * GRAAL_SCALE_X); + LambdaY1 = (long)(LambdaY1 * GRAAL_SCALE_X); switch ( GraalConnectorOrient ) { @@ -575,7 +581,7 @@ void GraalCreateConnectorMbk( LambdaX1, LambdaY1 ) GraalConnectorName, LambdaX1, LambdaY1, GraalConnectorLayer, - GraalConnectorWidth * SCALE_X ); + (long)( GraalConnectorWidth * SCALE_X ) ); Connector->USER = (void *)(&GraalFigureMbk->PHCON); @@ -651,7 +657,8 @@ void GraalCreateReferenceMbk( LambdaX1, LambdaY1 ) addphref( GraalFigureMbk, (GraalReferenceType == MBK_REF_REF) ? "ref_ref":"ref_con" , GraalReferenceName, - LambdaX1 * GRAAL_SCALE_X, LambdaY1 * GRAAL_SCALE_X ); + (long)( LambdaX1 * GRAAL_SCALE_X ), + (long)( LambdaY1 * GRAAL_SCALE_X ) ); Reference->USER = (void *)(&GraalFigureMbk->PHREF); @@ -767,7 +774,8 @@ void GraalCreateInstanceMbk( LambdaX1, LambdaY1 ) GraalInstanceModel, GraalInstanceName, GraalInstanceSym, - LambdaX1 * GRAAL_SCALE_X, LambdaY1 * GRAAL_SCALE_X ); + (long)( LambdaX1 * GRAAL_SCALE_X ), + (long)( LambdaY1 * GRAAL_SCALE_X ) ); InstanceMbk->NEXT = SaveInstance; InstanceMbk->USER = (void *)(&GraalFigureMbk->PHINS); @@ -850,10 +858,10 @@ void GraalCreateAbutmentBoxMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 ) GraalCreateFigureMbk(); - GraalFigureMbk->XAB1 = LambdaX1 * GRAAL_SCALE_X; - GraalFigureMbk->YAB1 = LambdaY1 * GRAAL_SCALE_X; - GraalFigureMbk->XAB2 = LambdaX2 * GRAAL_SCALE_X; - GraalFigureMbk->YAB2 = LambdaY2 * GRAAL_SCALE_X; + GraalFigureMbk->XAB1 = (long)( LambdaX1 * GRAAL_SCALE_X ); + GraalFigureMbk->YAB1 = (long)( LambdaY1 * GRAAL_SCALE_X ); + GraalFigureMbk->XAB2 = (long)( LambdaX2 * GRAAL_SCALE_X ); + GraalFigureMbk->YAB2 = (long)( LambdaY2 * GRAAL_SCALE_X ); Rectangle = GraalAddAbox(); diff --git a/alliance/src/graal/src/GMC_create.h b/alliance/src/graal/src/GMC_create.h index 9d5a0bb6..24351521 100644 --- a/alliance/src/graal/src/GMC_create.h +++ b/alliance/src/graal/src/GMC_create.h @@ -69,7 +69,7 @@ \------------------------------------------------------------*/ extern char GraalSegmentLayer; - extern long GraalSegmentWidth; + extern float GraalSegmentWidth; extern char *GraalSegmentName; extern char GraalSegmentWire; @@ -99,7 +99,7 @@ extern char GraalTransistorType; extern char *GraalTransistorName; - extern long GraalTransistorWidth; + extern float GraalTransistorWidth; extern char GraalTransistorWire; /*------------------------------------------------------------\ @@ -109,7 +109,7 @@ \------------------------------------------------------------*/ extern char GraalConnectorLayer; - extern long GraalConnectorWidth; + extern float GraalConnectorWidth; extern char *GraalConnectorName; extern char GraalConnectorOrient; diff --git a/alliance/src/graal/src/GMC_dialog.c b/alliance/src/graal/src/GMC_dialog.c index ba2c6239..96b89f80 100644 --- a/alliance/src/graal/src/GMC_dialog.c +++ b/alliance/src/graal/src/GMC_dialog.c @@ -43,6 +43,7 @@ \------------------------------------------------------------*/ # include +# include # include # include @@ -308,7 +309,8 @@ void CallbackChangeSegmentWidthOk( MyWidget, ClientData, CallData ) XmSelectionBoxCallbackStruct *CallData; { char *WidthSet; - long NewWidth; + float NewWidth; + float Factor; rdsbegin(); @@ -324,9 +326,11 @@ void CallbackChangeSegmentWidthOk( MyWidget, ClientData, CallData ) if ( WidthSet != (char *)NULL ) { - NewWidth = atoi( WidthSet ); + Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID; + NewWidth = atof( WidthSet ); + NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor ); - if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalSegmentLayer ][0] ) + if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalSegmentLayer ][0] ) { GraalSegmentWidth = NewWidth; } @@ -463,7 +467,8 @@ void CallbackChangeTransistorWidthOk( MyWidget, ClientData, CallData ) XmSelectionBoxCallbackStruct *CallData; { char *WidthSet; - long NewWidth; + float NewWidth; + float Factor; rdsbegin(); @@ -479,7 +484,9 @@ void CallbackChangeTransistorWidthOk( MyWidget, ClientData, CallData ) if ( WidthSet != (char *)NULL ) { - NewWidth = atoi( WidthSet ); + Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID; + NewWidth = atof( WidthSet ); + NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor ); if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalTransistorType ][0] ) { @@ -618,7 +625,8 @@ void CallbackChangeConnectorWidthOk( MyWidget, ClientData, CallData ) XmSelectionBoxCallbackStruct *CallData; { char *WidthSet; - long NewWidth; + float NewWidth; + float Factor; rdsbegin(); @@ -634,7 +642,9 @@ void CallbackChangeConnectorWidthOk( MyWidget, ClientData, CallData ) if ( WidthSet != (char *)NULL ) { - NewWidth = atoi( WidthSet ); + Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID; + NewWidth = atof( WidthSet ); + NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor ); if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorLayer ][0] ) { diff --git a/alliance/src/graal/src/GMC_menu.c b/alliance/src/graal/src/GMC_menu.c index b5778904..6f2045f3 100644 --- a/alliance/src/graal/src/GMC_menu.c +++ b/alliance/src/graal/src/GMC_menu.c @@ -230,7 +230,7 @@ void CallbackCreateSegment( MyWidget, ClientData, CallData ) { rdsbegin(); - if ( GraalSegmentWidth == -1 ) + if ( GraalSegmentWidth == -1.0 ) { GraalSegmentWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalSegmentLayer ][0]; } @@ -363,7 +363,7 @@ void CallbackCreateConnector( MyWidget, ClientData, CallData ) } else { - if ( GraalConnectorWidth == -1 ) + if ( GraalConnectorWidth == -1.0 ) { GraalConnectorWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorLayer ][0]; } @@ -391,7 +391,7 @@ void CallbackCreateTransistor( MyWidget, ClientData, CallData ) { rdsbegin(); - if ( GraalTransistorWidth == -1 ) + if ( GraalTransistorWidth == -1.0 ) { GraalTransistorWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalTransistorType ][0]; } diff --git a/alliance/src/graal/src/GMC_message.c b/alliance/src/graal/src/GMC_message.c index 3bb7fc42..3bba14d5 100644 --- a/alliance/src/graal/src/GMC_message.c +++ b/alliance/src/graal/src/GMC_message.c @@ -95,7 +95,7 @@ void GraalPromptCreateSegment() { GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Create Segment" ); - sprintf( MessageBuffer, "Layer: %s Width: %2d Name: %s", + sprintf( MessageBuffer, "Layer: %s Width: %.2f Name: %s", GRAAL_SEGMENT_NAME_TABLE[ GraalSegmentLayer ][0] , GraalSegmentWidth, ( GraalSegmentName ) ? GraalSegmentName : "none" ); @@ -127,7 +127,7 @@ void GraalPromptCreateConnector() { GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Create Connector" ); - sprintf( MessageBuffer, "Layer: %s Width: %2d Orient: %s", + sprintf( MessageBuffer, "Layer: %s Width: %.2f Orient: %s", GRAAL_CONNECTOR_NAME_TABLE[ GraalConnectorLayer ][0], GraalConnectorWidth, GRAAL_ORIENT_NAME_TABLE[ GraalConnectorOrient ][0] ); @@ -217,13 +217,13 @@ void GraalPromptCreateTransistor() if ( GraalTransistorName == (char *)NULL ) { - sprintf( MessageBuffer, "Type: %s Width: %2d Name: none", + sprintf( MessageBuffer, "Type: %s Width: %.2f Name: none", GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorType ][0], GraalTransistorWidth ); } else { - sprintf( MessageBuffer, "Type: %s Width: %2d Name: %s", + sprintf( MessageBuffer, "Type: %s Width: %.2f Name: %s", GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorType ][0], GraalTransistorWidth, GraalTransistorName ); } diff --git a/alliance/src/graal/src/GME_dialog.c b/alliance/src/graal/src/GME_dialog.c index cae8f2db..98bb8d0b 100644 --- a/alliance/src/graal/src/GME_dialog.c +++ b/alliance/src/graal/src/GME_dialog.c @@ -43,6 +43,7 @@ \------------------------------------------------------------*/ # include +# include # include # include # include @@ -411,7 +412,8 @@ void CallbackModifySegmentWidthOk( MyWidget, ClientData, CallData ) XmSelectionBoxCallbackStruct *CallData; { char *WidthSet; - long NewWidth; + float NewWidth; + float Factor; rdsbegin(); @@ -425,7 +427,9 @@ void CallbackModifySegmentWidthOk( MyWidget, ClientData, CallData ) if ( WidthSet != (char *)NULL ) { - NewWidth = atoi( WidthSet ); + Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID; + NewWidth = atof( WidthSet ); + NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor ); if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalSegmentMLayer ][0] ) { @@ -547,7 +551,8 @@ void CallbackModifyTransistorWidthOk( MyWidget, ClientData, CallData ) XmSelectionBoxCallbackStruct *CallData; { char *WidthSet; - long NewWidth; + float NewWidth; + float Factor; rdsbegin(); @@ -561,9 +566,11 @@ void CallbackModifyTransistorWidthOk( MyWidget, ClientData, CallData ) if ( WidthSet != (char *)NULL ) { - NewWidth = atoi( WidthSet ); + Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID; + NewWidth = atof( WidthSet ); + NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor ); - if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalTransistorMType ][0] ) + if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalTransistorMType ][0] ) { GraalTransistorMWidth = NewWidth; } @@ -676,7 +683,8 @@ void CallbackModifyConnectorWidthOk( MyWidget, ClientData, CallData ) XmSelectionBoxCallbackStruct *CallData; { char *WidthSet; - long NewWidth; + float NewWidth; + float Factor; rdsbegin(); @@ -690,9 +698,11 @@ void CallbackModifyConnectorWidthOk( MyWidget, ClientData, CallData ) if ( WidthSet != (char *)NULL ) { - NewWidth = atoi( WidthSet ); + Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID; + NewWidth = atof( WidthSet ); + NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor ); - if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorMLayer ][0] ) + if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorMLayer ][0] ) { GraalConnectorMWidth = NewWidth; } diff --git a/alliance/src/graal/src/GME_edit.c b/alliance/src/graal/src/GME_edit.c index 7aebfcd3..d58b534d 100644 --- a/alliance/src/graal/src/GME_edit.c +++ b/alliance/src/graal/src/GME_edit.c @@ -152,10 +152,10 @@ void GraalEditTreatUndo( HeadUndo ) { ClearGraalDeleted( Rec ); - GraalFigureMbk->XAB1 = Rec->X * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA; - GraalFigureMbk->YAB1 = Rec->Y * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA; - GraalFigureMbk->XAB2 = ( Rec->X + Rec->DX ) * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA; - GraalFigureMbk->YAB2 = ( Rec->Y + Rec->DY ) * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA; + GraalFigureMbk->XAB1 = (long)( Rec->X * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA ); + GraalFigureMbk->YAB1 = (long)( Rec->Y * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA ); + GraalFigureMbk->XAB2 = (long)( ( Rec->X + Rec->DX ) * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA ); + GraalFigureMbk->YAB2 = (long)( ( Rec->Y + Rec->DY ) * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA ); } else { @@ -464,8 +464,8 @@ void GraalEditCopy( LambdaX1, LambdaY1, LambdaX2, LambdaY2, Mode ) rdsbegin(); - DeltaX = ( LambdaX2 - LambdaX1 ) * GRAAL_SCALE_X; - DeltaY = ( LambdaY2 - LambdaY1 ) * GRAAL_SCALE_X; + DeltaX = (long)( ( LambdaX2 - LambdaX1 ) * GRAAL_SCALE_X ); + DeltaY = (long)( ( LambdaY2 - LambdaY1 ) * GRAAL_SCALE_X ); FirstUndo = 1; @@ -666,8 +666,8 @@ void GraalEditMove( LambdaX1, LambdaY1, LambdaX2, LambdaY2, Mode ) rdsbegin(); - DeltaX = ( LambdaX2 - LambdaX1 ) * GRAAL_SCALE_X; - DeltaY = ( LambdaY2 - LambdaY1 ) * GRAAL_SCALE_X; + DeltaX = (long)( ( LambdaX2 - LambdaX1 ) * GRAAL_SCALE_X ); + DeltaY = (long)( ( LambdaY2 - LambdaY1 ) * GRAAL_SCALE_X ); FirstUndo = 1; @@ -1100,10 +1100,10 @@ void GraalEditStretch( LambdaX1, LambdaY1, LambdaX2, LambdaY2, Mode ) Orient = 0; - LambdaX1 = LambdaX1 * GRAAL_SCALE_X; - LambdaX2 = LambdaX2 * GRAAL_SCALE_X; - LambdaY1 = LambdaY1 * GRAAL_SCALE_X; - LambdaY2 = LambdaY2 * GRAAL_SCALE_X; + LambdaX1 = (long)( LambdaX1 * GRAAL_SCALE_X ); + LambdaX2 = (long)( LambdaX2 * GRAAL_SCALE_X ); + LambdaY1 = (long)( LambdaY1 * GRAAL_SCALE_X ); + LambdaY2 = (long)( LambdaY2 * GRAAL_SCALE_X ); if ( LambdaX2 != LambdaX1 ) { @@ -1310,7 +1310,7 @@ void GraalEditStretch( LambdaX1, LambdaY1, LambdaX2, LambdaY2, Mode ) X2 = ((phseg_list *)Pointer)->X2; Y2 = ((phseg_list *)Pointer)->Y2; - Length = GRAAL_SEGMENT_VALUE_TABLE[ ((phseg_list *)Pointer)->LAYER ][1] * GRAAL_SCALE_X; + Length = (long)( GRAAL_SEGMENT_VALUE_TABLE[ ((phseg_list *)Pointer)->LAYER ][1] * SCALE_X ); Stretch = 0; @@ -1410,7 +1410,7 @@ void GraalEditStretch( LambdaX1, LambdaY1, LambdaX2, LambdaY2, Mode ) X2 = X1 + DXvia; Y2 = Y1 + DYvia; - Length = GRAAL_BIGVIA_VALUE_TABLE[ ((phvia_list *)Pointer)->TYPE ][0] * GRAAL_SCALE_X; + Length = (long)( GRAAL_BIGVIA_VALUE_TABLE[ ((phvia_list *)Pointer)->TYPE ][0] * SCALE_X ); Stretch = 0; diff --git a/alliance/src/graal/src/GME_message.c b/alliance/src/graal/src/GME_message.c index 02202539..493cb93d 100644 --- a/alliance/src/graal/src/GME_message.c +++ b/alliance/src/graal/src/GME_message.c @@ -475,7 +475,7 @@ void GraalPromptModifySegment() GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Modify Segment" ); - sprintf( MessageBuffer, "Layer: %s Width: %2d Name: %s", + sprintf( MessageBuffer, "Layer: %s Width: %.2f Name: %s", GRAAL_SEGMENT_NAME_TABLE[ GraalSegmentMLayer ][0] , GraalSegmentMWidth, ( GraalSegmentMName ) ? GraalSegmentMName : "none" ); @@ -499,7 +499,7 @@ void GraalPromptModifyConnector() GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Modify Connector" ); - sprintf( MessageBuffer, "Layer: %s Width: %2d Orient: %s Name: %s", + sprintf( MessageBuffer, "Layer: %s Width: %.2f Orient: %s Name: %s", GRAAL_CONNECTOR_NAME_TABLE[ GraalConnectorMLayer ][0], GraalConnectorMWidth, GRAAL_ORIENT_NAME_TABLE[ GraalConnectorMOrient ][0], @@ -603,13 +603,13 @@ void GraalPromptModifyTransistor() if ( GraalTransistorMName == (char *)NULL ) { - sprintf( MessageBuffer, "Type: %s Width: %2d Name: None", + sprintf( MessageBuffer, "Type: %s Width: %.2f Name: None", GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorMType ][0], GraalTransistorMWidth ); } else { - sprintf( MessageBuffer, "Type: %s Width: %2d Name: %s", + sprintf( MessageBuffer, "Type: %s Width: %.2f Name: %s", GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorMType ][0], GraalTransistorMWidth, GraalTransistorMName ); } diff --git a/alliance/src/graal/src/GME_modify.c b/alliance/src/graal/src/GME_modify.c index 57c78f43..72c0903f 100644 --- a/alliance/src/graal/src/GME_modify.c +++ b/alliance/src/graal/src/GME_modify.c @@ -91,7 +91,7 @@ \------------------------------------------------------------*/ char GraalSegmentMLayer; - long GraalSegmentMWidth; + float GraalSegmentMWidth; char *GraalSegmentMName; /*------------------------------------------------------------\ @@ -111,7 +111,7 @@ char GraalTransistorMType; char *GraalTransistorMName; - long GraalTransistorMWidth; + float GraalTransistorMWidth; /*------------------------------------------------------------\ | | @@ -120,7 +120,7 @@ \------------------------------------------------------------*/ char GraalConnectorMLayer; - long GraalConnectorMWidth; + float GraalConnectorMWidth; char *GraalConnectorMName; char GraalConnectorMOrient; @@ -169,9 +169,9 @@ char GraalTransistorChanged( Transistor ) { return - ( ( Transistor->NAME != GraalTransistorMName ) || - ( Transistor->LAYER != GraalTransistorMType ) || - ( ( Transistor->WIDTH / SCALE_X ) != GraalTransistorMWidth ) ); + ( ( Transistor->NAME != GraalTransistorMName ) || + ( Transistor->LAYER != GraalTransistorMType ) || + ( ( Transistor->WIDTH / (float)SCALE_X ) != GraalTransistorMWidth ) ); } /*------------------------------------------------------------\ @@ -186,9 +186,9 @@ char GraalSegmentChanged( Segment ) { return - ( ( Segment->NAME != GraalSegmentMName ) || - ( Segment->LAYER != GraalSegmentMLayer ) || - ( ( Segment->WIDTH / SCALE_X ) != GraalSegmentMWidth ) ); + ( ( Segment->NAME != GraalSegmentMName ) || + ( Segment->LAYER != GraalSegmentMLayer ) || + ( ( Segment->WIDTH / (float)SCALE_X ) != GraalSegmentMWidth ) ); } /*------------------------------------------------------------\ @@ -217,10 +217,10 @@ char GraalConnectorChanged( Connector ) { return - ( ( Connector->NAME != GraalConnectorMName ) || - ( Connector->LAYER != GraalConnectorMLayer ) || - ( ( Connector->WIDTH / SCALE_X ) != GraalConnectorMWidth ) || - ( GraalSaveConnectorMOrient != GraalConnectorMOrient ) ); + ( ( Connector->NAME != GraalConnectorMName ) || + ( Connector->LAYER != GraalConnectorMLayer ) || + ( ( Connector->WIDTH / (float)SCALE_X ) != GraalConnectorMWidth ) || + ( GraalSaveConnectorMOrient != GraalConnectorMOrient ) ); } /*------------------------------------------------------------\ @@ -302,7 +302,7 @@ void GraalEditModify() GraalAcceptRectangle( Rectangle ); GraalDisplayRectangle( Rectangle ); - GraalTransistorMWidth = ((phseg_list *)Pointer)->WIDTH / SCALE_X; + GraalTransistorMWidth = (float)( ((phseg_list *)Pointer)->WIDTH / (float)SCALE_X ); GraalTransistorMType = ((phseg_list *)Pointer)->LAYER; GraalTransistorMName = ((phseg_list *)Pointer)->NAME; @@ -341,7 +341,7 @@ void GraalEditModify() addphseg( GraalFigureMbk, GraalTransistorMType , - GraalTransistorMWidth * SCALE_X, + (long)( GraalTransistorMWidth * SCALE_X ), ((phseg_list *)Pointer)->X1, ((phseg_list *)Pointer)->Y1, ((phseg_list *)Pointer)->X2, @@ -385,7 +385,7 @@ void GraalEditModify() GraalAcceptRectangle( Rectangle ); GraalDisplayRectangle( Rectangle ); - GraalSegmentMWidth = ((phseg_list *)Pointer)->WIDTH / SCALE_X; + GraalSegmentMWidth = (float)( ((phseg_list *)Pointer)->WIDTH / (float)SCALE_X ); GraalSegmentMLayer = ((phseg_list *)Pointer)->LAYER; GraalSegmentMName = ((phseg_list *)Pointer)->NAME; @@ -424,7 +424,7 @@ void GraalEditModify() addphseg( GraalFigureMbk, GraalSegmentMLayer, - GraalSegmentMWidth * SCALE_X, + (long)( GraalSegmentMWidth * SCALE_X ), ((phseg_list *)Pointer)->X1, ((phseg_list *)Pointer)->Y1, ((phseg_list *)Pointer)->X2, @@ -641,7 +641,7 @@ void GraalEditModify() GraalConnectorMName = ((phcon_list *)Pointer)->NAME; GraalConnectorMLayer = ((phcon_list *)Pointer)->LAYER; - GraalConnectorMWidth = ((phcon_list *)Pointer)->WIDTH / SCALE_X; + GraalConnectorMWidth = (float)( ((phcon_list *)Pointer)->WIDTH / (float)SCALE_X ); switch( ((phcon_list *)Pointer)->ORIENT ) { @@ -700,7 +700,7 @@ void GraalEditModify() ((phcon_list *)Pointer)->XCON, ((phcon_list *)Pointer)->YCON, GraalConnectorMLayer, - GraalConnectorMWidth * SCALE_X ); + (long)( GraalConnectorMWidth * SCALE_X ) ); ((phcon_list *)Element)->USER = (void *)(&GraalFigureMbk->PHCON); diff --git a/alliance/src/graal/src/GME_modify.h b/alliance/src/graal/src/GME_modify.h index 5eed2f9d..8d535dff 100644 --- a/alliance/src/graal/src/GME_modify.h +++ b/alliance/src/graal/src/GME_modify.h @@ -72,7 +72,7 @@ \------------------------------------------------------------*/ extern char GraalSegmentMLayer; - extern long GraalSegmentMWidth; + extern float GraalSegmentMWidth; extern char *GraalSegmentMName; /*------------------------------------------------------------\ @@ -92,7 +92,7 @@ extern char GraalTransistorMType; extern char *GraalTransistorMName; - extern long GraalTransistorMWidth; + extern float GraalTransistorMWidth; /*------------------------------------------------------------\ | | @@ -101,7 +101,7 @@ \------------------------------------------------------------*/ extern char GraalConnectorMLayer; - extern long GraalConnectorMWidth; + extern float GraalConnectorMWidth; extern char *GraalConnectorMName; extern char GraalConnectorMOrient; diff --git a/alliance/src/graal/src/GME_panel.c b/alliance/src/graal/src/GME_panel.c index 6f9d73de..3142cc82 100644 --- a/alliance/src/graal/src/GME_panel.c +++ b/alliance/src/graal/src/GME_panel.c @@ -4417,8 +4417,8 @@ void CallbackModifySegmentLayer( MyWidget, ClientData, CallData ) caddr_t ClientData; caddr_t CallData; { - long MinWidth; - int NewLayer; + float MinWidth; + int NewLayer; rdsbegin(); @@ -4543,7 +4543,7 @@ void CallbackModifyTransistorType( MyWidget, ClientData, CallData ) caddr_t ClientData; caddr_t CallData; { - long MinWidth; + float MinWidth; rdsbegin(); @@ -4658,12 +4658,12 @@ void CallbackModifyConnectorLayer( MyWidget, ClientData, CallData ) caddr_t ClientData; caddr_t CallData; { - long MinWidth; + float MinWidth; rdsbegin(); GraalConnectorMLayer = (int)ClientData; - MinWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorMLayer ][0]; + MinWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorMLayer ][0]; if ( GraalConnectorMWidth < MinWidth ) GraalConnectorMWidth = MinWidth; diff --git a/alliance/src/graal/src/GMT_tools.c b/alliance/src/graal/src/GMT_tools.c index 703d44f3..2254fc28 100644 --- a/alliance/src/graal/src/GMT_tools.c +++ b/alliance/src/graal/src/GMT_tools.c @@ -565,8 +565,8 @@ void GraalToolsHierarchyShow( LambdaX1, LambdaY1 ) { GraalSetMouseCursor( GraalGraphicWindow, GRAAL_WATCH_CURSOR ); - LambdaX1 *= GRAAL_SCALE_X; - LambdaY1 *= GRAAL_SCALE_X; + LambdaX1 = (long)( LambdaX1 * GRAAL_SCALE_X ); + LambdaY1 = (long)( LambdaY1 * GRAAL_SCALE_X ); sprintf( GraalScanHierarchyShow, "FIGURE %s : (%.2f, %.2f)\n", GraalFigureMbk->NAME, diff --git a/alliance/src/graal/src/GRM_error.c b/alliance/src/graal/src/GRM_error.c index 01d59bdd..f2ff7ad5 100644 --- a/alliance/src/graal/src/GRM_error.c +++ b/alliance/src/graal/src/GRM_error.c @@ -362,12 +362,12 @@ char *GraalGetInformations() if ( GraalFigureMbk != (phfig_list *)NULL ) { - sprintf( Scan, " FIGURE : %s\n\n XAB1 : %d\n YAB1 : %d\n XAB2 : %d\n YAB2 : %d\n\n", + sprintf( Scan, " FIGURE : %s\n\n XAB1 : %ld\n YAB1 : %ld\n XAB2 : %ld\n YAB2 : %ld\n\n", GraalFigureMbk->NAME, - GraalFigureMbk->XAB1 / GRAAL_SCALE_X, - GraalFigureMbk->YAB1 / GRAAL_SCALE_X, - GraalFigureMbk->XAB2 / GRAAL_SCALE_X, - GraalFigureMbk->YAB2 / GRAAL_SCALE_X ); + (long)( GraalFigureMbk->XAB1 / GRAAL_SCALE_X ), + (long)( GraalFigureMbk->YAB1 / GRAAL_SCALE_X ), + (long)( GraalFigureMbk->XAB2 / GRAAL_SCALE_X ), + (long)( GraalFigureMbk->YAB2 / GRAAL_SCALE_X ) ); } else { diff --git a/alliance/src/graal/src/GRM_peek.c b/alliance/src/graal/src/GRM_peek.c index 6891db7d..d6d6115e 100644 --- a/alliance/src/graal/src/GRM_peek.c +++ b/alliance/src/graal/src/GRM_peek.c @@ -360,10 +360,10 @@ void GraalPeekInstance( Rectangle, LambdaX1, LambdaY1, LambdaX2, LambdaY2 ) InstanceMbk->TRANSF ); - Xab1 = RfmRoundLow( Xab1 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ); - Yab1 = RfmRoundLow( Yab1 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ); - Xab2 = RfmRoundHigh( Xab2 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ); - Yab2 = RfmRoundHigh( Yab2 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ); + Xab1 = RfmRoundLow( (long)( Xab1 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ) ); + Yab1 = RfmRoundLow( (long)( Yab1 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ) ); + Xab2 = RfmRoundHigh( (long)( Xab2 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ) ); + Yab2 = RfmRoundHigh( (long)( Yab2 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ) ); if ( Xab1 > Xab2 ) { Swap = Xab1; Xab1 = Xab2; Xab2 = Swap; } if ( Yab1 > Yab2 ) { Swap = Yab1; Yab1 = Yab2; Yab2 = Swap; } diff --git a/alliance/src/graal/src/GSB.h b/alliance/src/graal/src/GSB.h index 6de7dd79..fce797b7 100644 --- a/alliance/src/graal/src/GSB.h +++ b/alliance/src/graal/src/GSB.h @@ -170,10 +170,10 @@ extern char *GRAAL_SEGMENT_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ]; extern char *GRAAL_TRANSISTOR_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ]; extern char *GRAAL_CONNECTOR_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ]; - extern long GRAAL_SEGMENT_VALUE_TABLE[ MBK_MAX_LAYER ][ 2 ]; + extern float GRAAL_SEGMENT_VALUE_TABLE[ MBK_MAX_LAYER ][ 2 ]; extern char *GRAAL_VIA_NAME_TABLE[ MBK_MAX_VIA ][ 3 ]; extern char *GRAAL_BIGVIA_NAME_TABLE[ MBK_MAX_VIA ][ 3 ]; - extern long GRAAL_BIGVIA_VALUE_TABLE[ MBK_MAX_LAYER ][ 1 ]; + extern float GRAAL_BIGVIA_VALUE_TABLE[ MBK_MAX_LAYER ][ 1 ]; extern char *GRAAL_REFERENCE_NAME_TABLE[ MBK_MAX_REFERENCE ][ 3 ]; extern char *GRAAL_ORIENT_NAME_TABLE[ MBK_MAX_ORIENT ][ 3 ]; extern char *GRAAL_SYMMETRY_NAME_TABLE[ MBK_MAX_SYMMETRY ][ 3 ]; @@ -189,7 +189,7 @@ extern float GRAAL_LOWER_SEGMENT_STEP; extern float GRAAL_LOWER_CONNECTOR_STEP; extern long GRAAL_RDS_LAMBDA; - extern long GRAAL_SCALE_X; + extern float GRAAL_SCALE_X; extern long GRAAL_SCALE; extern char GRAAL_XOR_CURSOR; diff --git a/alliance/src/graal/src/GSB_parse.c b/alliance/src/graal/src/GSB_parse.c index d26ade86..d6ae1d9f 100644 --- a/alliance/src/graal/src/GSB_parse.c +++ b/alliance/src/graal/src/GSB_parse.c @@ -74,7 +74,7 @@ char *GRAAL_TECHNO_NAME = (char *)NULL; long GRAAL_RDS_LAMBDA = 0; - long GRAAL_SCALE_X = 0; + float GRAAL_SCALE_X = 0.0; long GRAAL_SCALE = 1; /*------------------------------------------------------------\ @@ -100,8 +100,8 @@ char *GRAAL_CURSOR_COLOR_NAME; int GRAAL_RDS_LAYER_PATTERN_TABLE[ RDS_ALL_LAYER ]; - long GRAAL_SEGMENT_VALUE_TABLE[ MBK_MAX_LAYER ][ 2 ]; - long GRAAL_BIGVIA_VALUE_TABLE[ MBK_MAX_LAYER ][ 1 ]; + float GRAAL_SEGMENT_VALUE_TABLE[ MBK_MAX_LAYER ][ 2 ]; + float GRAAL_BIGVIA_VALUE_TABLE[ MBK_MAX_LAYER ][ 1 ]; long GRAAL_PEEK_BOUND; long GRAAL_CURSOR_SIZE; @@ -884,7 +884,7 @@ void GsbReadSegmentValue() else if ( GET_SEGMENT_LAYER( Layer, 0 ) != RDS_SEGMENT_EMPTY ) { - GRAAL_SEGMENT_VALUE_TABLE [ Layer ][ Field ] = GsbGetStringValue( FirstWord ); + GRAAL_SEGMENT_VALUE_TABLE [ Layer ][ Field ] = GsbGetStringFloat( FirstWord ); } } @@ -953,7 +953,7 @@ void GsbReadBigViaValue() if ( ( GET_BIGVIA_HOLE_LAYER( Layer, 0 ) != RDS_BIGVIA_HOLE_EMPTY ) || ( GET_TURNVIA_LAYER( Layer, 0 ) != RDS_TURNVIA_EMPTY ) ) { - GRAAL_BIGVIA_VALUE_TABLE [ Layer ][ 0 ] = GsbGetStringValue( FirstWord ); + GRAAL_BIGVIA_VALUE_TABLE [ Layer ][ 0 ] = GsbGetStringFloat( FirstWord ); } FirstWord = GsbGetNextWord( 0, 1 ); @@ -1632,7 +1632,7 @@ void GraalLoadParameters() } GRAAL_RDS_LAMBDA = RDS_LAMBDA / GRAAL_SCALE; - GRAAL_SCALE_X = SCALE_X / GRAAL_SCALE; + GRAAL_SCALE_X = (float)SCALE_X / (float)GRAAL_SCALE; if ( ! KeywordDefined ) { @@ -1767,7 +1767,7 @@ void GraalViewParameters() for ( Layer = 0; Layer < MBK_MAX_LAYER; Layer++ ) { - fprintf( stdout, "\nLayer:%d %s %s %s %d %d", + fprintf( stdout, "\nLayer:%d %s %s %s %e %e", Layer, GRAAL_SEGMENT_NAME_TABLE[ Layer ][0], GRAAL_SEGMENT_NAME_TABLE[ Layer ][1],