Search in sources :

Example 46 with BFloat

use of org.ballerinalang.model.values.BFloat in project ballerina by ballerina-lang.

the class AddOperationTest method testFloatAddExpr.

@Test(description = "Test two float add expression")
public void testFloatAddExpr() {
    BValue[] args = { new BFloat(100.0f), new BFloat(200.0f) };
    BValue[] returns = BRunUtil.invoke(result, "floatAdd", args);
    Assert.assertEquals(returns.length, 1);
    Assert.assertSame(returns[0].getClass(), BFloat.class);
    double actual = ((BFloat) returns[0]).floatValue();
    double expected = 300.0f;
    Assert.assertEquals(actual, expected);
}
Also used : BValue(org.ballerinalang.model.values.BValue) BFloat(org.ballerinalang.model.values.BFloat) Test(org.testng.annotations.Test)

Example 47 with BFloat

use of org.ballerinalang.model.values.BFloat in project ballerina by ballerina-lang.

the class FuncInvocationExprTest method testReturnNativeFuncInvocationWithinNativeFuncInvocation.

@Test
public void testReturnNativeFuncInvocationWithinNativeFuncInvocation() {
    BValue[] args = { new BFloat(2) };
    BValue[] returns = BRunUtil.invoke(funcInvocationExpResult, "testReturnNativeFuncInvocationWithinNativeFuncInvocation", args);
    Assert.assertEquals(returns.length, 1);
    Assert.assertSame(returns[0].getClass(), BFloat.class);
    double actual = ((BFloat) returns[0]).floatValue();
    double expected = 2;
    Assert.assertEquals(actual, expected);
}
Also used : BValue(org.ballerinalang.model.values.BValue) BFloat(org.ballerinalang.model.values.BFloat) Test(org.testng.annotations.Test)

Example 48 with BFloat

use of org.ballerinalang.model.values.BFloat in project ballerina by ballerina-lang.

the class SQLDatasource method populatePropertiesMap.

private BMap<String, BRefType> populatePropertiesMap(Struct options) {
    Map<String, Value> dataSourceConfigMap = options.getMapField(Constants.Options.DATASOURCE_PROPERTIES);
    BMap<String, BRefType> mapProperties = null;
    if (dataSourceConfigMap.size() > 0) {
        mapProperties = new BMap<>();
        for (Map.Entry<String, Value> entry : dataSourceConfigMap.entrySet()) {
            Value propValue = entry.getValue();
            BRefType dataValue = null;
            switch(propValue.getType()) {
                case INT:
                    dataValue = new BInteger(propValue.getIntValue());
                    break;
                case FLOAT:
                    dataValue = new BFloat(propValue.getFloatValue());
                    break;
                case BOOLEAN:
                    dataValue = new BBoolean(propValue.getBooleanValue());
                    break;
                case NULL:
                    break;
                default:
                    dataValue = new BString(propValue.getStringValue());
            }
            mapProperties.put(entry.getKey(), dataValue);
        }
    }
    return mapProperties;
}
Also used : BRefType(org.ballerinalang.model.values.BRefType) BString(org.ballerinalang.model.values.BString) BInteger(org.ballerinalang.model.values.BInteger) BFloat(org.ballerinalang.model.values.BFloat) BBoolean(org.ballerinalang.model.values.BBoolean) Value(org.ballerinalang.connector.api.Value) BValue(org.ballerinalang.model.values.BValue) BString(org.ballerinalang.model.values.BString) Map(java.util.Map) BMap(org.ballerinalang.model.values.BMap)

Example 49 with BFloat

use of org.ballerinalang.model.values.BFloat in project ballerina by ballerina-lang.

the class AbstractSQLAction method createProcessedStatement.

private void createProcessedStatement(Connection conn, PreparedStatement stmt, BRefValueArray params, String dataSourceName) {
    if (params == null) {
        return;
    }
    int paramCount = (int) params.size();
    int currentOrdinal = 0;
    for (int index = 0; index < paramCount; index++) {
        BStruct paramStruct = (BStruct) params.get(index);
        if (paramStruct != null) {
            String sqlType = getSQLType(paramStruct);
            BValue value = paramStruct.getRefField(1);
            int direction = getParameterDirection(paramStruct);
            // If the parameter is an array and sql type is not "array" then treat it as an array of parameters
            if (value != null && value.getType().getTag() == TypeTags.ARRAY_TAG && !Constants.SQLDataTypes.ARRAY.equalsIgnoreCase(sqlType)) {
                int arrayLength = (int) ((BNewArray) value).size();
                int typeTag = ((BArrayType) value.getType()).getElementType().getTag();
                for (int i = 0; i < arrayLength; i++) {
                    BValue paramValue;
                    switch(typeTag) {
                        case TypeTags.INT_TAG:
                            paramValue = new BInteger(((BIntArray) value).get(i));
                            break;
                        case TypeTags.FLOAT_TAG:
                            paramValue = new BFloat(((BFloatArray) value).get(i));
                            break;
                        case TypeTags.STRING_TAG:
                            paramValue = new BString(((BStringArray) value).get(i));
                            break;
                        case TypeTags.BOOLEAN_TAG:
                            paramValue = new BBoolean(((BBooleanArray) value).get(i) > 0);
                            break;
                        case TypeTags.BLOB_TAG:
                            paramValue = new BBlob(((BBlobArray) value).get(i));
                            break;
                        default:
                            throw new BallerinaException("unsupported array type for parameter index " + index);
                    }
                    if (Constants.SQLDataTypes.REFCURSOR.equals(sqlType)) {
                        setParameter(conn, stmt, sqlType, paramValue, direction, currentOrdinal, dataSourceName);
                    } else {
                        setParameter(conn, stmt, sqlType, paramValue, direction, currentOrdinal);
                    }
                    currentOrdinal++;
                }
            } else {
                if (Constants.SQLDataTypes.REFCURSOR.equals(sqlType)) {
                    setParameter(conn, stmt, sqlType, value, direction, currentOrdinal, dataSourceName);
                } else {
                    setParameter(conn, stmt, sqlType, value, direction, currentOrdinal);
                }
                currentOrdinal++;
            }
        } else {
            SQLDatasourceUtils.setNullObject(stmt, index);
            currentOrdinal++;
        }
    }
}
Also used : BStruct(org.ballerinalang.model.values.BStruct) BValue(org.ballerinalang.model.values.BValue) BString(org.ballerinalang.model.values.BString) BInteger(org.ballerinalang.model.values.BInteger) BBoolean(org.ballerinalang.model.values.BBoolean) BString(org.ballerinalang.model.values.BString) BStringArray(org.ballerinalang.model.values.BStringArray) BIntArray(org.ballerinalang.model.values.BIntArray) BBlobArray(org.ballerinalang.model.values.BBlobArray) BFloat(org.ballerinalang.model.values.BFloat) BFloatArray(org.ballerinalang.model.values.BFloatArray) BallerinaException(org.ballerinalang.util.exceptions.BallerinaException) BBlob(org.ballerinalang.model.values.BBlob)

Example 50 with BFloat

use of org.ballerinalang.model.values.BFloat in project ballerina by ballerina-lang.

the class Hypot method execute.

public void execute(Context ctx) {
    double a = ctx.getFloatArgument(0);
    double b = ctx.getFloatArgument(1);
    ctx.setReturnValues(new BFloat(Math.hypot(a, b)));
}
Also used : BFloat(org.ballerinalang.model.values.BFloat)

Aggregations

BFloat (org.ballerinalang.model.values.BFloat)158 BValue (org.ballerinalang.model.values.BValue)119 Test (org.testng.annotations.Test)107 BInteger (org.ballerinalang.model.values.BInteger)55 BString (org.ballerinalang.model.values.BString)41 BBoolean (org.ballerinalang.model.values.BBoolean)21 BRefType (org.ballerinalang.model.values.BRefType)7 BStruct (org.ballerinalang.model.values.BStruct)7 BType (org.ballerinalang.model.types.BType)6 BBlob (org.ballerinalang.model.values.BBlob)6 BStringArray (org.ballerinalang.model.values.BStringArray)5 BStructType (org.ballerinalang.model.types.BStructType)4 BIntArray (org.ballerinalang.model.values.BIntArray)4 UnsupportedFieldTypeException (org.ballerinalang.net.grpc.exception.UnsupportedFieldTypeException)4 BallerinaException (org.ballerinalang.util.exceptions.BallerinaException)4 BJSON (org.ballerinalang.model.values.BJSON)3 CompileResult (org.ballerinalang.launcher.util.CompileResult)2 BMap (org.ballerinalang.model.values.BMap)2 BRefValueArray (org.ballerinalang.model.values.BRefValueArray)2 Message (org.ballerinalang.net.grpc.Message)2