@@ -1073,6 +1073,32 @@ public IRubyObject inspect() {
1073
1073
return ObjectSupport .inspect (this , (List ) Collections .singletonList (entry ));
1074
1074
}
1075
1075
1076
+ @ JRubyMethod (name = "add" )
1077
+ public IRubyObject add (final ThreadContext context , final IRubyObject other ) {
1078
+ Ruby runtime = context .runtime ;
1079
+
1080
+ org .bouncycastle .math .ec .ECPoint pointSelf , pointOther , pointResult ;
1081
+
1082
+ Group groupV = this .group ;
1083
+ Point result ;
1084
+
1085
+ ECCurve selfCurve = EC5Util .convertCurve (groupV .getCurve ());
1086
+ pointSelf = EC5Util .convertPoint (selfCurve , asECPoint ());
1087
+
1088
+ Point otherPoint = (Point ) other ;
1089
+ ECCurve otherCurve = EC5Util .convertCurve (otherPoint .group .getCurve ());
1090
+ pointOther = EC5Util .convertPoint (otherCurve , otherPoint .asECPoint ());
1091
+
1092
+ pointResult = pointSelf .add (pointOther );
1093
+ if (pointResult == null ) {
1094
+ newECError (runtime , "EC_POINT_add" );
1095
+ }
1096
+
1097
+ result = new Point (runtime , EC5Util .convertPoint (pointResult ), group );
1098
+
1099
+ return result ;
1100
+ }
1101
+
1076
1102
@ JRubyMethod (name = "mul" , required = 1 , optional = 2 )
1077
1103
public IRubyObject mul (final ThreadContext context , final IRubyObject [] args ) {
1078
1104
Ruby runtime = context .runtime ;
0 commit comments